c語言課程設(shè)計(jì)學(xué)生學(xué)分管理程序_第1頁
c語言課程設(shè)計(jì)學(xué)生學(xué)分管理程序_第2頁
c語言課程設(shè)計(jì)學(xué)生學(xué)分管理程序_第3頁
c語言課程設(shè)計(jì)學(xué)生學(xué)分管理程序_第4頁
c語言課程設(shè)計(jì)學(xué)生學(xué)分管理程序_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、程序設(shè)計(jì)基礎(chǔ)實(shí)訓(xùn)項(xiàng)目名稱:學(xué)生學(xué)分管理系 別: 計(jì)算機(jī)工程系專 業(yè): 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)班 級(jí): 0922211學(xué)生姓名: 指導(dǎo)教師: 北 京 信 息 職 業(yè) 技 術(shù) 學(xué) 院2010年 1 月 日一、項(xiàng)目背景介紹(概要介紹此項(xiàng)目設(shè)計(jì)的意義和要求) 本程序?yàn)閷W(xué)生學(xué)分管理系統(tǒng)。本程序根據(jù)現(xiàn)實(shí)中的問題通過c語言形式編程。本程序要求能夠登記學(xué)分,顯示學(xué)分查詢學(xué)分,修改學(xué)分,刪除學(xué)分,統(tǒng)計(jì)學(xué)分。二、程序功能描述:(描述基本程序中每個(gè)函數(shù)的功能,給處各函數(shù)流程圖) 1、登記單流程圖開始輸入數(shù)據(jù)是否繼續(xù)輸入退出否2、顯示學(xué)分流程圖i=1輸出i=2輸出i=3輸出i=n輸出。3、查詢學(xué)分流程圖開始按學(xué)號(hào)查詢按姓名查

2、詢按姓名查詢是否繼續(xù)查詢退出輸出數(shù)據(jù)顯示對(duì)不起沒有該信息是否找到顯示該信息按學(xué)號(hào)查詢按姓名查詢按姓名查詢4、修改信息流程圖開始按學(xué)號(hào)修改按姓名修改按班級(jí)修改是否繼續(xù)修改是退出否重新輸入數(shù)據(jù)5、刪除信息流程圖開始按學(xué)號(hào)刪除按姓名刪除按班級(jí)刪除是否繼續(xù)刪除是退出否6、統(tǒng)計(jì)信息流程圖開始是計(jì)算計(jì)算計(jì)算出結(jié)果是否繼續(xù)統(tǒng)計(jì)否退出需補(bǔ)考專業(yè)課的需補(bǔ)考選修課的需補(bǔ)考基礎(chǔ)課的需補(bǔ)考人文課的需補(bǔ)考實(shí)驗(yàn)課的計(jì)算計(jì)算計(jì)算計(jì)算統(tǒng)計(jì)能夠畢業(yè)的學(xué)生三、設(shè)計(jì)方案介紹 (基本思想函數(shù)調(diào)用的思路介紹)1、主流程圖學(xué)生學(xué)分管理查詢模塊顯示模塊登記模塊修改模塊刪除模塊統(tǒng)計(jì)模塊按學(xué)號(hào)查詢按學(xué)分查詢按班級(jí)查詢按姓名查詢按學(xué)號(hào)修改按學(xué)分

