版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課程設(shè)計(jì)(大作業(yè))報(bào)告</p><p> 課程名稱:程序設(shè)計(jì)基礎(chǔ) </p><p> 設(shè)計(jì)題目:學(xué)生成績(jī)記錄薄設(shè)計(jì) </p><p> 院 系:信息技術(shù)學(xué)院 </p><p><b> 班 級(jí):</b></p>
2、;<p> 設(shè) 計(jì) 者: </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 設(shè)計(jì)時(shí)間:2013.7 8.-2013.7.13 </p><p> 課程設(shè)計(jì)(大作業(yè))任務(wù)書<
3、/p><p> 姓 名: 院(系):信息技術(shù)學(xué)院</p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號(hào):</p><p> 任務(wù)起止日期:2013.7 .8-2013.7.13 </p><p><b> 課程設(shè)計(jì)題目:</b></p><p>
4、;<b> 學(xué)生成績(jī)記錄薄設(shè)計(jì)</b></p><p><b> 課程設(shè)計(jì)要求:</b></p><p> 通過課程設(shè)計(jì),進(jìn)一步掌握C語(yǔ)言的語(yǔ)法結(jié)構(gòu),基本流程,更加深入和全面理解所學(xué)的基本概念、基本原理和基本方法。</p><p> 獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實(shí)際問題
5、的能力。提高程序編制、程序調(diào)試及綜合應(yīng)用的能力</p><p> (3)明確課程設(shè)計(jì)的目的,通過布置具有一定難度的,能綜合運(yùn)用所學(xué)知識(shí)的程序設(shè)計(jì)題目。</p><p> (4)程序設(shè)計(jì)經(jīng)過需求分析,明確程序設(shè)計(jì)題目要求,進(jìn)行合理的設(shè)計(jì),編碼階段編出的程序易讀、易懂并具有良好的交互性,界面清晰。測(cè)試階段應(yīng)指導(dǎo)學(xué)生編寫測(cè)試用例,盡量多地找出程序中的錯(cuò)誤,進(jìn)行調(diào)試。</p>&
6、lt;p><b> 工作計(jì)劃及安排: </b></p><p> 第一天的,兩個(gè)人合作選定題目,建立起程序的構(gòu)思圖形,了解題目意思,確立程序的方向,并且查閱一些資料開始構(gòu)建程序。</p><p> 第二天,兩人商量分工合作,確定誰(shuí)寫那段函數(shù),并且在總體思路的框架下,逐步寫程序,并確保證程序無誤。</p><p> 第三天,將小程序
7、合并,進(jìn)行調(diào)試,對(duì)里面出現(xiàn)的問題協(xié)商合作共同解決。</p><p> 第四天,開始寫實(shí)驗(yàn)報(bào)告,對(duì)每次失敗原因進(jìn)行總結(jié),并且整合兩人思想纂寫報(bào)告。</p><p> 第五天,實(shí)訓(xùn)課也接近尾聲,和班上的同學(xué)交流心得體會(huì)。</p><p> 指導(dǎo)教師簽字 </p><p> 2013年 7 月 8日
8、 </p><p> 課程設(shè)計(jì)(大作業(yè))成績(jī)</p><p> 學(xué)號(hào): 姓名: 指導(dǎo)教師:</p><p><b> 課程設(shè)計(jì)題目: </b></p><p><b> 學(xué)生成績(jī)記錄薄設(shè)計(jì)</b></p><p><b> 總結(jié):</b&
9、gt;</p><p> 通過一周C語(yǔ)言課程設(shè)計(jì),不僅增加了我對(duì)C語(yǔ)言學(xué)習(xí)的興趣,還讓我對(duì)C語(yǔ)言有了更深的了解。在這次的實(shí)訓(xùn)中,我們通過自己動(dòng)手查找資料,并自己設(shè)計(jì)程序,還上機(jī)運(yùn)行驗(yàn)證我們的程序。雖然在上機(jī)調(diào)試過程中,我遇到了很多的困難,(比如:很難理解一些邏輯思維上的東西)但通過自己不斷的重新理解和修正,最終還是成功的完成了程序的設(shè)計(jì)。那種喜悅感難以用言語(yǔ)來表達(dá),這讓我感覺到學(xué)習(xí)也可以是快樂的。在這次設(shè)計(jì)我不
10、單單學(xué)習(xí)到了C語(yǔ)言的知識(shí),也學(xué)到了許多計(jì)算機(jī)應(yīng)用基礎(chǔ)知識(shí),對(duì)計(jì)算機(jī)的機(jī)體也有了一個(gè)大體的了解。有許多知識(shí),光靠老師上課所講的和自己看書得到的,還遠(yuǎn)遠(yuǎn)不夠,C語(yǔ)言主要是通過上機(jī)來熟悉并且運(yùn)用的,這次的實(shí)訓(xùn)課讓我深刻的明白了這一點(diǎn)。所以在以后的學(xué)習(xí)生活中,我要經(jīng)常寫程序并上機(jī)進(jìn)行調(diào)試,不斷從中學(xué)習(xí)新的知識(shí)。還有一點(diǎn)就是:不懂就問。遇到難題實(shí)在解決不了的,問老師同學(xué),和同學(xué)共同討論,有合作精神也是很重要的。希望以后還有更多的實(shí)訓(xùn)機(jī)會(huì),讓我得到
11、鍛煉。</p><p><b> 指導(dǎo)教師評(píng)語(yǔ):</b></p><p><b> 成績(jī):</b></p><p> 填表時(shí)間:指導(dǎo)教師簽名</p><p><b> 學(xué)生成績(jī)記錄薄設(shè)計(jì)</b></p><p> 一、課程設(shè)計(jì)目的
12、與要求</p><p><b> 1.課程設(shè)計(jì)目的</b></p><p> ?。?)綜合運(yùn)用之前所學(xué)知識(shí)(選擇控制,循環(huán)控制,數(shù)組,函數(shù),指針,結(jié)構(gòu)體和文件等)來完成一個(gè)簡(jiǎn)單的信息管理程序的設(shè)計(jì)。</p><p> ?。?)充分體現(xiàn)和體會(huì)函數(shù)在程序設(shè)計(jì)中的必要性和實(shí)用性,并反映主函數(shù)main()在程序設(shè)計(jì)中的實(shí)現(xiàn)思路和方法。</p&g
13、t;<p><b> 2. 課程設(shè)計(jì)要求</b></p><p> 設(shè)計(jì)一個(gè)簡(jiǎn)易學(xué)生成績(jī)記錄簿設(shè)計(jì),其中包括:姓名,學(xué)號(hào),C語(yǔ)言成績(jī);</p><p><b> 具體功能:</b></p><p> 1.系統(tǒng)以菜單方式工作</p><p> 2. 創(chuàng)建學(xué)生成績(jī)信息并以磁盤文件
14、保存;</p><p> 3. 讀取磁盤文件并顯示輸出所有學(xué)生的成績(jī);</p><p><b> 4. 查詢學(xué)生成績(jī)</b></p><p> ?。?)按學(xué)號(hào)查詢成績(jī)</p><p> ?。?)學(xué)號(hào)姓名查詢成績(jī)</p><p><b> 5.添加成績(jī)記錄;</b><
15、;/p><p> 6.修改指定姓名或?qū)W號(hào)的學(xué)生的成績(jī)并可存盤;</p><p> 7.顯示輸出60分以下、60~79、80~89、90分以上各分?jǐn)?shù)段的學(xué)生信息。</p><p><b> 總體設(shè)計(jì)</b></p><p> 根據(jù)系統(tǒng)的要求,系統(tǒng)總體設(shè)計(jì)如圖1所示。</p><p><b&
16、gt; 圖1 系統(tǒng)總體結(jié)構(gòu)</b></p><p><b> 三、詳細(xì)設(shè)計(jì)</b></p><p><b> 1、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> #include<stdio.h></p><p> #include<stdlib.h></
17、p><p> #include<string.h></p><p> #include<windows.h></p><p><b> int n=4;</b></p><p> struct student</p><p><b> {</b>
18、</p><p> int num; /*學(xué)號(hào)*/</p><p> char name[10]; /*姓名*/</p><p> float score[3]; /*成績(jī)*/</p><p><b> }</b></p><p><b> 2.函數(shù)說明<
19、;/b></p><p><b> 1.主函數(shù)</b></p><p> main()允許用戶通過菜單進(jìn)行功能選擇,使用相應(yīng)的功能代碼來調(diào)用對(duì)應(yīng)的函數(shù)功能。</p><p> 2.其他部分功能函數(shù)包括</p><p> (1) 將學(xué)生成績(jī)信息保存為文件void save(); </p><
20、;p><b> 算法思想:</b></p><p> ?、俣x指向文件的指針變量;</p><p> ②輸入保存路徑及文件名,打開文件,若不能打開文件給出提示信息;</p><p> ?、蹖⒋嬗袑W(xué)生成績(jī)信息的結(jié)構(gòu)體數(shù)組信息依次保存到文件中。</p><p> (2) 學(xué)生成績(jī)信息錄入函數(shù)void input(
21、)</p><p><b> 算法思想:</b></p><p> ①依次錄入結(jié)構(gòu)體數(shù)組中所包含的各個(gè)成員;</p><p> ?、谥钡捷斎氲慕Y(jié)構(gòu)體成員中信息為4,數(shù)據(jù)輸入結(jié)束;</p><p> ?、鄯祷貙?shí)際錄入的學(xué)生成績(jī)信息數(shù)。</p><p> (3)從文件中讀出學(xué)生成績(jī)信息void
22、output(); </p><p><b> 算法思想:</b></p><p> ?、俣x指向結(jié)構(gòu)體變量的指針和指向文件的指針;</p><p> ?、谳斎胛募穆窂剑蜷_文件,若不能打開文件給出提示信息;</p><p> ③將文件中的信息依次讀出,最后結(jié)構(gòu)體的指針為NULL。</p><
23、;p><b> 3.函數(shù)設(shè)計(jì)</b></p><p> (1)主菜單函數(shù)main()</p><p> 功能:函數(shù)返回值為整數(shù),代表所選的菜單項(xiàng) </p><p> int main ()</p><p><b> {</b></p><p> print
24、f(" ********************************************************* \n");</p><p> printf(" § §\n");</p><p> pr
25、intf("§<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
26、; §\n");</p><p> printf(" § >>歡迎進(jìn)入學(xué)生成績(jī)記錄系統(tǒng)<< §\n");</p><p> printf(" §>>>>>>>>>>>&
27、gt;>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<< §\n");</p><p> printf(" §
28、 §\n");</p><p> printf("§【1】-------------------------- 創(chuàng)建學(xué)生成績(jī)信息 §\n");</p><p> printf(&qu
29、ot; § §\n");</p><p> printf("§【2】-------------------------- 顯示所有學(xué)生成績(jī)信息 §\n");</p><p> p
30、rintf("§ §\n");</p><p> printf("§【3】-------------------------- 添加學(xué)生成績(jī)信息 §\n");</p>&
31、lt;p> printf(" § §\n");</p><p> printf("§【4】-------------------------- 查詢學(xué)生成績(jī)信息 §\n");&l
32、t;/p><p> printf(" § §\n");</p><p> printf("§【5】-------------------------- 修改學(xué)生的信息 §
33、\n");</p><p> printf(" § §\n");</p><p> printf("§【6】-------------------------- 按分?jǐn)?shù)段顯示學(xué)生的信息
34、 §\n");</p><p> printf(" § §\n");</p><p> printf("§【0】-------------------------- 退出
35、 §\n");</p><p> printf(" § §\n");</p><p> printf(" ******************************
36、*************************** \n");</p><p> printf(" 請(qǐng)輸入相應(yīng)菜單編號(hào): ");</p><p><b> }</b></p><p><b> 我負(fù)責(zé)編寫的程序</b></p><p><b>
37、; A.添加學(xué)生信息 </b></p><p> void Addstudent() </p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> struct student s;</p><p>
38、fp=fopen("stu.dat","ab"); </p><p> if((fp=fopen("stu.dat","ab"))==NULL) </p><p> printf("File open error!\n"); </p><p><b>
39、 else </b></p><p><b> {</b></p><p> printf("請(qǐng)輸入所增加學(xué)生的 學(xué)號(hào) 姓名 c語(yǔ)言成績(jī):\n");</p><p> scanf("%d",&s.num ); </p><p> scanf(&quo
40、t;%s",s.name);</p><p> scanf("%f",&s.score[0]);</p><p> fwrite (&s,sizeof(struct student),1,fp);</p><p> fclose(fp);/*關(guān)閉文件*/</p><p><b>
41、 }</b></p><p> printf("寫入成功!\n"); </p><p> }//end function Addstudent;</p><p><b> B.修改學(xué)生成績(jī)</b></p><p> void modify() </p><p&g
42、t;<b> {</b></p><p> int number,i;</p><p> printf("請(qǐng)輸入要修改信息的學(xué)生學(xué)號(hào):"); </p><p> scanf("%d",&number); </p><p> for(i=0;i<n;i++)&
43、lt;/p><p> if(number==stud[i].num) </p><p> break;/*查找判斷*/ </p><p> if(i<n)/*查找判斷*/ </p><p><b> {</b></p><p> printf("請(qǐng)輸入修改后的學(xué)生的信息:&q
44、uot;);</p><p> printf("\n請(qǐng)輸入學(xué)生的c語(yǔ)言成績(jī):"); </p><p> scanf("%f",&stud[i].score[0]); </p><p><b> save();</b></p><p><b> } <
45、/b></p><p><b> else </b></p><p> printf("沒找到該學(xué)生的信息\n"); </p><p> system("paues");system("cls");</p><p><b> }</
46、b></p><p><b> C.查詢學(xué)生成績(jī)</b></p><p> void namecheck(void);</p><p> void scorecheck(void);</p><p> void searchmenu()</p><p> {printf(&quo
47、t; ***** 歡迎進(jìn)入學(xué)生成績(jī)查詢系統(tǒng) ****** \n");</p><p> printf("* 1------------------按姓名查詢成績(jī) * \n");</p><p> printf("* 2-----------------按學(xué)號(hào)查詢成績(jī) * \n");</p><p&g
48、t; printf("* 3-----------------返回上一層 * \n");</p><p> printf("* 4------------------退出 * \n");</p><p> printf(" ************************************
49、* \n");</p><p> printf(" 請(qǐng)輸入相應(yīng)菜單編號(hào): ");</p><p><b> int m;</b></p><p> scanf("%d",&m);</p><p> switch(m)</p>&l
50、t;p><b> {</b></p><p> case 1: namecheck();</p><p> printf("\n");</p><p> system("PAUSE");</p><p> system("CLS");<
51、;/p><p><b> break;</b></p><p> case 2: scorecheck();</p><p> printf("\n");</p><p> system("PAUSE");</p><p> system(&qu
52、ot;CLS");</p><p><b> break;</b></p><p> case 3: main();break;</p><p> case 4: exit(0); break;</p><p><b> }</b></p><
53、p><b> }</b></p><p> void namecheck()</p><p><b> { </b></p><p> char name[10];</p><p> printf("按照姓名查詢請(qǐng)按\n");</p><p&g
54、t; printf("\n請(qǐng)輸入姓名:");</p><p> scanf("%s",&name);</p><p> printf("查詢結(jié)果\n");</p><p> printf("學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p>
55、 if(strcpy(stud[i].name,name))</p><p><b> { </b></p><p> printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);</p><p><b> }</b
56、></p><p><b> }</b></p><p> void scorecheck()</p><p><b> { </b></p><p><b> int b;</b></p><p> printf("按照學(xué)號(hào)查
57、詢請(qǐng)按\n");</p><p><b> {</b></p><p> printf("\n請(qǐng)輸入學(xué)號(hào):");</p><p> scanf("%d",&b);</p><p> printf("查詢結(jié)果\n");</p>
58、;<p> printf("學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p> for(i=0;i<n;i++)</p><p> if(stud[i].num ==b)</p><p><b> { </b></p><p> printf("%d
59、 %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 四、程
60、序清單和執(zhí)行結(jié)果</p><p><b> 1.頭文件</b></p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p> #i
61、nclude<windows.h></p><p><b> int n=4;</b></p><p> struct student</p><p><b> {</b></p><p> int num; /*學(xué)號(hào)*/</p><p>
62、 char name[10]; /*姓名*/</p><p> float score[3]; /*成績(jī)*/</p><p> /******以下是函數(shù)原型*******/ </p><p> void save(void); </p><p> void input(void); </p&g
63、t;<p> void output(void); </p><p> void modify(); /*修改信息*/</p><p> void searchmenu(void); /*查詢信息*/</p><p> void namecheck(void); /*按姓名查詢*/</p>
64、<p> void scorecheck(void); /*按學(xué)號(hào)查詢*/</p><p> void Addstudent(); /*添加信息*/</p><p> void sclsearch(); /*成績(jī)按分?jǐn)?shù)段顯示*/</p><p> 函數(shù)源程序代碼與運(yùn)行結(jié)果</p><p>
65、[1]函數(shù)源程序代碼</p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p> #include<windows.h></p><p>&
66、lt;b> int n=4;</b></p><p> struct student</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[10];</p><p> fl
67、oat score[3];</p><p> }stud[100];</p><p> int i,choose,a,t=0;</p><p> long int num;</p><p> int main ()</p><p><b> { </b></p><p
68、> void save(void);</p><p> void input(void);</p><p> void output(void);</p><p> void modify();</p><p> void searchmenu(void);</p><p> void Addstud
69、ent();</p><p> void sclsearch();</p><p><b> while(1)</b></p><p><b> {</b></p><p> printf(" ******************************************
70、*************** \n");</p><p> printf(" § §\n");</p><p> printf(" §<<<<<<<<<
71、<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>§\n");</p><
72、p> printf(" § >>歡迎進(jìn)入學(xué)生成績(jī)記錄系統(tǒng)<< §\n");</p><p> printf(" §>>>>>>>>>>>>>>>>>>>&g
73、t;>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<< §\n");</p><p> printf(" §
74、 §\n");</p><p> printf(" §【1】-------------------------- 創(chuàng)建學(xué)生成績(jī)信息 §\n");</p><p> printf(" §
75、 §\n");</p><p> printf(" §【2】-------------------------- 顯示所有學(xué)生成績(jī)信息 §\n");</p><p> printf(" §
76、 §\n");</p><p> printf(" §【3】-------------------------- 添加學(xué)生成績(jī)信息 §\n");</p><p> printf(" §
77、 §\n");</p><p> printf(" §【4】-------------------------- 查詢學(xué)生成績(jī)信息 §\n");</p><p> printf(" §
78、 §\n");</p><p> printf(" §【5】-------------------------- 修改學(xué)生的信息 §\n");</p><p> printf(" §
79、 §\n");</p><p> printf(" §【6】-------------------------- 按分?jǐn)?shù)段顯示學(xué)生的信息 §\n");</p><p> printf(" §
80、 §\n");</p><p> printf(" §【0】-------------------------- 退出 §\n");</p><p> printf(" §
81、 §\n");</p><p> printf(" ********************************************************* \n");</p><p> printf(" 請(qǐng)輸入相應(yīng)菜單編號(hào): ");&l
82、t;/p><p> scanf("%d",&a);</p><p><b> switch(a)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p><b&
83、gt; input(); </b></p><p><b> save();</b></p><p><b> break;</b></p><p><b> case 2:</b></p><p><b> output();</b>
84、;</p><p> printf("\n");</p><p> system("PAUSE");</p><p> system("CLS");</p><p><b> break; </b></p><p><b&g
85、t; case 3:</b></p><p> Addstudent();</p><p> printf("\n");</p><p> system("PAUSE");</p><p> system("CLS");</p><p>
86、<b> break;</b></p><p><b> case 4:</b></p><p> searchmenu();</p><p> printf("\n");</p><p> system("PAUSE");</p>&
87、lt;p> system("CLS");</p><p><b> break;</b></p><p><b> case 5:</b></p><p><b> modify();</b></p><p> printf("\n
88、");</p><p> system("PAUSE");</p><p> system("CLS");</p><p><b> break;</b></p><p><b> case 6:</b></p><p&g
89、t; sclsearch();</p><p> printf("\n");</p><p> system("PAUSE");</p><p> system("CLS");</p><p><b> break;</b></p>&l
90、t;p> case 0:exit(0);</p><p> default: ;</p><p><b> }</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b
91、> }</b></p><p> void save()</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> if ((fp=fopen("stu.dat","wb"))==
92、NULL)/*以只寫的方式打開文件*/</p><p><b> {</b></p><p> printf("無法打開文件!\n");</p><p><b> return ;</b></p><p><b> }</b></p>
93、<p> for(i=0;i<n;i++)</p><p> if (fwrite (&stud[i],sizeof(struct student),1,fp)!=1)/*寫入字節(jié)為1的信息在文件中*/</p><p> printf("文件寫入錯(cuò)誤!\n");</p><p> fclose(fp);/*關(guān)閉文件
94、*/</p><p><b> }</b></p><p> void input()//錄入學(xué)生成績(jī)</p><p><b> {</b></p><p><b> int i;</b></p><p><b> char a;&l
95、t;/b></p><p> for(i=0;i<n;i++) </p><p><b> {</b></p><p> printf("\n 請(qǐng)輸入學(xué)生成績(jī)信息:\n");</p><p> printf("\n請(qǐng)依次輸入 學(xué)號(hào)、姓名、c
96、語(yǔ)言成績(jī):\n");</p><p> scanf("%d%s%f",&stud[i].num,stud[i].name,&stud[i].score[0]);</p><p> printf("輸入:y(繼續(xù)),n(終止)!\n");</p><p> fflush(stdin);</p
97、><p> scanf("%c",&a);</p><p> if(a=='n' || a=='N')</p><p><b> break;</b></p><p><b> }</b></p><p><
98、;b> n=i+1;</b></p><p><b> }</b></p><p> void Addstudent() </p><p><b> {</b></p><p><b> FILE *fp;</b></p><p&
99、gt; struct student s;</p><p> fp=fopen("stu.dat","ab"); </p><p> if((fp=fopen("stu.dat","ab"))==NULL) </p><p> printf("File open err
100、or!\n"); </p><p><b> else </b></p><p><b> {</b></p><p> printf("請(qǐng)輸入所增加學(xué)生的 學(xué)號(hào) 姓名 c語(yǔ)言成績(jī):\n");</p><p> scanf("%d",&a
101、mp;s.num ); </p><p> scanf("%s",s.name);</p><p> scanf("%f",&s.score[0]);</p><p> fwrite (&s,sizeof(struct student),1,fp);</p><p> fclos
102、e(fp);/*關(guān)閉文件*/</p><p><b> }</b></p><p> printf("寫入成功!\n"); </p><p> }//end function Addstudent;</p><p> void output()</p><p><
103、b> {</b></p><p><b> int i;</b></p><p> //float s;</p><p><b> FILE *fp;</b></p><p> if((fp=fopen("stu.dat","rb"
104、))==NULL)</p><p><b> {</b></p><p> printf("cannot open file\n");</p><p><b> exit(0);</b></p><p><b> }</b></p>&
105、lt;p> printf("\n學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p> for(i=0;fread(&stud[i],sizeof(struct student),1,fp)==1;i++)</p><p><b> {</b></p><p> printf(&qu
106、ot;%d %10s % 10.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> n=i;</b></p><p>
107、<b> }</b></p><p> void modify() </p><p><b> {</b></p><p> int number,i;</p><p> printf("請(qǐng)輸入要修改信息的學(xué)生學(xué)號(hào):"); </p><p>
108、scanf("%d",&number); </p><p> for(i=0;i<n;i++)</p><p> if(number==stud[i].num) </p><p> break;/*查找判斷*/ </p><p> if(i<n)/*查找判斷*/ </p><
109、p><b> {</b></p><p> printf("請(qǐng)輸入修改后的學(xué)生的信息:");</p><p> printf("\n請(qǐng)輸入學(xué)生的c語(yǔ)言成績(jī):"); </p><p> scanf("%f",&stud[i].score[0]); </p>
110、;<p><b> save();</b></p><p><b> } </b></p><p><b> else </b></p><p> printf("沒找到該學(xué)生的信息\n"); </p><p> system(&qu
111、ot;paues");system("cls");</p><p><b> }</b></p><p> void namecheck(void);</p><p> void scorecheck(void);</p><p> void searchmenu()</p&g
112、t;<p> {printf(" ***** 歡迎進(jìn)入學(xué)生成績(jī)查詢系統(tǒng) ****** \n");</p><p> printf("* 1------------------按姓名查詢成績(jī) * \n");</p><p> printf("* 2-----------------按學(xué)號(hào)查詢成績(jī) * \n&
113、quot;);</p><p> printf("* 3-----------------返回上一層 * \n");</p><p> printf("* 4------------------退出 * \n");</p><p> printf(" ********
114、***************************** \n");</p><p> printf(" 請(qǐng)輸入相應(yīng)菜單編號(hào): ");</p><p><b> int m;</b></p><p> scanf("%d",&m);</p><p&g
115、t; switch(m)</p><p><b> {</b></p><p> case 1: namecheck();</p><p> printf("\n");</p><p> system("PAUSE");</p><p>
116、 system("CLS");</p><p><b> break;</b></p><p> case 2: scorecheck();</p><p> printf("\n");</p><p> system("PAUSE");</
117、p><p> system("CLS");</p><p><b> break;</b></p><p> case 3: main();break;</p><p> case 4: exit(0); break;</p><p><b>
118、 }</b></p><p><b> }</b></p><p> void namecheck()</p><p><b> { </b></p><p> char name[10];</p><p> printf("按照姓名查詢請(qǐng)按\
119、n");</p><p> printf("\n請(qǐng)輸入姓名:");</p><p> scanf("%s",&name);</p><p> printf("查詢結(jié)果\n");</p><p> printf("學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n&
120、quot;);</p><p> if(strcpy(stud[i].name,name))</p><p><b> { </b></p><p> printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);</p>
121、<p><b> }</b></p><p><b> }</b></p><p> void scorecheck()</p><p><b> { </b></p><p><b> int b;</b></p>&
122、lt;p> printf("按照學(xué)號(hào)查詢請(qǐng)按\n");</p><p><b> {</b></p><p> printf("\n請(qǐng)輸入學(xué)號(hào):");</p><p> scanf("%d",&b);</p><p> printf(&
123、quot;查詢結(jié)果\n");</p><p> printf("學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p> for(i=0;i<n;i++)</p><p> if(stud[i].num ==b)</p><p><b> { </b></p>&
124、lt;p> printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b&g
125、t;</p><p> void sclsearch()</p><p><b> {</b></p><p><b> int i;</b></p><p> printf("90分以上:\n");</p><p> printf("
126、學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> if(stud[i].score[0]>=90)</p><p> printf("%d %s %.2f\n&quo
127、t;,stud[i].num,stud[i].name,stud[i].score[0]);</p><p><b> }</b></p><p> printf("80~89:\n");</p><p> printf("學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p&
128、gt; for(i=0;i<n;i++)</p><p><b> {</b></p><p> if(stud[i].score[0]>=80&&stud[i].score[0]<90)</p><p> printf("%d %s %.2f\n",stud[i].
129、num,stud[i].name,stud[i].score[0]);</p><p><b> }</b></p><p> printf("70~79:\n");</p><p> printf("學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p> for(i=
130、0;i<n;i++)</p><p><b> {</b></p><p> if(stud[i].score[0]>=70&&stud[i].score[0]<80)</p><p> printf("%d %s %.2f\n",stud[i].num,stud[i]
131、.name,stud[i].score[0]);</p><p><b> }</b></p><p> printf("60~69:\n");</p><p> printf("學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p> for(i=0;i<n;i+
132、+)</p><p><b> {</b></p><p> if(stud[i].score[0]>=60&&stud[i].score[0]<70)</p><p> printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[
133、i].score[0]);</p><p><b> }</b></p><p> printf("60分以下:\n");</p><p> printf("學(xué)號(hào) 姓名 c語(yǔ)言成績(jī)\n");</p><p> for(i=0;i<n;i++)</p>
134、;<p><b> {</b></p><p> if(stud[i].score[0]<60)</p><p> printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);</p><p><b>
135、 }</b></p><p><b> }</b></p><p> (1)系統(tǒng)以菜單方式工作</p><p><b> ?。?)學(xué)生成績(jī)錄入</b></p><p> (3)顯示所有學(xué)生成績(jī)</p><p><b> (4)查詢學(xué)生成績(jī)<
136、/b></p><p><b> 按姓名查詢</b></p><p><b> 按學(xué)號(hào)查詢</b></p><p><b> (5)修改學(xué)生成績(jī)</b></p><p> (6)按分?jǐn)?shù)段顯示學(xué)生成績(jī)</p><p><b> 五
137、、調(diào)試與測(cè)試</b></p><p> 我在調(diào)試我編寫的程序當(dāng)中出現(xiàn)了很多問題,比如,按姓名查詢學(xué)生成績(jī)中if(strcpy(stud[i].name,name)),開始我寫成了stud[i].name=name,怎么改都有錯(cuò)誤,無奈之下請(qǐng)教了同學(xué),最后在同學(xué)的幫助下改對(duì)了,原來這需要使用strcpy函數(shù)才能實(shí)現(xiàn)??梢哉f出的問題還是蠻多的。好不容易改對(duì)了一個(gè),有出現(xiàn)了新的錯(cuò)誤,就是輸入姓名后,所有學(xué)
138、生的成績(jī)都顯示了,還把其他學(xué)生的姓名改成了我輸入的那個(gè),最后人真的檢查了一遍才發(fā)現(xiàn)多謝了一條語(yǔ)句for(i=0;i<n;i++)。這些問題還是給我留下了很深的映象,也提醒了我基礎(chǔ)知識(shí)不踏實(shí)的警鐘,所以期末考試之前我一定要好好復(fù)習(xí)了!</p><p><b> 結(jié)語(yǔ)</b></p><p> 通過一周C語(yǔ)言課程設(shè)計(jì),不僅使我們更加牢固地掌握了程序設(shè)計(jì)的知識(shí),也
139、讓自己深刻的認(rèn)識(shí)到自己的不足與缺點(diǎn),有許多知識(shí)都存在不是完全了解及掌握,這一系列的問題通過自己上機(jī)操作已經(jīng)減少了很多。這我明白光靠書本上學(xué)習(xí)的和老師講的是不夠,有許多知識(shí)是需要我們?nèi)?shí)踐才能學(xué)到的(比如:在調(diào)試的過程中我發(fā)現(xiàn)自己在編程這方面的缺點(diǎn)與不足)這不斷完善了自己,也不斷豐富了自己對(duì)于C語(yǔ)言的了解和掌握。而且這讓自己明白和體會(huì)到了C語(yǔ)言其實(shí)具有語(yǔ)句簡(jiǎn)潔,使用靈活,執(zhí)行效率高等特點(diǎn)。與此同時(shí),還讓我明白了不懂就問的重要性。現(xiàn)在的我們
140、總是太過于要面子,羞于問別人,總覺得這個(gè)問題會(huì)不會(huì)太白癡了,別人會(huì)不會(huì)嘲笑我。其實(shí)這些只是我們自己想太多了而已,老師和同學(xué)都很熱情的,他們都很樂意教我們的。有團(tuán)隊(duì)合作的精神也非常的重要,有些問題光靠自己力量做太過于單薄,團(tuán)隊(duì)合作顯得尤為重要。在這次合作中,我從同伴身上學(xué)到了很多自己身上缺少的優(yōu)點(diǎn),比如細(xì)心,我做事有些太過于粗心,總是在一些小的地方不夠認(rèn)真,使程序出現(xiàn)了許多的小錯(cuò)誤,幸好在同伴的幫助順利的解決了這些問題。</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生成績(jī)管理系統(tǒng)-c語(yǔ)言計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告
- 程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)
- vb程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告學(xué)生成績(jī)管理系統(tǒng)
- vb程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告-學(xué)生成績(jī)管理系統(tǒng)
- 程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- vb程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告學(xué)生成績(jī)管理系統(tǒng)
- 計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告
- 程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告書寫要求
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)
- c++程序設(shè)計(jì)課程設(shè)計(jì) ----學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告
- 課程設(shè)計(jì)---學(xué)生成績(jī)記錄簿設(shè)計(jì)
- 學(xué)生成績(jī)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)課程設(shè)計(jì)--時(shí)鐘程序設(shè)計(jì)
- c++程序課程設(shè)計(jì)報(bào)告—學(xué)生成績(jī)管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告-學(xué)生籍貫信息記錄薄
- [vb課程設(shè)計(jì)]學(xué)生成績(jī)處理設(shè)計(jì)報(bào)告
- 程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論