C語言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第1頁
C語言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第2頁
C語言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第3頁
C語言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第4頁
C語言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告一、設(shè)計(jì)目的:學(xué)生信息包括:學(xué)號、姓名、性別、系名、班級名、出生年月、住址、電話號 碼。設(shè)計(jì)一學(xué)生信息管理系統(tǒng),使之能提供以下功能:1 .系統(tǒng)以菜單方式工作;2 .學(xué)生信息錄入功能(輸入);3 .學(xué)生信息瀏覽功能(輸出);4 .學(xué)生信息檢索功能;5 .學(xué)生信息的刪除與修改功能;二、總體設(shè)計(jì)思路:1程序設(shè)計(jì)組成框圖2>N-S流程圖三、詳細(xì)設(shè)計(jì)說明:1>頭文件#include <>#include<>#include<>#include<>2>數(shù)入口說明main();主函數(shù);void menu();主菜單界面;

2、void add();添加新的學(xué)生信息;void print(int i);打印學(xué)生信息;void scan(); 查找學(xué)生信息;void res();檢索學(xué)生信息界面;void res_name();按姓名檢索;void res_num(); 按學(xué)號檢索;void del(int i); 刪除學(xué)生信息;void modify(int i);修改學(xué)生信息;void fileopen();打開文件;void filesave();保存文件;2>調(diào)用關(guān)系add()fileopen()add() V()menu()scan() J res()(add()j menu() J menu()mai

3、n() jfmodify(inti)del(inti)八 menu()res_name()res() ,filesave(res_num(4.調(diào)試與測試:編譯工具C+福序設(shè)計(jì)學(xué)習(xí)與實(shí)驗(yàn)系統(tǒng)+均通過調(diào)試!主菜單添加新的學(xué)生信息瀏覽所有學(xué)生信息檢索信息庫繼續(xù)查找下一條修改學(xué)生信息刪除信息庫所有記錄五、調(diào)試中所遇到的問題及解決方法1問題:程序退出后,再次打開,上次輸入的數(shù)據(jù)無法保存。解決:調(diào)用fileopen() 與filesave() 保存文件數(shù)據(jù),方便第二次打開程序時仍能調(diào)用上 次輸入的數(shù)據(jù)。2問題:跳出的界面與選擇分支中的對應(yīng)項(xiàng)不符合。解決:改getchar()為getch(),頭文件中加”.

4、因?yàn)間etchar()從輸入輸出流中一次只 能讀取一個字符,而且需要以回車來確認(rèn)輸入。本文件中多次用到getchar(),鍵盤緩沖區(qū)的n '會被下次調(diào)用getchar()時接收。而getch()則不會,從鍵盤上讀入一個數(shù)據(jù),不 給回顯,不需要回車確認(rèn),按下鍵就實(shí)現(xiàn)了函數(shù)。3問題:誤輸入 X,導(dǎo)致退出。解決:加標(biāo)志變量flag=1,用while(flag) 循環(huán)switch語句,當(dāng)正確輸入時,flag=1 ,跳 出循環(huán)。4問題:檢索時只能查到第一個學(xué)生信息。解決:定義數(shù)組10g(100)記錄符合的結(jié)構(gòu)體數(shù)組。循環(huán)打印。5問題:不能刷新界面。解決:調(diào)用system( "cls &

5、quot;)清屏函數(shù)。6問題:刪除某項(xiàng)信息,返回主函數(shù)時不能暫停。解決:調(diào)用system( "PAUSE)暫停函數(shù)。六、程序源碼#include ""#include ""#include ""#include "" void menu();printf(" printf(" printf(" printf(" printf(" printf("加新的學(xué)生信息2. 瀏覽所有學(xué)生信息3. 檢索學(xué)生信息4. 保存并退出系統(tǒng)by rlkI n"

6、;);n")n") n") n") n") n")while(flag)n"); um);printf("姓名:");scanf("%s”,&);printf("性別:");scanf("%s”,&stun.sex);printf("系名:");scanf("%s”,&stun.xi);printf("現(xiàn)級名:");scanf("%s”,&stun.ban

7、);scanf("%s”,&stun.birth); printf("住址:");printf("出生年月:");scanf("%s”,&stun.address); printf("電話號碼:");printf("n,添加成功n請選擇:1.繼續(xù)添加n");2.返回主菜單n");n+;printf(" print他 print他 printf(" print他 print他 print他prin tf(" n"); um);姓名:

8、sn",);性別:sn",stui.sex);系名:sn",stui.xi);班級名:%sn",stui.ban);出生年月:sn",stui.birth);住址:sn",stui.address);電話號碼:%sn",stui.tel);n");void scan()單 n");while(flag) switch(getch() 加新的學(xué)生信息2.返回主菜 elsecase '1':flag=0;add();break;case '2':flag=0;

