版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《程序設(shè)計(jì)基礎(chǔ)》課程設(shè)計(jì)報(bào)告</p><p><b> 設(shè)計(jì)目的</b></p><p> 本課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完《程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)》課程后進(jìn)行的一次全面的綜合練習(xí)。本課程設(shè)計(jì)的目的:</p><p> 1. 鞏固和加深學(xué)生對(duì)C語(yǔ)言課程的基本知識(shí)的理解和掌握<
2、/p><p> 2. 掌握C語(yǔ)言編程和程序調(diào)試的基本技能</p><p> 3. 利用C語(yǔ)言進(jìn)行基本的軟件設(shè)計(jì)</p><p> 4. 掌握書(shū)寫(xiě)程序設(shè)計(jì)說(shuō)明文檔的能力</p><p> 5. 提高運(yùn)用C語(yǔ)言解決實(shí)際問(wèn)題的能力</p><p><b> 二.課程設(shè)計(jì)任務(wù)書(shū)</b></p&
3、gt;<p> 題目:學(xué)院教學(xué)信息管理系統(tǒng)</p><p> 學(xué)院教學(xué)信息管理系統(tǒng),每一條記錄包括一位教師的職工號(hào)、姓名、職稱(chēng)、性別、3門(mén)課程教學(xué)效果、綜合評(píng)分。系統(tǒng)要求實(shí)現(xiàn)以下功能:</p><p> 1、輸入:輸入每一位教師記錄,將其信息寫(xiě)入文件中。</p><p> 2、顯示:顯示每位教師記錄。</p><p>
4、 3、排序:按職工號(hào)或教學(xué)效果綜合評(píng)分進(jìn)行排序,并顯示。</p><p> 4、查找:完成按姓名或職工號(hào)查找教師的相關(guān)記錄,并顯示。</p><p><b> 分步實(shí)施:</b></p><p> 1、初步完成總體設(shè)計(jì),搭好框架,確定人機(jī)對(duì)話(huà)的界面,確定函數(shù)個(gè)數(shù)。</p><p> 2、建立一個(gè)文件,將每位教師的
5、相關(guān)(教學(xué))信息寫(xiě)入文件中并能顯示于屏幕上。</p><p> 3、完成排序(按職工號(hào)、姓名、職稱(chēng)等)、查找等功能。</p><p><b> 要求:</b></p><p> 1、用C語(yǔ)言實(shí)現(xiàn)程序設(shè)計(jì);</p><p> 2、利用結(jié)構(gòu)體數(shù)組或者鏈表實(shí)現(xiàn)教師信息的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);</p><p&
6、gt; 3、系統(tǒng)的各個(gè)功能模塊要求用函數(shù)實(shí)現(xiàn);</p><p> 4、界面友好(良好的人機(jī)交互),程序加必要的注釋。</p><p><b> 三.系統(tǒng)設(shè)計(jì)方案</b></p><p> 用到數(shù)據(jù)結(jié)構(gòu)的定義:在此程序中用到了結(jié)構(gòu)體的定義,結(jié)構(gòu)體數(shù)組的定義以及變量的申明,還用到了外部函數(shù)的申明及調(diào)用。</p><p&g
7、t; 在主函數(shù)中,輸出教師信息的函數(shù)是貫穿在程序始終的,例如要實(shí)現(xiàn)教師的排序這一模塊時(shí),排完序后就需要用輸出信息的函數(shù)來(lái)輸出排序后的信息。這就得需要多個(gè)函數(shù)共同實(shí)現(xiàn)這一個(gè)模塊。</p><p> 此程序的流程:由于系統(tǒng)需要實(shí)現(xiàn)返回主界面的功能,那么在程序的開(kāi)頭就需要使用do....while語(yǔ)句,在do....while語(yǔ)句內(nèi)首先將系統(tǒng)的主界面寫(xiě)下來(lái),然后又要根據(jù)不同的按鍵實(shí)現(xiàn)排序、查找、結(jié)束等功能,這就必須
8、使用switch語(yǔ)句來(lái)實(shí)現(xiàn),由于實(shí)現(xiàn)一個(gè)功能后,還需要跳出此功能進(jìn)入下一個(gè)功能,這樣就要需要使用while語(yǔ)句來(lái)循環(huán),直到用戶(hù)需要返回主界面時(shí)就設(shè)定一個(gè)條件跳出while語(yǔ)句。</p><p><b> 程序流程圖 : </b></p><p><b> 四.調(diào)試分析</b></p><p> ?。?)遇到的問(wèn)題如何解
9、決:在調(diào)試程序的過(guò)程中,遇到的問(wèn)題有些是我和老師交流過(guò)才解決的,但大部分都是自己通過(guò)思考并仔細(xì)推敲書(shū)本的程序后才解決了調(diào)試過(guò)程中出現(xiàn)的問(wèn)題。</p><p> ?。?)程序算法的改進(jìn)設(shè)想;我覺(jué)得在兩個(gè)數(shù)進(jìn)行交換的算法中,應(yīng)該有更簡(jiǎn)便的算法。</p><p> (3)經(jīng)驗(yàn):通過(guò)這次課程設(shè)計(jì),我知道了讀寫(xiě)文件的方法,還知道了一些細(xì)節(jié)問(wèn)題,如:如果要在鍵盤(pán)中輸入一個(gè)字符時(shí),需要以%1s的格式進(jìn)
10、行輸入,這樣就避免了輸入多個(gè)字符。</p><p> 體會(huì):在調(diào)試程序的過(guò)程中,我覺(jué)得自己要善于分析程序的問(wèn)題所在,盡量做到自己獨(dú)立處理問(wèn)題的能力。同時(shí)在調(diào)試程序的過(guò)程中,要有不厭其煩的精神,出現(xiàn)問(wèn)題后不要感到失落,要相信自己一定能攻破難關(guān)。</p><p><b> 五. 用戶(hù)使用說(shuō)明</b></p><p><b> 操作步
11、驟:</b></p><p><b> 開(kāi)始</b></p><p> 此時(shí)要按下Y或y鍵才能進(jìn)入系統(tǒng),如果輸入錯(cuò)誤時(shí),系統(tǒng)會(huì)有提示,并要求重新輸入。</p><p><b> 二、輸入信息</b></p><p> 進(jìn)入此界面時(shí),系統(tǒng)首先提示要輸入教師的個(gè)數(shù),輸入后再輸入教師的
12、具體信息,此時(shí)的界面如下圖:</p><p><b> 三、具體信息</b></p><p> 進(jìn)入此界面后,系統(tǒng)會(huì)提示用戶(hù)需要按下哪些鍵才能執(zhí)行相應(yīng)的功能,如果輸入錯(cuò)誤時(shí),系統(tǒng)會(huì)有提示,并要求重新輸入,此時(shí)的界面如下:</p><p><b> 四、排序</b></p><p> 在進(jìn)入此
13、界面之前,系統(tǒng)會(huì)提示用戶(hù)想要用哪種方式對(duì)教師進(jìn)行排序,如果選擇y或Y時(shí)就會(huì)出現(xiàn)以下的界面(即以總分的方式對(duì)教師進(jìn)行排序),當(dāng)排序完成后,系統(tǒng)會(huì)提示用戶(hù)是否繼續(xù)執(zhí)行此功能,用戶(hù)按系統(tǒng)要求按下指定的鍵后,系統(tǒng)就會(huì)出現(xiàn)相應(yīng)的功能。</p><p><b> 五、查找</b></p><p> 在進(jìn)入此界面之前,系統(tǒng)會(huì)提示用戶(hù)想要用哪種方式對(duì)教師進(jìn)行查找,如果選擇y或Y時(shí)
14、就會(huì)出現(xiàn)以下的界面(即以姓名的方式來(lái)查找教師的相關(guān)信息),當(dāng)查找完成后,系統(tǒng)會(huì)提示用戶(hù)是否繼續(xù)執(zhí)行此功能,用戶(hù)按系統(tǒng)要求按下指定的鍵后,系統(tǒng)就會(huì)出現(xiàn)相應(yīng)的功能。</p><p><b> 六、結(jié)束</b></p><p> 這是結(jié)束系統(tǒng)的界面,按下系統(tǒng)指定的鍵后就可以進(jìn)入此界面。</p><p><b> 六.測(cè)試結(jié)果</
15、b></p><p> (1).輸入n個(gè)教師的信息(n由用戶(hù)輸入):</p><p> (2).輸出n個(gè)教師的信息(n由用戶(hù)輸入):</p><p> (3).根據(jù)教學(xué)效果綜合評(píng)分排序:</p><p> (4).根據(jù)職工號(hào)進(jìn)行排序:</p><p> (5).根據(jù)姓名進(jìn)行查找,而且如果當(dāng)姓名輸入錯(cuò)誤時(shí)
16、會(huì)有提示!</p><p> (6).根據(jù)職工號(hào)進(jìn)行查找,而且如果當(dāng)職工號(hào)輸入錯(cuò)誤時(shí)會(huì)有提示!</p><p> (7).如果在系統(tǒng)開(kāi)始后,沒(méi)有按指定的鍵輸入數(shù)據(jù)時(shí),系統(tǒng)就不會(huì)去實(shí)現(xiàn)相應(yīng)的功能此時(shí)系統(tǒng)會(huì)有提示!并要求重新輸入。</p><p><b> 七.附錄</b></p><p><b> (1)
17、.主函數(shù)</b></p><p> #include<stdio.h></p><p> #include<conio.h></p><p> #include<string.h></p><p> struct teacher</p><p><b>
18、 {</b></p><p><b> int num;</b></p><p> char name[30];</p><p> char competent[30];</p><p> char sex[4];</p><p> float score[3];</
19、p><p> float sum;</p><p><b> };</b></p><p> extern void InPut(struct teacher *p,int n);</p><p> extern void SumofScores(struct teacher *p,int n);</p>
20、<p> extern void OutPut(struct teacher *p,int n);</p><p> extern void ReorderbyScore(struct teacher *p,int n);</p><p> extern void ReorderbyNum(struct teacher *p,int n);</p><
21、;p> extern char InputInformation(void);</p><p> extern void SeacherbyName(struct teacher *p,char teacher[],int n);</p><p> extern void SeacherbyNum(struct teacher *p,int teacher2,int n);&l
22、t;/p><p> extern void FoutPut(struct teacher *p,int n);</p><p> int main()</p><p><b> {</b></p><p> int flag,n;</p><p> int teacher2;</p&g
23、t;<p> char c,selectnum,teacher[10];</p><p> struct teacher tea[80];</p><p><b> do</b></p><p><b> {</b></p><p><b> flag=1;<
24、/b></p><p> /*以下的一部分是系統(tǒng)開(kāi)始的界面*/</p><p> printf("\n\n\n\n\n");</p><p> printf("\t\t*************************************************\n");</p><p>
25、; printf("\t\t*");</p><p> printf("\t\t\t\t\t\t*\n");</p><p> printf("\t\t*");</p><p> printf("\t\t\t\t\t\t*\n");</p><p> p
26、rintf("\t\t*");</p><p> printf("\t\t\t\t\t\t*\n");</p><p> printf("\t\t* welcome to the teachers' educational system\t*\n");</p><p> printf(&qu
27、ot;\t\t*");</p><p> printf("\t\t\t\t\t\t*\n");</p><p> printf("\t\t*");</p><p> printf("\t\t\t\t\t\t*\n");</p><p> printf("\
28、t\t*");</p><p> printf("\t\t\t\t\t\t*\n");</p><p> printf("\t\t*************************************************\n");</p><p> printf("\t\t\tplease i
29、nput y or Y to continue....");</p><p><b> do</b></p><p><b> {</b></p><p> scanf("%1s",&c);</p><p> if(c!='y'&
30、&c!='Y') /*輸入Y或y才能進(jìn)入系統(tǒng)*/</p><p><b> {</b></p><p> printf("You put error!Please input again!\n");</p><p><b> }</b></p><
31、;p> }while(c!='y'&&c!='Y');</p><p> system("cls"); /*清屏*/ </p><p> printf("Please input the number of Teachers:\n");</p><p>
32、; scanf("%d",&n);</p><p> printf("Please input %d teachers' information\n",n);</p><p> printf("Num\tName\tCompetent Sex\tMath English Computer\n");<
33、/p><p> InPut(tea,n); /*調(diào)用輸入數(shù)據(jù)的函數(shù),用來(lái)輸入數(shù)據(jù)并保存在文件中*/</p><p> SumofScores(tea,n); /*調(diào)用計(jì)算綜合評(píng)分的函數(shù),用來(lái)計(jì)算每個(gè)教師的綜合評(píng)分*/</p><p> system("cls"); /*清屏*/
34、 </p><p> printf("\t\t @@@ THE TEACHERS' INFORMATION @@@\n");</p><p> printf("******************************************************************************\
35、n");</p><p> FoutPut(tea,n);/*調(diào)用輸出的函數(shù),用來(lái)讀出文件的信息來(lái)把每個(gè)教師的信息都顯示在屏幕上*/</p><p> printf("******************************************************************************\n\n");</p&g
36、t;<p> selectnum=InputInformation(); /*用來(lái)提示用戶(hù),系統(tǒng)需要按哪些鍵才能實(shí)現(xiàn)相應(yīng)的功能*/</p><p> while(flag)</p><p><b> {</b></p><p> switch(selectnum) </p><p&
37、gt;<b> {</b></p><p><b> case 'a':</b></p><p><b> {</b></p><p> system("cls");/*清屏*/ </p><p><b> do
38、</b></p><p><b> {</b></p><p> printf("Do you want to order teachers' information by scores?Yes,please input y or Y.else order it by course.\n"); /*提示用戶(hù),想要用哪種方法對(duì)
39、教師進(jìn)行排序*/</p><p> scanf("%1s",&c); </p><p> if(c=='y'||c=='Y')</p><p><b> {</b></p><p> system("cls");
40、 /*清屏*/ </p><p> printf("\t\t\t@@@@ ORDERED BY SUM @@@\n");</p><p> printf("******************************************************************************\n");</p>
41、<p> ReorderbyScore(tea,n);/*調(diào)用用綜合評(píng)分排序的函數(shù),用來(lái)給教師排序*/</p><p> OutPut(tea,n); /*調(diào)用輸出的函數(shù),用來(lái)把教師的信息顯示出來(lái)*/</p><p> printf("****************************************************************
42、**************\n\n");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> system("cls"); /*清屏*/
43、 </p><p> printf("\t\t\t@@@@ ORDERED BY NUM @@@\n");</p><p> printf("******************************************************************************\n");</p>&
44、lt;p> ReorderbyNum(tea,n);/* 調(diào)用用職工號(hào)來(lái)排序的函數(shù),用來(lái)給教師排序*/</p><p> OutPut(tea,n); /*調(diào)用輸出的函數(shù),用來(lái)把教師的信息顯示出來(lái)*/</p><p> printf("*******************************************************************
45、***********\n\n");</p><p><b> }</b></p><p> printf("Do you want to continue.Yes,please input y or Y.else,input n or N.\n"); /*提示用戶(hù),是否還要繼續(xù)執(zhí)行此功能*/</p><p>
46、 scanf("%1s",&c); </p><p> }while(c=='y'||c=='Y');</p><p> selectnum=InputInformation(); /*調(diào)用此函數(shù)用來(lái)提示用戶(hù),系統(tǒng)需要按哪些鍵才能實(shí)現(xiàn)相應(yīng)的功能*/</p><p><b> brea
47、k;</b></p><p><b> }</b></p><p><b> case 'b':</b></p><p><b> {</b></p><p> system("cls"); /
48、*清屏*/ </p><p><b> do</b></p><p><b> {</b></p><p> printf("Do you want to seacher teachers' information by name?Yes,please input y or Y.else sea
49、cher it by course.\n");/*提示用戶(hù),想要用哪種方法來(lái)查找教師的相關(guān)信息*/</p><p> scanf("%1s",&c); </p><p> if(c=='y'||c=='Y')</p><p><b> {</b></p&g
50、t;<p> printf("Please input the name who you want to find:\n");</p><p> scanf("%s",teacher);</p><p> SeacherbyName(tea,teacher,n); /*調(diào)用此函數(shù),通過(guò)用姓名的方式來(lái)查找相應(yīng)的教師*/</p
51、><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf("Please input the teachers' num that you want to know:\
52、n");</p><p> scanf("%d",&teacher2);</p><p> SeacherbyNum(tea,teacher2,n); /*調(diào)用此函數(shù),通過(guò)用職工號(hào)的方式來(lái)查找相應(yīng)的教師*/</p><p><b> }</b></p><p> print
53、f("Do you want to continun?Yes,please input Y or y.No,please input N.\n");/*提示用戶(hù),是否還要繼續(xù)執(zhí)行此功能*/</p><p> scanf("%s",&c); </p><p> printf("**********
54、**********************************************************************\n\n");</p><p> printf("********************************************************************************\n\n");</p>
55、<p> }while(c=='y'||c=='Y');</p><p> selectnum=InputInformation(); /*調(diào)用此函數(shù)用來(lái)提示用戶(hù),系統(tǒng)需要按哪些鍵才能實(shí)現(xiàn)相應(yīng)的功能*/</p><p><b> break;</b></p><p><b
56、> }</b></p><p><b> case 'c':</b></p><p><b> {</b></p><p> system("cls"); /*清屏*/ </p><p>&l
57、t;b> flag=0; </b></p><p> selectnum='c';</p><p><b> break;</b></p><p><b> }</b></p><p><b> case 'd':</b&g
58、t;</p><p><b> {</b></p><p> system("cls"); /*清屏*/ </p><p> /*以下的一部分是系統(tǒng)結(jié)束的界面*/</p><p> printf("\n\n\n");</p
59、><p> printf("\t @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");</p><p> printf("\t @\t\t\t\t\t\t\t @\n");</p><p> printf("\t @\t*
60、Thanking for you useing my system! *\t @\n");</p><p> printf("\t @\t *\t\t\t\t\t*\t @\n");</p><p> printf("\t @\t *\t\t\t\t *\t @\n");</p>
61、<p> printf("\t @\t *\t\t\t\t *\t\t @\n");</p><p> printf("\t @\t *\t GOOD BYE!\t *\t \t @\n");</p><p> printf("\t @\t\t *\t\t\t *\t\
62、t @\n");</p><p> printf("\t @\t\t *\t\t *\t\t \t @\n");</p><p> printf("\t @\t\t\t*\t *\t\t\t @\n");</p><p> printf("\t @\t\
63、t\t *\t\t\t\t @\n");</p><p> printf("\t @\t\t\t\t made by LiYan!\t @\n");</p><p> printf("\t @\t\t\t\t\t\t\t @\n");</p><p> printf(&q
64、uot;\t @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");</p><p><b> flag=0;</b></p><p><b> break;</b></p><p><b> }</b><
65、;/p><p><b> default:</b></p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("You has
66、 input an invalid select!Please input again!\n");/*提示用戶(hù),輸入錯(cuò)誤,需要重新輸入*/</p><p> scanf("%1s",&selectnum); </p><p> }while(selectnum!='a'&&selectnum!='b'
67、&&selectnum!='c'&&selectnum!='d');</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> }w
68、hile(selectnum=='c');</p><p><b> return 0;</b></p><p><b> }</b></p><p> (2).調(diào)用用來(lái)輸入數(shù)據(jù)并寫(xiě)入文件的函數(shù):</p><p> #include<stdio.h></p&
69、gt;<p> #include<stdlib.h></p><p> struct teacher</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[30];</p>&
70、lt;p> char competent[30];</p><p> char sex[4];</p><p> float score[3];</p><p> float sum;</p><p><b> };</b></p><p> void InPut(struct
71、teacher *p,int n)</p><p><b> {</b></p><p><b> int i;</b></p><p><b> FILE *fp;</b></p><p> for(i=0;i<n;i++)</p><p&g
72、t; scanf("%d%s%s%s%f%f%f",&p[i].num,p[i].name,p[i].competent,p[i].sex,&p[i].score[0],&p[i].score[1],&p[i].score[2]);</p><p> if((fp=fopen("score.txt","w"))==NU
73、LL)</p><p><b> {</b></p><p> printf("Cant's open file.");</p><p><b> exit(0);</b></p><p><b> }</b></p><
74、p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> fprintf(fp,"%d %s %s %s %.1f %.1f %.1f ",p[i].num,p[i].name,p[i].competent,p[i].sex,p[i].score[0],p[i].score[1],p[i].s
75、core[2]);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><p> (3).調(diào)用用來(lái)輸出數(shù)據(jù)的函數(shù):</p><p> #include<stdio.h></p
76、><p> struct teacher</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[30];</p><p> char competent[30];</p><p
77、> char sex[4];</p><p> float score[3];</p><p> float sum;</p><p><b> };</b></p><p> void OutPut(struct teacher *p,int n)</p><p><b&g
78、t; {</b></p><p><b> int i;</b></p><p> printf("Num\tName\tCompetent\tSex\tMath\tEnglish\tComputer\tSum\n");</p><p> for(i=0;i<n;i++)</p>&l
79、t;p><b> {</b></p><p> printf("%d\t%s\t%s\t\t%s\t%.1f\t%.1f\t%.1f\t\t%.1f\n",p[i].num,p[i].name,p[i].competent,p[i].sex,p[i].score[0],p[i].score[1],p[i].score[2],p[i].sum);</p&
80、gt;<p><b> }</b></p><p><b> }</b></p><p> (4).調(diào)用用來(lái)計(jì)算教師綜合評(píng)分的函數(shù):</p><p> struct teacher</p><p><b> {</b></p><p&
81、gt;<b> int num;</b></p><p> char name[30];</p><p> char competent[30];</p><p> char sex[4];</p><p> float score[3];</p><p> float sum;<
82、;/p><p><b> };</b></p><p> void SumofScores(struct teacher *p,int n)</p><p><b> {</b></p><p><b> int i;</b></p><p> f
83、or(i=0;i<n;i++)</p><p><b> {</b></p><p> p[i].sum=p[i].score[0]+p[i].score[1]+p[i].score[2];</p><p><b> }</b></p><p><b> }</b>
84、;</p><p> (5).調(diào)用用教師的綜合評(píng)分來(lái)排序的函數(shù):</p><p> struct teacher</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[30];</p&g
85、t;<p> char competent[30];</p><p> char sex[4];</p><p> float score[3];</p><p> float sum;</p><p><b> };</b></p><p> void Reorderb
86、yScore(struct teacher *p,int n)</p><p><b> {</b></p><p><b> int i,j;</b></p><p> struct teacher t;</p><p> for(i=0;i<n-1;i++)</p>
87、<p><b> {</b></p><p> for(j=0;j<n-1-i;j++)</p><p><b> {</b></p><p> if(p[j].sum<p[j+1].sum)</p><p><b> {</b></p&g
88、t;<p><b> t=p[j];</b></p><p> p[j]=p[j+1];</p><p><b> p[j+1]=t;</b></p><p><b> }</b></p><p><b> }</b></p&
89、gt;<p><b> }</b></p><p><b> }</b></p><p> (6).調(diào)用用教師的職工號(hào)來(lái)排序的函數(shù):</p><p> struct teacher</p><p><b> {</b></p><p&
90、gt;<b> int num;</b></p><p> char name[30];</p><p> char competent[30];</p><p> char sex[4];</p><p> float score[3];</p><p> float sum;<
91、;/p><p><b> };</b></p><p> void ReorderbyNum(struct teacher *p,int n)</p><p><b> {</b></p><p><b> int i,j;</b></p><p>
92、 struct teacher t;</p><p> for(i=0;i<n-1;i++)</p><p><b> {</b></p><p> for(j=0;j<n-1-i;j++)</p><p><b> {</b></p><p> if
93、(p[j].num>p[j+1].num)</p><p><b> {</b></p><p><b> t=p[j];</b></p><p> p[j]=p[j+1];</p><p><b> p[j+1]=t;</b></p><p&
94、gt;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> (7).調(diào)用用教師的姓名來(lái)查找相應(yīng)信息的函數(shù):</p><p>
95、; struct teacher</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[30];</p><p> char competent[30];</p><p> char sex
96、[4];</p><p> float score[3];</p><p> float sum;</p><p><b> };</b></p><p> void SeacherbyName(struct teacher *p,char teacher[],int n)</p><p>
97、;<b> {</b></p><p> int i,flag=1,t;</p><p> for(i=0;i<n&&flag;i++)</p><p><b> {</b></p><p> if(strcmp(p[i].name,teacher)==0)</
98、p><p><b> {</b></p><p><b> flag=0;</b></p><p><b> t=i;</b></p><p><b> }</b></p><p><b> }</b>&
99、lt;/p><p><b> if(!flag)</b></p><p><b> {</b></p><p> printf("Num\tName\tCompetent\tSex\tMath\tEnglish\tComputer\tSum\n");</p><p> pri
100、ntf("%d\t%s\t%s\t\t%s\t%.1f\t%.1f\t%.1f\t\t%.1f\n",p[t].num,p[t].name,p[t].competent,p[t].sex,p[t].score[0],p[t].score[1],p[t].score[2],p[t].sum);</p><p><b> }</b></p><p>
101、<b> else</b></p><p><b> {</b></p><p> printf("You put error!my system can't find!\n");</p><p><b> }</b></p><p><
102、;b> }</b></p><p> (8).調(diào)用用教師的職工號(hào)來(lái)查找相應(yīng)信息的函數(shù):</p><p> struct teacher</p><p><b> {</b></p><p><b> int num;</b></p><p> c
103、har name[30];</p><p> char competent[30];</p><p> char sex[4];</p><p> float score[3];</p><p> float sum;</p><p><b> };</b></p><
104、;p> void SeacherbyNum(struct teacher *p,int teacher2,int n)</p><p><b> {</b></p><p> int i,flag=1,t;</p><p> for(i=0;i<n&&flag;i++)</p><p>
105、;<b> {</b></p><p> if(p[i].num==teacher2)</p><p><b> {</b></p><p><b> flag=0;</b></p><p><b> t=i;</b></p>&l
106、t;p><b> }</b></p><p><b> }</b></p><p><b> if(!flag)</b></p><p><b> {</b></p><p> printf("Num\tName\tCompete
107、nt\tSex\tMath\tEnglish\tComputer\tSum\n");</p><p> printf("%d\t%s\t%s\t\t%s\t%.1f\t%.1f\t%.1f\t\t%.1f\n",p[t].num,p[t].name,p[t].competent,p[t].sex,p[t].score[0],p[t].score[1],p[t].score[2],p
108、[t].sum);</p><p><b> }</b></p><p><b> else</b></p><p> printf("You put error!my system can't find!\n");</p><p><b> }<
109、;/b></p><p> (9).調(diào)用用來(lái)提示用戶(hù),系統(tǒng)需要按哪些鍵才能實(shí)現(xiàn)相應(yīng)功能的函數(shù):</p><p> #include<stdio.h></p><p> struct teacher</p><p><b> {</b></p><p><b>
110、 int num;</b></p><p> char name[30];</p><p> char competent[30];</p><p> char sex[4];</p><p> float score[3];</p><p> float sum;</p><
111、p><b> };</b></p><p> char InputInformation(void)</p><p><b> {</b></p><p><b> char c;</b></p><p> printf("The teachers
112、39; order by score or num!please input 'a' to enter\n");</p><p> printf("Seacher the teacher who you want!please input 'b' to enter\n");</p><p> printf("Bac
113、k to the main table!please input 'c' to enter\n");</p><p> printf("Exit the system!please input 'd' to enter\n\n");</p><p> printf("please input a task that
114、 you want to accomplish...\n");</p><p> scanf("%1s",&c);</p><p><b> return c;</b></p><p><b> }</b></p><p> (10).調(diào)用輸出的函數(shù),用
115、來(lái)讀出文件的信息來(lái)把每個(gè)教師的信息都顯示在屏幕上:</p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> struct teacher</p><p><b> {</b></p><p>&
116、lt;b> int num;</b></p><p> char name[30];</p><p> char competent[30];</p><p> char sex[4];</p><p> float score[3];</p><p> float sum;</p&
117、gt;<p><b> };</b></p><p> void FoutPut(struct teacher *p,int n)</p><p><b> {</b></p><p><b> int i;</b></p><p><b>
118、FILE *fp;</b></p><p> if((fp=fopen("score.txt","r"))==NULL)</p><p><b> {</b></p><p> printf("Cant's open file.");</p>&
119、lt;p><b> exit(0);</b></p><p><b> }</b></p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> fscanf(fp,"%d%s%s%s%f%f%f&q
120、uot;,&p[i].num,p[i].name,p[i].competent,p[i].sex,&p[i].score[0],&p[i].score[1],&p[i].score[2]);</p><p><b> }</b></p><p> printf("Num\tName\tCompetent\tSex\tMa
121、th\tEnglish\tComputer\tSum\n");</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> printf("%d\t%s\t%s\t\t%s\t%.1f\t%.1f\t%.1f\t\t%.1f\n",p[i].num,p[i
122、].name,p[i].competent,p[i].sex,p[i].score[0],p[i].score[1],p[i].score[2],p[i].sum);</p><p> printf("\n");</p><p><b> }</b></p><p><b> }</b></
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學(xué)信息管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告課程信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告----學(xué)生信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---職工信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---車(chē)票信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---學(xué)生信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---學(xué)生信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告----職工信息管理系統(tǒng)設(shè)計(jì)
- 圖書(shū)信息管理系統(tǒng)——c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c語(yǔ)言圖書(shū)信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—圖書(shū)信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—圖書(shū)信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—圖書(shū)信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論