學生籍貫信息記錄簿課程報告書_第1頁
學生籍貫信息記錄簿課程報告書_第2頁
學生籍貫信息記錄簿課程報告書_第3頁
學生籍貫信息記錄簿課程報告書_第4頁
學生籍貫信息記錄簿課程報告書_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、合肥學院計算機科學與技術系課程設計報告2013 2014 學年第 2 學期課程面向過程綜合設計課程設計名稱學生籍貫信息記錄簿設計學生姓名 學號專業(yè)班級軟件工程(2)班 指導教師 2014 年 6 月一、需求分析隨著學校辦學規(guī)模的不斷擴大、辦學層次的 多樣化、在校生的不斷增多。開發(fā)這系統(tǒng)可以是教務處老師減輕工作壓力,比較系統(tǒng)的對學生進行管理,加快速度、加強管理,使各項管理更加規(guī)范化 。題目要求設計一個學生籍貫信息記錄簿系統(tǒng),該系統(tǒng)要求對學生籍貫信息進行管理和維護。要求為:(1) 創(chuàng)建信息鏈表并以磁盤文件保存;(2) 讀取磁盤文件并顯示輸出所有學生的籍貫信息;(3) 按學號和姓名查詢籍貫;(4)

2、按籍貫查詢并輸出該籍貫的所有學生;(5) 能添加、刪除和修改學生的籍貫信息;(可選項)2、 系統(tǒng)設計(一) 算法及說明本程序運用c編寫,使用順序表的數(shù)據(jù)結構來實現(xiàn)。程序中定義了一個結構體student。其中在student結構體中包含了學生的基本信息(學生的學號,姓名,性別,年齡,籍貫)。程序還定義了幾個功能函數(shù)(保存、錄入 、顯示、添加、查詢),這五個函數(shù)是彼此相互獨立的功能模塊。(2) 各項功能分析(1) 學生基本信息的錄入:這部分的功能主要包括信息的錄入,首先按程序提示輸入學生的學號,姓名,性別,年齡,籍貫。錄入完畢后,按任意鍵回到菜單,主菜單還有顯示學生的全部信息,按學號查詢學生的籍貫

3、,按姓名查詢學生的籍貫,按籍貫查詢該籍貫的所有學生,添加學生的籍貫信息,退出程序等功能,并且這些函數(shù)用后的信息都會寫到你所指定的文本文件中。(2) 顯示學生信息:此功能將錄入的學生信息獨處,并在屏幕上顯示出來,并且錄入到你所指定的文本文件中。(3) 按學號查詢學生籍貫信息 此功能可以根據(jù)用戶輸入的選擇查出該學生的籍貫信息。(4) 按姓名查詢學生的籍貫信息 此功能可以更具用戶輸入的選擇查出該學生的籍貫信息。(5) 按籍貫查詢學生信息此功能可以根據(jù)你輸入的信息查詢相對應的學生信息。(6) 添加學生信息此功能先輸入添加的學生人數(shù),輸入后根據(jù)提示輸入學生的學號,姓名,年齡,性別,籍貫信息。輸入完成后將

