#班級(jí)信息系統(tǒng)_第1頁(yè)
#班級(jí)信息系統(tǒng)_第2頁(yè)
#班級(jí)信息系統(tǒng)_第3頁(yè)
#班級(jí)信息系統(tǒng)_第4頁(yè)
#班級(jí)信息系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、河南科技學(xué)院新科學(xué)院信工系 c 程序設(shè)計(jì)報(bào)告 題目:班級(jí)檔案管理 學(xué)生姓名:盧艷雯 苗雪琴 張先敏 學(xué)號(hào): 2018010310 2018010314 2018010321 班級(jí):計(jì)科 111 計(jì)科 112 計(jì)科 112 指導(dǎo)老師:陳付貴 日期: 2018.5.31班級(jí)檔案管理系統(tǒng)報(bào)告書(shū)1目的全面熟悉、掌握 C 語(yǔ)言基本知識(shí),掌握 C 程序設(shè)計(jì)中的順序、分 支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)、指針和文件的操作,把編程和實(shí)際結(jié) 合起來(lái),增強(qiáng)對(duì)不同的問(wèn)題運(yùn)用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描 述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方 法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用計(jì)算機(jī)解決實(shí)際

2、問(wèn)題的能力, 規(guī)范編程思想,為以后在專(zhuān)業(yè)課程中應(yīng)用計(jì)算機(jī)系統(tǒng)解決計(jì)算、分析、 實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。2課程設(shè)計(jì)任務(wù)班級(jí)檔案管理系統(tǒng): 對(duì)一個(gè)有 N 個(gè)學(xué)生的班級(jí),通過(guò)該系統(tǒng)實(shí)現(xiàn)對(duì) 該班級(jí)學(xué)生的基本信息進(jìn)行錄入、顯示、修改、刪除、保存等操作的管 理。該系統(tǒng)采用一個(gè)包含 N 個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)均包 括:學(xué)號(hào)、姓名、性別、年齡、備注。該系統(tǒng)顯示這樣的菜單: a 學(xué)生基本信息錄入b 學(xué)生基本信息顯示c 學(xué)生基本信息保存d 學(xué)生基本信息刪除e 學(xué)生基本信息修改 先輸入密碼)f 學(xué)生基本信息查詢- 1 - / 13(1按學(xué)號(hào)查詢(2按姓名查詢(3按性別查詢(4按年齡查詢G

3、退出系統(tǒng);(1執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單; (2將學(xué)生基本信息保存到文件中;(3進(jìn)入系統(tǒng)之前先輸入密碼。3課程設(shè)計(jì)內(nèi)容圖 1 班4、調(diào)試分析 程序調(diào)試是指對(duì)程序的 為了便于查錯(cuò)、閱讀,在學(xué)生信息的錄入學(xué)生信息的顯示Student_new(Show_one(學(xué)生信息的查詢Search(了結(jié)構(gòu)化按姓名查詢name_search(班級(jí)檔案管理系 統(tǒng) Page_title(級(jí)檔案系統(tǒng)模塊圖查錯(cuò)和排錯(cuò)。設(shè)計(jì)該程序的時(shí)候我采用學(xué)生信息的修改Student_deit(學(xué)生信息的刪除Student_del(按學(xué)號(hào)查詢Id_search(按年齡查詢Age_search(按性別查詢Sex_sear

4、ch(序方法編輯,添加了盡可能多的注釋?zhuān)@為我后來(lái)的調(diào)試過(guò)程帶來(lái)了很 多方便。在檢查的過(guò)程中,發(fā)現(xiàn)很多都是因?yàn)樵趯?xiě)完一個(gè)語(yǔ)句時(shí),忘了 加上分號(hào) ;),在用到 scanf 時(shí),忘了寫(xiě)上取地址 &)符號(hào)。過(guò)分重 視分號(hào)的重要性而在 for 、if 、while 語(yǔ)句中畫(huà)蛇添足加分號(hào);在使用 文件的時(shí)候忘記將文件先打開(kāi),對(duì)打開(kāi)的方式與使用的情況不太注意而 造成不匹配;還有漏掉形參的定義使值不能傳遞等等。這些語(yǔ)法錯(cuò)誤有 信息框的提示一般是能夠排除的等低級(jí)錯(cuò)誤。經(jīng)過(guò)仔細(xì)檢查之后進(jìn)行上機(jī)調(diào)試。進(jìn)行編譯,如果在編譯和連接過(guò) 程中發(fā)現(xiàn)錯(cuò)誤,屏幕上顯示了出錯(cuò)信息,根據(jù)提示找到出錯(cuò)的位置,加 以改正,再進(jìn)行編譯如

5、此反復(fù),直到順利通過(guò)編譯和連接為止。在- 2 - / 13 本次實(shí)習(xí)過(guò)程中碰到的編譯、連接的錯(cuò)誤主要有:4.1 、定義變量時(shí)變量不容易聯(lián)系起來(lái),經(jīng)常會(huì)寫(xiě)錯(cuò)變量名,但是在錯(cuò)誤信息的提示 下一般還是很容易找到。但是在寫(xiě)各個(gè)函數(shù)時(shí),發(fā)現(xiàn)一個(gè)變量名,只要 不是全局變量就可以無(wú)數(shù)次定義,只要分開(kāi)在不同的函數(shù)中就可以了。 不過(guò)需要注意的是在定義的時(shí)候有些函數(shù)使用同樣的變量名而表示不同 的作用,因而使用要很小心,定義及定義的位置要特別留意。在編寫(xiě)程 序時(shí)要靜心,才不會(huì)出現(xiàn)低級(jí)錯(cuò)誤。4.2 、語(yǔ)法錯(cuò)誤語(yǔ)法錯(cuò)誤在通過(guò)書(shū)本參考下能夠修改,并且在上機(jī)的錯(cuò)誤提示中得 到修改,但是在使用時(shí)要注意 c 語(yǔ)言與 c+的不同

6、,在主函數(shù)和一些定 義變量跟聲明函數(shù)時(shí)有些不同,這不是語(yǔ)法的錯(cuò)誤,而是作為一個(gè)程序 員必須要注意到的,要體會(huì)兩種語(yǔ)言的區(qū)別。如:注意具體數(shù)據(jù)使用是 有一定的范圍限定。在本次調(diào)試過(guò)程中我還碰到了一些以前上機(jī)過(guò)程中從未碰到過(guò)的錯(cuò) 誤,邏輯上的錯(cuò)誤機(jī)器不易檢查出來(lái),這時(shí)需要對(duì)數(shù)據(jù)結(jié)果進(jìn)行分析。 這種錯(cuò)誤的查找是最難的,需要編程序的人有相當(dāng)?shù)哪托暮图?xì)心去把問(wèn) 題找出來(lái)。這也是本次程序編輯過(guò)程中碰到的最大的難題。因此我使用 的是一個(gè)一個(gè)函數(shù)的檢查,并通過(guò)調(diào)試修改。5程序代碼#include #include #include #include #define M 10int num=-1 。/* 全局變

7、量 */struct studen /* 學(xué)生數(shù),從 STU0 開(kāi)始記錄學(xué)生信息 */long id。/* 學(xué)號(hào) */char name20 。/*姓名 */char sex10。/* 性別 */int age。/* 年齡 */long int password。 /* 密碼 */char note80。/*備注 */- 3 - / 13STUM 。/* 函數(shù)聲明 */void page_title( 。/顯示主菜單void student_new( 。/輸入學(xué)生信息void student_del( 。/刪除學(xué)生信息void student_edit( 。/修改學(xué)生信息void search

8、( 。/查找學(xué)生信息void id_search( 。/按學(xué)號(hào)查詢void name_search(。/按姓名查找void sex_search(。/按性別查找void age_search(。/按年齡查詢void id_sort( 。/按學(xué)號(hào)排序void show(。/顯示學(xué)生記錄/void save( 。void left( 。void page_head1( 。/* 打印表頭 1*/void page_head2( 。/* 打印表頭 2*/int find(long 。/* 按學(xué)號(hào)查找學(xué)生 */void show_one(int。/* 顯示一條記錄 */void input_one(in

9、t 。/* 輸入一個(gè)新學(xué)生的信息 */void in_menu( 。/* 按任意鍵進(jìn)入主菜單 */* 主函數(shù) */void main(while(1page_title(。/* 主菜單 */void page_title(char c。system(cls 。/*清屏 */printf(nn學(xué)生檔案管理系統(tǒng)- 4 - / 13printf(tttt1錄入學(xué)生信息nn 。printf(tttt2顯示學(xué)生信息nn 。printf(tttt3修改學(xué)生信息nn 。printf(tttt4刪除學(xué)生信息nn 。printf(tttt5查詢學(xué)生信息nn 。printf(tttt6保存 nn 。printf(

10、tttt0退出nn 。printf(*nprintf( 請(qǐng)用數(shù)字鍵 0-6選擇操作 :n 。 /*填充程序,完成主菜單顯示 */ c=getchar( 。system(cls 。switch(ccase1:student_new( 。 break 。 case2:id_sort( 。 break 。case3:student_edit( 。 break 。 case4:student_del( 。 break 。 case5:search(。 break 。/case8:save(。 break 。case0:left( 。/* 錄入學(xué)生基本信息 */ void student_new(int

11、 n 。printf( 請(qǐng)輸入學(xué)生的個(gè)數(shù) (1-%d,M 。scanf(%d,&n 。while(!(n0 & nprintf(n 輸入的學(xué)生人數(shù)太多,請(qǐng)重新輸入學(xué)生人數(shù) : 。 scanf (%d,&n 。- 5 - / 13page_head1( 。while(n- num+ 。input_one(num 。/* 刪除學(xué)生基本信息 */void student_del(long id。char c 。int n 。while(1printf( 請(qǐng)輸入你要?jiǎng)h除學(xué)生的學(xué)號(hào) : 。 scanf(%ld,&id 。printf(n 。n=find(id 。if(n!=-1break 。elsesy

12、stem(cls 。page_head2( 。show_one(n 。printf(n 請(qǐng)確認(rèn)刪除嗎?請(qǐng)輸入 Y 或者 N 。c=getch( 。if(Y=c | y=cSTUn=STUnum 。num- 。/* 按學(xué)號(hào)查找學(xué)生 */- 6 - / 13int find(long idint n 。for(n=0 。nif(STUn.id=id return n 。return -1 。/* 輸入一個(gè)新學(xué)生的信息 */void input_one(int nscanf(%ld%s%s%d%ld%s,&STUn.id,STU,STUn.sex,&STU n.age,&STUn.pas

13、sword,STUn.note 。printf(n 。/* 顯示所有記錄 */ void show(int i 。page_head2( 。for(i=0 。 ishow_one(i 。in_menu( 。/* 顯示一條記錄 */void show_one(int nif(strlen(STU=10printf(%ldtt%stt%stt,STUn.id,STU,STUn.sex 。elseprintf(%ldtt%stt%st,STUn.id,STU,STUn.sex 。- 7 - / 13printf(%3dt*tt%stn,STUn.age,STUn.

14、note 。printf(n/*退出 */void left(exit(0 。/* 修改信息 */void student_edit(long n,k=4 。long int h。while(1printf( 請(qǐng)輸入你要修改學(xué)生的學(xué)號(hào) : 。 scanf(%ld,&id 。printf(n 。n=find(id 。 if(n!=-1 break 。elsesystem(cls 。printf( 請(qǐng)輸入學(xué)生的密碼 : 。while(k- scanf(%ld,&h 。 if(h=STUn.passwordpage_head2(。show_one(n。 printf(n 請(qǐng)輸入新的信息

15、 :n 。- 8 - / 13page_head1(。scanf(%ld%s%s%d%ld%s,&STUn.id,STU,STUn.sex,&STU n.age,&STUn.password 。break 。elseprintf( 密碼錯(cuò)誤,請(qǐng)重新輸入 : 。/* 進(jìn)入主菜單 */void in_menu(printf(n 請(qǐng)按任意鍵進(jìn)入主菜單 。getch(。/* 查找學(xué)生信息 */void search(int n 。printf(nn 查詢信息 。printf(tttt1按學(xué)號(hào)查找 :1nn 。printf(tttt2按姓名查找 :2nn 。printf(tttt3按性別查找

16、 :3nn 。printf(tttt4按年齡查找 :4nn 。printf(tttt0 退出 :nn 。printf(*nprintf( 請(qǐng)用數(shù)字鍵 0-4 選擇操作 :n 。scanf(%d,&n 。 switch(n case 1:id_search(。 break 。 case 2:name_search(。 break 。- 9 - / 13 case 3:sex_search(。 break 。case 4:age_search(。 break 。case 0:left(。/* 按學(xué)號(hào)查詢成績(jī) */void id_search(long n 。printf( 請(qǐng)輸入你要

17、查詢學(xué)生的學(xué)號(hào) : 。scanf(%ld,&id 。printf(n 。n=find(id 。if(n!=-1page_head2( 。show_one(n。elseprintf( 不存在該學(xué)號(hào)學(xué)生信息! 。 in_menu( 。/* 按姓名查找學(xué)生信息 */void name_search(char name20 。int n 。printf( 請(qǐng)輸入你要查詢學(xué)生的名字 : 。scanf(%s,&name 。printf(n 。page_head2( 。for(n=0 。 nif(strcmp(name,STU=0- 10 - / 13show_one(n。 in_menu( 。

18、/* 按性別查找學(xué)生信息 */ void sex_search(char n 。printf( 請(qǐng)輸入你要查詢學(xué)生的性別 : 。 scanf(%s,&sex 。printf(n 。 page_head2( 。for(n=0 。n if(strcmp(sex,STUn.sex=0 show_one(n。 in_menu( 。/* 按年齡查詢成績(jī) */ void age_search(int n 。printf( 請(qǐng)輸入你要查詢學(xué)生的年齡 : 。 scanf(%d,&age 。printf(n 。 page_head2( 。for(n=0 。n if(age=STUn.age show_one(n。in_menu( 。- 11 - / 13/* 按學(xué)號(hào)排序顯示 */void id_sort(int i=0 。int n 。long min=STU0.id 。for(i=1 。 iif(STUi.id min=STUi.id 。page_head2( 。for(i=0 。 in=find(min+ 。if(n!=-1i+ 。show_one(n。in_menu( 。/* 打印表頭 2*/void page_head2(printf(*nprintf( 學(xué)號(hào)tt 姓名 tt 性別 t 年齡 t 密碼 (整數(shù)t 備

溫馨提示

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

評(píng)論

0/150

提交評(píng)論