9、menu();break;default:printf("錯誤!請重新輸入.n");*n",n);for(i=0;i<n;i+)print(i);printf(" 請選擇:1.檢索信息庫2.添加新的學(xué)生信息n");printf("3.while(flag) switch(getch()case '1':flag=0;res();break;case '2':flag=0;add();break;case '3':flag=0;printf("n!錄!n");刪除

10、所有記錄4.返回主菜單n");告:您將刪除信息庫所有記flag=1; while(flag) switch(getch() 請選擇:1.確認(rèn)刪除2.返回n");case '1':flag=0;n=0;printf("除!n");system("PAUSE");scan();break;,已刪case '2':flag=0;scan();default:printf(" 錯誤!請重新輸入.n");break;case '4':flag=0;menu();break;de

11、fault:printf(" 錯誤!請重新輸入.n");void modify(int i)4.系名n");printf(" 5.printf("- while(flag)號2.姓名3.性別班級名6.出生年月7.住址8.電話號碼n");n");case'1':flag=0;printf("請重新輸入號:");scanf("%s”,&stui.num);break;請重新輸case'2':flag=0;printf("名:");scanf

12、("%s”,&);break;入case'3':flag=0;printf("別:");scanf("%s”,&stui.sex);break;請重新輸入case'4':flag=0;printf("名:");scanf("%s”,&stui.xi);break;請重新輸入case'5':flag=0;printf("請 重 新 輸名:");scanf("%s”,&stui.ban);break;c

13、ase '6':flag=0;printf("請重新輸入出生年月:");scanf("%s”,&stui.birth);break;case '7':flag=0;printf("請重新輸入住址:");scanf("%s”,&stui.address);break;case '8':flag=0;printf("請 It 新輸入電話號碼:");scanf("%s”,&stui.tel);break;default:printf(&qu

14、ot;錯誤!請重新輸入.");入班switch(getch()printf(",修改成功!n修改后的學(xué)生信息:n");學(xué) 姓 性 系 級print(i);3.system("PAUSE");printf(" 請選擇:1.繼續(xù)修改此學(xué)生信息2.查看下一條相關(guān)信息 返回主菜單n");flag=1;while(flag)switch(getch()case '1':flag=0;modify(i);break;case '2':flag=0;break;case '3':flag=0

15、;menu();default:printf("錯誤!請重新輸入.n");void del(int i)printf("n2.while(flag)switch(getch()case '1':不刪除,續(xù)刪除) 返回主菜單n");flag=0;for(a=i;a<n-1;a+)um,stua+1.num);strcpy(,stua+1.name);strcpy(stua.sex,stua+1.sex);strcpy(stua.xi,stua+1.xi);strcpy(stua.ban,stua+1.ban);str

16、cpy(stua.birth,stua+1.birth);strcpy(stua.address,stua+1.address);strcpy(stua.tel,stua+1.tel);n-;printf(",刪除成功!n");; menu();n");void res_num()um,xh)續(xù)查找2一返回主菜單n");while(flag)switch(getch()case '1':flag=0;res();break;case '2':flag=0;menu();break;default:printf("

17、 錯誤!請重新輸入.n");elseprintf("n在信息庫中共找到舔相關(guān)信息.n",j);for(i=0;i<j;i+)flag=1;printf("n第族 n”,i+1);print(logi);printf("n*n");請選擇:1.修改此學(xué)生信息2,刪除此學(xué)生信息n");printf(" 3.繼續(xù)查找下一條4.返回主菜單n");while(flag)switch(getch()case '1':flag=0;modify(logi);break;case '2

18、9;:flag=0;del(logi);break;case '3':flag=0;break;case '4':flag=0;menu();break;default:printf(" 錯誤!請重新輸入.n");printf("n已到最后一條相關(guān)信息.n");system("PAUSE");menu();void res_name()ame,mz)續(xù)查找2一返回主菜單n");while(flag)switch(getch()case '1':flag=0;res();brea

19、k;case '2':flag=0;menu();break;default:printf(" 錯誤!請重新輸入.n");elseprintf("n在信息庫中共找到舔相關(guān)信息.n",j);for(i=0;i<j;i+)flag=1;printf("n第族 n”,i+1);print(logi);printf("n*n");請選擇:1.修改此學(xué)生信息2.刪除此學(xué)生信息n");printf(" 3.繼續(xù)查找下一條4.返回主菜單n");while(flag)switch(getc

20、h()case '1':flag=0;modify(logi);break;case '2':flag=0;del(logi);break;case '3':flag=0;break;case '4':flag=0;menu();break;default:printf(" 錯誤!請重新輸入.n");n已到最后一條相關(guān)信息.n");system("PAUSE");menu();void res()學(xué)號檢索 n");printf("2.按姓名檢索n");print他3.返回主菜單n");print他 n");while(flag)switch(getch()case '1':flag=0

溫馨提示

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

最新文檔

評論

0/150

提交評論