3、修改按班級(jí)修改按學(xué)號(hào)修改按學(xué)分修改按班級(jí)修改姓名班級(jí)基礎(chǔ)課學(xué)分專業(yè)課學(xué)分選修課學(xué)分人文類課程學(xué)分實(shí)驗(yàn)性課程學(xué)分按學(xué)分統(tǒng)計(jì)按班級(jí)統(tǒng)計(jì)按學(xué)號(hào)統(tǒng)計(jì)顯示全部2、界面設(shè)計(jì)(界面設(shè)計(jì),函數(shù)的定義,功能設(shè)計(jì)、,羅列出所有需要解決的問題函數(shù)調(diào)用問題,循環(huán)問題,查找問題,修改問題,查詢問題,刪除問題,比較問題。3、變量定義序號(hào)變量名變量性質(zhì)(局部/全局)功能作用范圍1typedef全局定義結(jié)構(gòu)體類型整體2int全局定義五門課類型整體.char全局定義學(xué)號(hào)班級(jí)姓名類型整體5、函數(shù)調(diào)用的類型四、測(cè)試與分析 (簡(jiǎn)要介紹測(cè)試的作用及意義)測(cè)試可以知道所編寫的程序是否可行,通過實(shí)際的測(cè)試可以找出程序是否符合現(xiàn)實(shí)。通過測(cè)試

4、和反復(fù)修改可以使程序更加人性化。(一)測(cè)試列表 (以表格的形式給出,不少于10個(gè))測(cè)試數(shù)據(jù)或執(zhí)行操作執(zhí)行結(jié)果是否正確測(cè)試人簽名調(diào)用主菜單顯示了主菜單正確 選擇主菜單里的1請(qǐng)輸入學(xué)生學(xué)生信息.正確 輸出有重復(fù)有亂碼否 查詢無否 修改按學(xué)號(hào)修改.是 按學(xué)號(hào)查詢顯示了該信息是 按班級(jí)查詢只顯示里一名同學(xué)的信息否 按學(xué)好刪除刪除成功是 須補(bǔ)考基礎(chǔ)課的所有學(xué)生信息都顯示否 可升學(xué)學(xué)生顯示了該顯示的信息是 (二)測(cè)試結(jié)果分析(根據(jù)以下表格,如實(shí)填寫并簽名)bug個(gè)數(shù)錯(cuò)誤類型錯(cuò)誤原因分析是否修改設(shè)計(jì)者簽名1與count聲名中的類型不匹配少了void count()是2錯(cuò)誤 jia.c 19: 表達(dá)式語法錯(cuò)在

5、 main 函數(shù)中scanf中少了&s是4錯(cuò)誤 jia.c 31: do語句中必須有while關(guān)鍵字在 main 函數(shù)中沒寫while是5錯(cuò)誤 jia.c 30: 未定義的符號(hào)s在 main 函數(shù)中上面沒int i;是6錯(cuò)誤 1.c 335: 表達(dá)式語法錯(cuò)在 count 函數(shù)中switch() 括號(hào)里沒有變量是7五、實(shí)訓(xùn)總結(jié) (總結(jié)實(shí)訓(xùn)過程中的所使用的知識(shí)和已實(shí)現(xiàn)的功能,總結(jié)自己掌握理論知識(shí)和動(dòng)手能力的程度,提出自己的不足之處及改進(jìn)措施)通過這一周的實(shí)訓(xùn)。我們充分運(yùn)用了所學(xué)的東西編出了解決實(shí)際問題的程序。我們運(yùn)用了函數(shù)的調(diào)用,循環(huán),定義,比較,查找,刪除等知識(shí)。通過實(shí)際動(dòng)手,我更加深入的了解了

6、課本上的知識(shí)。同時(shí)提高了我的動(dòng)手能力。實(shí)訓(xùn)中我找到了我許多的不足,以前我遇到不董的就會(huì)直接去問別人,不獨(dú)自思考。試訓(xùn)中我學(xué)會(huì)了獨(dú)自思考和團(tuán)隊(duì)合作。雖然我在編程當(dāng)中遇到許多問題,但經(jīng)過獨(dú)自思考和學(xué)習(xí)解決了問題。最后編出了管理程序。c語言學(xué)生學(xué)分管理程序代碼typedef struct student char num11,name7,class10; int jichu,renwen,xuanxiu,zhuanye,shiyan;stu;stu st37;static int n;void menu();void input();void print();void query();void mo

7、di();void del();void count();main() int s; do menu(); printf(ntttt 請(qǐng)選擇:); scanf(%d,&s); switch(s) case 0:break; case 1:input();break; case 2:print();break; case 3:query();break; case 4:modi();break; case 5:del();break; case 6:count();break; default:printf(選擇無效!); while(s!=0); getch();void menu() clr

8、scr(); printf(ttt*n); printf(ttt*歡迎您的使用*n); printf(ttt*學(xué)生學(xué)分管理程序*n); printf(ttt* 1-登記學(xué)生學(xué)分 *n); printf(ttt* 2-顯示學(xué)生學(xué)分 *n); printf(ttt* 3-查詢學(xué)生學(xué)分 *n); printf(ttt* 4-修改學(xué)生學(xué)分 *n); printf(ttt* 5-刪除學(xué)生學(xué)分 *n); printf(ttt* 6-統(tǒng)計(jì)學(xué)生學(xué)分 *n); printf(ttt* 0-退出 *n); printf(ttt*n); void input() do printf(請(qǐng)輸入學(xué)生信息:學(xué)號(hào) 姓名 班級(jí)

9、 基礎(chǔ)課 專業(yè)課 選修課 人文課 實(shí)驗(yàn)課n); scanf(%s%s%s%d%d%d%d%d,stn.num,,stn.class,&stn.jichu,&stn.zhuanye,&stn.xuanxiu,&stn.renwen,&stn.shiyan); n+; printf(是否繼續(xù)輸入?(n-退出,任意鍵繼續(xù)):); while(getche()!=n); void print() int i; printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); for(i=0;in;i+) printf(%2d %7s %7s %5s %4dt%4d

10、t%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); getch();void menu1() clrscr(); printf(ttt*n); printf(ttt*查詢模塊*n); printf(ttt* 1-按學(xué)號(hào)查詢 *n); printf(ttt* 2-按姓名查詢 *n); printf(ttt* 3-按班級(jí)查詢 *n); printf(ttt* 0-退出 *n); printf(ttt*n);void query1() char s