4、將其信息錄入文本文件中。(7) 退出系統(tǒng),結束任務。(三)設計思想:流程圖系統(tǒng)完成功能及功能框圖主要功能如圖所示:(四)設計表示在此文件中主要是定義了類的3個成員函數(shù)(xianshi()、select()、add(),即3種功能。這3個函數(shù)是彼此獨立的功能模塊。2個文件操作函數(shù),保存學生信息函數(shù)(save和打開文件),讀取信息的數(shù)據(jù)函數(shù)。具體介紹如下:成員函數(shù)1.xianshi()此函數(shù)功能是作為顯示學生的所有信息,在其他成員函數(shù)中都有調用顯示函數(shù),輔助其他子函數(shù)的功能。2. select()在本功能中,可對學生進行查詢,按學號和姓名查詢籍貫,按籍貫查詢并輸出該籍貫的所有學生,最后返回管理系統(tǒng)

5、。3.add( ) 本功能函數(shù)的功能是添加一個學生的信息,首先還是先打開用來存放職文件fp,如果打不開則返回,否則進行下面的操作:再打來的文件fp中,輸入你所要添加的新學生的所有信息,當輸入完畢后,關閉文件fp,并返回主界面。文件操作函數(shù)1、save()此函數(shù)功能是定義好一個讀取文件fp的函數(shù),如果fp為空或不存在,則提示錯誤并返回;否則進行下面的操作:學生信息的錄入包括學生的學號,姓名,性別,年齡,籍貫情況;通過scanf 函數(shù)從鍵盤讀入4個學生的數(shù)據(jù),用fprintf函數(shù)輸出學生的信息,再用fscanf函數(shù)從文件夾中讀出這些數(shù)據(jù)。最后關閉fp文件,選擇返回主界面。2、打開文件,讀取信息函數(shù)

6、,同樣作為一個子函數(shù),在信息的查找函數(shù)中對其進行調用,實現(xiàn)學生的信息查找功能。通過實現(xiàn)調用這兩個文件操作函數(shù),是程序更具有簡潔性,不至于太冗雜繁重。 (四)實現(xiàn)過程運行系統(tǒng)時進入主界面。主界面由七項構成分別代表是:顯示、查詢、保存、添加、退出系統(tǒng)。它們分別有各自所代表的操作數(shù)。由用戶輸入操作數(shù)執(zhí)行相應的操作。此功能由switch語句實現(xiàn),當用戶輸入不同的操作數(shù)程序將進入不同的函數(shù)模塊。進入各個函數(shù)后的運作過程在“成員函數(shù)”中已給出。三、學生籍貫信息記錄簿的使用說明(一)學生籍貫信息包括學生學號,學生的姓名,性別,年齡,籍貫情況設計一學生籍貫信息管理系統(tǒng),提供以下功能:1、系統(tǒng)以菜單方式工作2、

7、學生信息錄入功能(學生信息用文件保存)輸入3、學生信息顯示功能輸出4學生信息查詢功能算法查詢方式: 按學號查詢,按姓名查詢,按籍貫查詢。5、學生的信息添加功能。(二)使用本系統(tǒng)是數(shù)據(jù)輸入時的格式要求:按功能要求選項進行選擇,數(shù)據(jù)輸入可以是字符,也可以是字符串。(三)操作過程中要注意的一些方法:一定要按照系統(tǒng)界面的提示進行操作,包括子菜單中的功能選擇。切忌不要隨意的進行操作。如果用戶的輸入操作有誤或者功能不可執(zhí)行,造成系統(tǒng)癱瘓,請關閉程序,重新進行操作。四、系統(tǒng)調試4.1.1 菜單進入系統(tǒng)后即可顯示如下界面。根據(jù)需求選數(shù)字,只需按:數(shù)字+enter即可,但如果輸入錯誤,則會顯示:輸入錯誤,請重新

8、輸入,返回主菜單,并清屏。例如,輸入:8+enter.則會顯示如下界面:4.1.2 顯示所有信息選擇第一個選項后,系統(tǒng)將會讀取磁盤文件D:1.txt 中所保存的信息,并在顯示屏上顯示(如下圖),且會提示輸入任意鍵即可退回主菜單。4.1.2 按學號查詢選擇第二個選項后,系統(tǒng)會系統(tǒng)會先提示:“你要查詢的學生學號是”。輸入學號(例如:1)后鍵入“enter”隨后鍵入任意鍵返回主菜單,繼續(xù)運行程序。4.1.3 按姓名查詢選擇第三個選項后,系統(tǒng)會系統(tǒng)會先提示:“你要查詢的學生姓名是”。隨后鍵入任意鍵返回主菜單,繼續(xù)運行程序。4.1.4 按籍貫查詢選擇第四個選項后,系統(tǒng)會系統(tǒng)會先提示:“你要查詢的學生籍貫

9、是”。隨后鍵入任意鍵返回主菜單,繼續(xù)運行程序。4.1.5 添加學生信息系統(tǒng)先會提示你要輸入的學生數(shù)目。接著會提示要依次輸入那些信息:“請輸入增加學生的姓名、學號、性別、年齡及籍貫”。輸入的信息將會被寫入“D:1.txt”文件中。如下圖:4.1.6 退出系統(tǒng)選擇第七個選項后隨后任意鍵入一個鍵就結束程序。4.2調試小結這個程序算是在所有程序中最基礎的了,但是在做的過程中仍然遇到了很多困難,特別是剛做的那幾天,對著書本去做,基本是在做無用功,讓人很是著急。我前幾天做了好幾個程序,但都一大堆錯誤。比如“無法調用函數(shù)”,“無法讀取文件”,“無法查詢函數(shù)”。但是做了幾天,在問了老師和同學后,我慢慢地摸透了

10、方法,開始重新做,一個功能一個功能的驗證,程序雖簡單,調試過程中總是會出現(xiàn)這樣那樣很多錯誤,例如:少分號,未定義等等。有些錯誤很簡單,自己看一下就可以改出來,但有些錯誤怎么也修改不出來,例如系統(tǒng)顯示無錯誤,可是在運行的時候卻無法執(zhí)行查詢的功能,同學都無法檢測中其中的錯誤,于是就去請教老師,在一處處驗證中,終于解決了這個問題。困擾我一個多星期的程序終于完成了。五、總結學習C語言已經有半個學期了,就向人們所說的那樣,的確不容易學好。我也沒有進行系統(tǒng)設計的實際經驗,一直就是跟著教學計劃按部就班地進行著:上課上機寫實驗報告,一直覺得自己學得不夠好,但通過這次課程設計,我認識到徐好多C語言的內在要素:(

11、1) 程序設計語言是程序設計的工具。這是我通過兩周課程設計深深體會的一點,并且發(fā)現(xiàn)如果想進行有效的進行程序設計,正確地應用程序設計語言表達算法,必須正確地運用程序設計語言,掌握其語法知識。(2) 學習程序必須重視實踐環(huán)節(jié),多讀程序,多編寫程序,多上機實踐。這次的實踐教學使得課堂教學、實踐之間的關系更為緊密。對我的學習有著深遠的影響。 現(xiàn)在我更加熟悉的掌握了Visual C+語言的運用。幫助我熟悉了更多Visual C+語言的功能,提高了我的動手能力,學到了許多解決實際問題的寶貴經驗同時也挖掘出了我們潛在的能力,使我們對自己更有自信,對編程也更有興趣。我相信,只要努力、勤奮、堅持不懈,就沒有什么

12、做不到的事,不能還沒開始就退縮,要勇于拼搏,敢于創(chuàng)新?,F(xiàn)在知道自己還有很多的不足,而且,由于認識的有限,無法去完善現(xiàn)在的程序,導致這個程序有很多功能還沒有實現(xiàn)。對此,自己以后還需要繼續(xù)學習,把它完善。六、參考文獻1 馬安鵬.Visual C+程序設計導學。北京:清華大學出版社,20022 譚浩強,C程序設計(第四版)2 電子書籍. Visual C+技術內幕(第四版).網址:3 Beck Zaratian.Microsoft Visual Visual C+ 6.0程序員指南.希望圖書創(chuàng)作室譯.北京:北京希望電腦公司出品,19984Richard C.L

13、einecker,Tom Archer. Visual C+ 6 寶典.張艷,張謙譯.北京:電子工業(yè)出版社,19995 李強,賈云霞. Visual C+項目開發(fā)實踐.北京:中國鐵道出版社,20046 鄭莉,董淵,張瑞豐.C+語言程序設計.2003.7 H.M.Deitel,P.J.Deitel. Small C+ How to Program.2006.七、源程序設計#include#include#include#include#define N 100void xianshi();void xhselect();void xmselect();void hjselect();void a

14、dd();void save();/*定義結構體*/struct studentchar number20;/*定義學號*/char name20;/*定義姓名*/char sex5; /*定義性別*/char age5;/*定義年齡*/char jiguan20;/*定義籍貫*/;struct student sN;/定義新結構體 student /*主函數(shù)*/int n;void main()int m; int flag=0; system(cls); while(1) printf(n=學生籍貫信息記錄簿=n); printf(*歡迎進入*n); printf( 1、顯示教材信息 n)

15、; printf( 2、按學號查詢籍貫 n); printf( 3、按姓名查詢籍貫 n); printf( 4、按籍貫查詢學生 n);printf( 5、添加學生信息 n); printf( 6、保存學生信息 n);printf( 7、退出管理系統(tǒng) n); printf(-n);printf(請您在上述功能中選擇(1-7):n); printf(你的選擇是:); scanf(%d,&m); system(cls); switch(m)/*選擇結構,選擇各個功能*/ case 1:xianshi();break; case 2:xhselect();break; case 3:xmselect(

16、);break; case 4:hjselect();break; case 5:add();break; case 6:save();break; case 7:flag=1;break; default:printf(輸入錯誤,請重新輸入n); if(flag) break; /*存入信息函數(shù)*/void save() FILE *fp;/*定義文件型指針變量*/ if(fp=fopen(D:1.txt,w)=NULL)/*打開文件,根據(jù)fopen的返回值(fp),判斷該文件是否打開,如果沒有打開,則打印cannot open this file信息,然后退出程序*/ printf(can

17、 not open file); exit(1); int i=0;printf(請輸入要錄入的學生個數(shù):);scanf(%d,&n);for(i=0;in;i+) printf(請輸入學生學號:); scanf(%s,si.number); fprintf(fp, %s,si.number); printf(請輸入學生姓名:); scanf(%s,); fprintf(fp, %s,); printf(請輸入學生性別:); scanf(%s,si.sex); fprintf(fp, %s,si.sex); printf(請輸入學生年齡:); scanf(%s,si

18、.age); fprintf(fp, %s,si.age); printf(請輸入學生籍貫:); scanf(%s,si.jiguan); fprintf(fp, %s,si.jiguan); printf(錄入結束:n); fclose(fp);/*關閉fp指向的文件句柄*/ printf(輸入任意鍵回主菜單:); getch();/*顯示信息函數(shù)*/void xianshi()FILE *fp;if(fp=fopen(D:1.txt,r)=NULL)/*打開文件*/printf(can not open!);exit(1);printf(學號t姓名t性別t年齡t籍貫t n);int i;w

19、hile(fscanf(fp,%s%s%s%s%s,si.number,,si.sex,si.age,si.jiguan)!=EOF)/*從文件中逐個讀取字符直到文件尾*/printf(%st%st%st%st%st,si.number,,si.sex,si.age,si.jiguan); printf(n);fclose(fp);printf(n); printf(輸入任意鍵回主菜單:); getch();/*查詢函數(shù)*/void xhselect() FILE *fp;char num20;int i; system(cls);printf(你要查詢的學生的學號

20、是:n); scanf(%s,num); if(fp=fopen(D:1.txt,r+)=NULL)printf(can not open!);exit(1);while(!feof(fp)fscanf(fp,%st%st%st%st%st,si.number,,si.sex,si.age,si.jiguan); if(strcmp(si.number,num)=0) printf(這個學生的信息為:n); printf(%st%st%st%st%st,si.number,,si.sex,si.age,si.jiguan); printf(按任意鍵返回菜單!n);

21、fclose(fp); getch();void xmselect() FILE *fp;/*打開文件*/char nam20;int i; system(cls); printf(你要查詢的學生的姓名是:n); scanf(%s,nam); if(fp=fopen(D:1.txt,r+)=NULL)printf(can not open!);exit(1);while(!feof(fp)fscanf(fp,%st%st%st%st%st,si.number,,si.sex,si.age,si.jiguan);if(strcmp(,nam)=0)/*判斷字符串比較是

22、否相等*/ printf(這個學生的信息為:n); printf(%st%st%st%st%st,si.number,,si.sex,si.age,si.jiguan); printf(按任意鍵返回菜單!n); fclose(fp); getch();void hjselect() FILE *fp;/*打開文件*/char ji20;int i; system(cls); printf(你要查詢的學生的籍貫是:n); scanf(%s,ji); if(fp=fopen(D:1.txt,r+)=NULL)printf(can not open!);exit(1);while(!feof(fp)fscanf(fp,%st%st%st%st%

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論