11、n11; int i; printf(請(qǐng)輸入要查詢的學(xué)號(hào):); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,sti.num)=0) printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); printf(按任意鍵繼續(xù)); break; else printf(n對(duì)

12、不起!沒有該學(xué)號(hào),任意鍵繼續(xù)); getch(); void query2() char sn7; int i; printf(請(qǐng)輸入要查詢的姓名:); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,)=0) printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.

13、shiyan); printf(按任意鍵繼續(xù)); break; else printf(n對(duì)不起!沒有該姓名,任意鍵繼續(xù)); getch();void query3() char sn10; int i; printf(請(qǐng)輸入要查詢的班級(jí):); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,sti.class)=0) printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,st

14、i.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); printf(按任意鍵繼續(xù)); break; else printf(n對(duì)不起!沒有該班,任意鍵繼續(xù)); getch();void query() int s; do menu1(); printf(ntttt 請(qǐng)選擇:); scanf(%d,&s); switch(s) case 0:break; case 1:query1();break; case 2:query2();break; case 3:query3();break; default:printf(選擇無效!); w

15、hile(s!=0); getch();void menu2() clrscr(); printf(ttt*n); printf(ttt*修改模塊*n); printf(ttt* 1-按學(xué)號(hào)修改 *n); printf(ttt* 2-按姓名修改 *n); printf(ttt* 3-按班級(jí)修改 *n); printf(ttt* 0-退出 *n); printf(ttt*n);void modi1() char sn11; int i; printf(請(qǐng)輸入要修改學(xué)分學(xué)生的學(xué)號(hào):); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,sti.num)=0) pr

16、intf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); printf(請(qǐng)輸入學(xué)生學(xué)分信息:學(xué)號(hào) 姓名 班級(jí) 基礎(chǔ)課 專業(yè)課 選修課 人文課 實(shí)驗(yàn)課n); scanf(%s%s%s%d%d%d%d%d,sti.num,,sti.class,&sti.jichu,&sti.zhuanye,&s

17、ti.xuanxiu,&sti.renwen,&sti.shiyan); printf(是否繼續(xù)輸入?(n-退出,任意鍵繼續(xù)):); while(getche()!=n); break; getch();void modi2() char sn7; int i; printf(請(qǐng)輸入要修改學(xué)分學(xué)生的姓名:); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,)=0) printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i

18、+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); printf(請(qǐng)輸入學(xué)生學(xué)分信息:學(xué)號(hào) 姓名 班級(jí) 基礎(chǔ)課 專業(yè)課 選修課 人文課 實(shí)驗(yàn)課n); scanf(%s%s%s%d%d%d%d%d,sti.num,,sti.class,&sti.jichu,&sti.zhuanye,&sti.xuanxiu,&sti.renwen,&sti.shiyan); printf(是否繼續(xù)輸入?(n-退出,任意鍵繼續(xù)):); while(getche()!=n);

19、break; getch();void modi3() char sn10; int i; printf(請(qǐng)輸入要修改學(xué)分學(xué)生的班級(jí):); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,sti.class)=0) printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan

20、); printf(請(qǐng)輸入學(xué)生學(xué)分信息:學(xué)號(hào) 姓名 班級(jí) 基礎(chǔ)課 專業(yè)課 選修課 人文課 實(shí)驗(yàn)課n); scanf(%s%s%s%d%d%d%d%d,sti.num,,sti.class,&sti.jichu,&sti.zhuanye,&sti.xuanxiu,&sti.renwen,&sti.shiyan); printf(是否繼續(xù)輸入?(n-退出,任意鍵繼續(xù)):); while(getche()!=n); break; getch();void modi() int s; do menu2(); printf(ntttt 請(qǐng)選擇:); scanf(%d,&s); switc

21、h(s) case 0:break; case 1:modi1();break; case 2:modi2();break; case 3:modi3();break; default:printf(選擇無效!); while(s!=0); getch();void menu3() clrscr(); printf(ttt*n); printf(ttt*刪除模塊*n); printf(ttt* 1-按學(xué)號(hào)刪除 *n); printf(ttt* 2-按姓名刪除 *n); printf(ttt* 3-按班級(jí)刪除 *n); printf(ttt* 0-退出 *n); printf(ttt*n);vo

22、id del1() char sn11; int i,j; printf(請(qǐng)輸入要?jiǎng)h除學(xué)分學(xué)生的學(xué)號(hào):); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,sti.num)=0) printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); printf(n是否刪除(任意

23、鍵確認(rèn),n取消)); if(getche()!=n); if(i!=n-1); for(j=i;jn-1;j+) stj=stj+1; n-; printf(n該記錄已刪除); getch(); break ; else printf(n對(duì)不起!沒有該學(xué)號(hào),任意鍵繼續(xù));void del2() char sn7; int i,j; printf(請(qǐng)輸入要?jiǎng)h除學(xué)分學(xué)生的姓名:); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,)=0) printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d

24、 %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); printf(n是否刪除(任意鍵確認(rèn),n取消)); if(getche()!=n); if(i!=n-1); for(j=i;jn-1;j+) stj=stj+1; n-; printf(n該記錄已刪除); getch(); break ; else printf(n對(duì)不起!沒有該學(xué)號(hào),任意鍵繼續(xù));void del3() char sn10; int

25、 i,j; printf(請(qǐng)輸入要?jiǎng)h除學(xué)分學(xué)生的班級(jí):); scanf(%s,sn); for(i=0;in;i+) if(strcmp(sn,sti.class)=0) printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); printf(n是否刪除(任意鍵確認(rèn),n取消)); if(getche()

26、!=n); if(i!=n-1); for(j=i;jn-1;j+) stj=stj+1; n-; printf(n該記錄已刪除); getch(); break ; else printf(n對(duì)不起!沒有該學(xué)號(hào),任意鍵繼續(xù));void del() int s; do menu3(); printf(ntttt 請(qǐng)選擇:); scanf(%d,&s); switch(s) case 0:break; case 1:del1();break; case 2:del2();break; case 3:del3();break; default:printf(選擇無效!); while(s!=0);

27、 getch();void menu4() clrscr(); printf(ttt*n); printf(ttt*統(tǒng)計(jì)模塊*n); printf(ttt* 1- 可升學(xué)的學(xué)生 *n); printf(ttt* 2-需補(bǔ)考基礎(chǔ)課的 *n); printf(ttt* 3-需補(bǔ)考專業(yè)課的 *n); printf(ttt* 4-需補(bǔ)考選修課的 *n); printf(ttt* 5-需補(bǔ)考人文課的 *n); printf(ttt* 6-需補(bǔ)考實(shí)驗(yàn)課的 *n); printf(ttt* 0-退出 *n); printf(ttt*n);void count1() int i; printf(n序號(hào)t學(xué)號(hào)t

28、 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); for(i=0;i=60&sti.zhuanye=60&sti.xuanxiu=60&sti.renwen=60&sti.shiyan=60) printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); getch();void count2() int i; printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課

29、t實(shí)驗(yàn)課n); for(i=0;in;i+) if(sti.jichu=60&sti.xuanxiu=60&sti.renwen=60&sti.shiyan=60) printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); getch();void count3() int i; printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); for(i=0;i=60&sti.zhuanye=60&sti.renwen=60&sti.shiyan=60) printf(%2d %7s %7s %5s %4dt%4dt%4dt%4dt%4dn,i+1,sti.num,,sti.class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti.shiyan); getch();void count4() int i; printf(n序號(hào)t學(xué)號(hào)t 姓名t班級(jí)t基礎(chǔ)課t專業(yè)課t選修課t人文課t實(shí)驗(yàn)課n); for(i=0;i=60

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論