版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)</p><p><b> 一設(shè)計(jì)的任務(wù)</b></p><p> 根據(jù)實(shí)用性,我決定設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng).由于自己也是一個(gè)學(xué)生,經(jīng)常跟成績(jī)打交道,以前的成績(jī)自己搞得很亂,每次想找以前的成績(jī)看一下,做個(gè)總結(jié),以便制定新一個(gè)近期計(jì)劃.可是以前的成績(jī)都沒(méi)有系統(tǒng)的管理,所以搞起來(lái)很麻煩,于是決定做一個(gè)學(xué)生成績(jī)管理系統(tǒng).這
2、個(gè)系統(tǒng)實(shí)用性非常強(qiáng),操作起來(lái)也非常簡(jiǎn)單,可以很容易的查找到你所要的信息.例如:如果你要查看某個(gè)學(xué)生的成績(jī),只需要輸入那個(gè)學(xué)生的姓名就可以了,系統(tǒng)會(huì)自動(dòng)打印出該學(xué)生的有關(guān)信息,如學(xué)號(hào),姓名,每一學(xué)科的成績(jī)等,非常簡(jiǎn)潔,一目了然.。</p><p><b> 二設(shè)計(jì)要求</b></p><p> 1. 要求利用C語(yǔ)言面向過(guò)程的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); 2. 突出C
3、語(yǔ)言的函數(shù)特征,以多個(gè)函數(shù)實(shí)現(xiàn)每一個(gè)子功能; 3. 畫出功能模塊圖; 4. 進(jìn)行簡(jiǎn)單界面設(shè)計(jì),能夠?qū)崿F(xiàn)友好的交互; 5. 具有清晰的程序流程圖和數(shù)據(jù)結(jié)構(gòu)的詳細(xì)定義; </p><p> 6. 熟練掌握C語(yǔ)言對(duì)文件的各種操作。</p><p><b> 三設(shè)計(jì)的作用、目的</b></p><p> 通過(guò)程序設(shè)計(jì),提高編程興趣與編程水平
4、。設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng),上學(xué)期的本班的學(xué)習(xí)成績(jī)進(jìn)行管理,可以用數(shù)組設(shè)計(jì)這個(gè)程序,具有查詢和檢索功能,并且能夠?qū)χ付ㄎ募僮?,也可將多個(gè)文件組成一個(gè)文件。通過(guò)對(duì)此程序的設(shè)計(jì)熟練掌握c語(yǔ)言。</p><p><b> 四.總體設(shè)計(jì):</b></p><p><b> 1.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> 設(shè)計(jì)這
5、個(gè)系統(tǒng),我選擇了用結(jié)構(gòu)體來(lái)存放不同類型的數(shù)據(jù).在這個(gè)過(guò)程當(dāng)中,我有打算過(guò)用指針,但由于指針這章節(jié)非常復(fù)雜,而且剛講不久,自己了解的還不夠透切,而且用指針要非常的小心,不然很容易出錯(cuò),對(duì)剛學(xué)不久的同學(xué)來(lái)說(shuō),要查出其中的錯(cuò)誤,也不那么簡(jiǎn)單,所以為了盡量減少發(fā)生錯(cuò)誤,我就沒(méi)有將指針利用到其中.</p><p><b> 2.系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)</b></p><p><
6、b> 3.算法設(shè)計(jì)說(shuō)明</b></p><p> 4,資料庫(kù)里包含有的學(xué)生成績(jī)信息:</p><p> {1,"li",85,86,87,81},</p><p> {2,"zhang",75,76,78,72},</p><p> {3,"wu",65,
7、66,67,69},</p><p> {4,"chen",85,76,71,63},</p><p> {5,"dai",65,68,94,83},</p><p> {6,"hua",64,84,82,86},</p><p> {7,"zhuang"
8、,71,78,68,74},</p><p> {8,"ye",82,83.76,65},</p><p> {9,"zeng",91,83,86,78},</p><p> {10,"wang",68,88,76,95},</p><p><b> 五.詳細(xì)設(shè)計(jì)&
9、lt;/b></p><p> 1.建立主函數(shù)與界面</p><p> #include<stdio.h></p><p> #include<string.h></p><p> #include<stdlib.h></p><p> void interface(
10、);</p><p> void search();</p><p> void insert();</p><p> void dayin();</p><p> void dele();</p><p> void paixu();</p><p> void xuehao();
11、</p><p> void zimu();</p><p> void exit();</p><p> struct student</p><p><b> {</b></p><p><b> int num;</b></p><p>
12、; char name[20];</p><p> int computer;</p><p><b> int math;</b></p><p> int english;</p><p> int physics; </p><p> }stu[10]={{1,"l
13、i",85,86,87,81},</p><p> {2,"zhang",75,76,78,72},</p><p> {3,"wu",65,66,67,69},</p><p> {4,"chen",85,76,71,63},</p><p> {5,"
14、dai",65,68,94,83},</p><p> {6,"hua",64,84,82,86},</p><p> {7,"zhuang",71,78,68,74},</p><p> {8,"ye",82,83.76,65},</p><p> {9,&quo
15、t;zeng",91,83,86,78},</p><p> {10,"wang",68,88,76,95},</p><p><b> };</b></p><p> void main()</p><p><b> {</b></p><
16、p><b> int j,i;</b></p><p> interface();</p><p> for(i=0;i<5;i++)</p><p><b> { </b></p><p> printf(" 請(qǐng)輸入你要進(jìn)行操作的編號(hào),以回車鍵結(jié)束\n&qu
17、ot;);</p><p> scanf("%d",&j);</p><p><b> switch(j)</b></p><p><b> {</b></p><p> case 1: </p><p> search
18、(); </p><p><b> break;</b></p><p><b> case 2:</b></p><p> insert(); </p><p><b> break;</b></p><p><b> case 3
19、:</b></p><p><b> dele(); </b></p><p><b> break;</b></p><p><b> case 4:</b></p><p><b> paixu(); </b></p>
20、<p><b> break;</b></p><p><b> case 5:</b></p><p><b> exit(0);</b></p><p> default:printf("error\n");</p><p><
21、b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void interface()</p><p><b> {</b></p><p> printf(&qu
22、ot; $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");</p><p> printf(" \n"); </p><p
23、> printf(" 學(xué)生成績(jī)管理系統(tǒng) \n");</p><p> printf(" \n"); </p>
24、;<p> printf(" 設(shè)計(jì)者:陳撲梅 \n"); </p><p> printf(" \n"); &
25、lt;/p><p> printf(" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");</p><p> printf("
26、 \n"); </p><p> printf(" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
27、amp;&&&&&&&&&&&&&&& \n"); </p><p> printf(" & & \n&q
28、uot;);</p><p> printf(" & 1,查詢學(xué)生成績(jī); & \n");</p><p> printf(" &
29、 & \n");</p><p> printf(" & 2,插入學(xué)生成績(jī); & \n");</p><p> printf(" &
30、 & \n");</p><p> printf(" & 3,刪除學(xué)生成績(jī); & \n");</p><p> printf("
31、 & & \n");</p><p> printf(" & 4,排序?qū)W生成績(jī); & \n");</p><p>
32、printf(" & & \n");</p><p> printf(" & 5,退出. & \n&qu
33、ot;);</p><p> printf(" & & \n");</p><p> printf(" &&&&&&&&&
34、amp;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& \n");</
35、p><p><b> }</b></p><p> 2,查找學(xué)生成績(jī)資料</p><p> void search()</p><p><b> {</b></p><p><b> int i;</b></p><p>
36、 char stu_name[20];</p><p> printf("請(qǐng)輸入所要查詢的學(xué)生的姓名\n");</p><p> scanf("%s",stu_name);</p><p> for (i=0;i<10;i++)</p><p> if(strcmp(stu_name,st
37、u[i].name)==0)</p><p> printf("學(xué)號(hào):%d,姓名:%s,計(jì)算機(jī):%d,數(shù)學(xué):%d,英語(yǔ):%d,物理:%d\n",stu[i].num,stu[i].name,stu[i].computer,stu[i].math,stu[i].english,stu[i].physics);</p><p><b> }</b>
38、</p><p><b> 3,插入新學(xué)生成績(jī)</b></p><p> void insert()</p><p><b> { </b></p><p><b> int k;</b></p><p> printf("要進(jìn)行插入
39、操作請(qǐng)按1,要查看插入結(jié)果請(qǐng)按2\n");</p><p> scanf("%d",&k);</p><p><b> switch(k)</b></p><p> {case 1:tianjia();break;</p><p> case 2: dayin();break
40、; </p><p><b> } </b></p><p><b> }</b></p><p><b> tianjia()</b></p><p><b> {</b></p>
41、<p><b> int n,z;</b></p><p> for(n=0;n<30;n++) </p><p> if(stu[n].num=='\0')</p><p> { printf("請(qǐng)輸入新學(xué)生的學(xué)號(hào):\n");</p><p> scanf(
42、"%d",&stu[n].num);</p><p> printf("請(qǐng)輸入新學(xué)生的姓名:\n"); </p><p> {scanf("%s",stu[n].name);}</p><p> printf("請(qǐng)輸入新學(xué)生計(jì)算機(jī)的成績(jī):\n"); </p>
43、<p> scanf("%d",&stu[n].computer);</p><p> printf("請(qǐng)輸入新學(xué)生數(shù)學(xué)的成績(jī):\n"); </p><p> scanf("%d",&stu[n].math);</p><p> printf("請(qǐng)輸入新學(xué)生英語(yǔ)的
44、成績(jī):\n"); </p><p> scanf("%d",&stu[n].english);</p><p> printf("請(qǐng)輸入新學(xué)生物理的成績(jī):\n"); </p><p> scanf("%d",&stu[n].physics);</p><p
45、> printf("恭喜插入成績(jī)成功\n");</p><p><b> break;</b></p><p><b> }</b></p><p><b> insert();</b></p><p><b> } </b&
46、gt;</p><p> void dayin()</p><p><b> {</b></p><p><b> int z,i;</b></p><p> for(z=0;z<30;z++) </p><p> if(stu[z].num=='\0
47、')</p><p><b> {</b></p><p> for (i=0;i<z;i++)</p><p> {printf("學(xué)號(hào):%d,姓名:%s,計(jì)算機(jī):%d,數(shù)學(xué):%d,英語(yǔ):%d,物理:%d\n",stu[i].num,stu[i].name,stu[i].computer,stu[i].
48、math,stu[i].english,stu[i].physics);</p><p> printf("\n");</p><p><b> } </b></p><p><b> break; </b></p><p><b> } </b>&
49、lt;/p><p><b> }</b></p><p><b> 4,刪除學(xué)生成績(jī)</b></p><p> void dele()</p><p><b> {</b></p><p> int i,j,k,n;</p><
50、p> for(n=0;n<10;n++)</p><p><b> {</b></p><p> if (stu[n].num=='\0')</p><p><b> {n--;</b></p><p><b> break;</b><
51、;/p><p><b> }</b></p><p><b> }</b></p><p> printf("請(qǐng)輸入要?jiǎng)h除的學(xué)號(hào)\n");</p><p> scanf("%d",&k);</p><p><b>
52、 if(k>n)</b></p><p> printf("輸入錯(cuò)誤\n");</p><p><b> else </b></p><p><b> { </b></p><p> for(j=0;j<9;j++)</p><
53、;p><b> { </b></p><p> if(stu[j].num==k)</p><p><b> {</b></p><p> for(i=j;i<n;i++)</p><p><b> { if(i>k)</b></p>
54、<p> { stu[i].num=stu[i+1].num-1;}</p><p> strcpy(stu[i].name,stu[i+1].name);</p><p> stu[i].computer=stu[i+1].computer;</p><p> stu[i].math=stu[i+1].math;</p><p
55、> stu[i].english=stu[i+1].english;</p><p> stu[i].physics=stu[i+1].physics;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b&g
56、t;</p><p> printf("刪除成功,請(qǐng)看刪除結(jié)果\n");</p><p> for(i=0;i<n-1;i++)</p><p> printf("%d,%s,%d,%d,%d,%d\n",stu[i].num,stu[i].name,stu[i].computer,stu[i].math,stu[
57、i].english,stu[i].physics);</p><p><b> } </b></p><p><b> }</b></p><p><b> 5,排序?qū)W生成績(jī)</b></p><p> void paixu()</p><
58、p><b> {</b></p><p><b> { </b></p><p><b> int i,m;</b></p><p> for(i=0;i<2;i++)</p><p><b> {</b></p>&l
59、t;p> printf("按學(xué)號(hào)排序請(qǐng)按1,按字母排序請(qǐng)按2\n");</p><p> scanf("%d",&m);</p><p><b> switch(m)</b></p><p><b> {</b></p><p> ca
60、se 1:xuehao();break;</p><p> case 2:zimu();break;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b&
61、gt; } </b></p><p> void xuehao()</p><p><b> {</b></p><p> int i,j,t;</p><p> char m[20];</p><p> for(j=0;j<=10;j++)</p>&
62、lt;p> for(i=0;i<9;i++)</p><p> if(stu[i].num>stu[i+1].num)</p><p><b> {</b></p><p> t=stu[i].num;</p><p> stu[i].num=stu[i+1].num;</p>
63、<p> stu[i+1].num=t;</p><p> strcpy(m,stu[i].name);</p><p> strcpy(stu[i].name,stu[i+1].name);</p><p> strcpy(stu[i+1].name,m);</p><p> t=stu[i].computer;<
64、/p><p> stu[i].computer=stu[i+1].computer;</p><p> stu[i+1].computer=t;</p><p> t=stu[i].math;</p><p> stu[i].math=stu[i+1].math;</p><p> stu[i+1].math=t
65、;</p><p> t=stu[i].english;</p><p> stu[i].english=stu[i+1].english;</p><p> stu[i+1].english=t;</p><p> t=stu[i].physics;</p><p> stu[i].physics=stu[
66、i+1].physics;</p><p> stu[i+1].physics=t; </p><p><b> } </b></p><p> for(i=0;i<10;i++)</p><p> printf("%d,%s,%d,%d,%d,%d\n",stu[
67、i].num,stu[i].name,stu[i].computer,stu[i].math,stu[i].english,stu[i].physics);</p><p><b> } </b></p><p> void zimu()</p><p><b> {</b></p><p>
68、 int i,j,t;</p><p> char m[20];</p><p> for(j=0;j<=10;j++)</p><p> for(i=0;i<9;i++)</p><p><b> {</b></p><p> if(strcmp(stu[i].name,
69、stu[i+1].name)>0)</p><p><b> {</b></p><p> t=stu[i].num;</p><p> stu[i].num=stu[i+1].num;</p><p> stu[i+1].num=t;</p><p> strcpy(m,stu[
70、i].name);</p><p> strcpy(stu[i].name,stu[i+1].name);</p><p> strcpy(stu[i+1].name,m);</p><p> t=stu[i].computer;</p><p> stu[i].computer=stu[i+1].computer;</p>
71、;<p> stu[i+1].computer=t;</p><p> t=stu[i].math;</p><p> stu[i].math=stu[i+1].math;</p><p> stu[i+1].math=t;</p><p> t=stu[i].english;</p><p>
72、 stu[i].english=stu[i+1].english;</p><p> stu[i+1].english=t;</p><p> t=stu[i].physics;</p><p> stu[i].physics=stu[i+1].physics;</p><p> stu[i+1].physics=t;</p&
73、gt;<p><b> }</b></p><p><b> }</b></p><p> for(i=0;i<10;i++)</p><p> printf("%s,%d,%d,%d,%d,%d\n",stu[i].name,stu[i].num,stu[i].comput
74、er,stu[i].math,stu[i].english,stu[i].physics);</p><p><b> }</b></p><p><b> 六.調(diào)試分析</b></p><p> 1.當(dāng)系統(tǒng)無(wú)誤,順利進(jìn)入學(xué)生成績(jī)管理系統(tǒng)時(shí),會(huì)看到一個(gè)菜單界</p><p> 菜單界面的最下
75、方有提示操作(請(qǐng)輸入你要進(jìn)行操作的編號(hào),以回車鍵結(jié)束),告訴你如何使用該系統(tǒng)!該系統(tǒng)操作非常簡(jiǎn)單,你所要進(jìn)行的每一步操作它都會(huì)提示你該如何做,就算你是第一次接觸該系統(tǒng),你也可以很順利地利用它完成你所要做的事!</p><p> 例如你按1,過(guò)程及結(jié)果如下: </p><p> 根據(jù)提示按你所要進(jìn)行操作的編號(hào)(按1),然后它會(huì)繼續(xù)提示你(輸入所要查詢的學(xué)生的姓名),當(dāng)你輸入(wang)完
76、畢后,系統(tǒng)會(huì)自動(dòng)把你要查詢的那個(gè)學(xué)生(wang)的資料打印出來(lái),你可以很清楚的看到該學(xué)生(wang)的相關(guān)資料.</p><p> 2,當(dāng)你覺(jué)得當(dāng)前學(xué)生資料不夠完善時(shí),可以按2為它添加新的資料;過(guò)程如下:</p><p> 當(dāng)你插入新生成績(jī)成功時(shí),系統(tǒng)會(huì)有提示(恭喜插入成績(jī)成功);這時(shí),如果你想查看插入結(jié)果,可以按2;結(jié)果如下:</p><p> 這時(shí),系統(tǒng)會(huì)
77、將資料庫(kù)里面的所有資料跟你剛才插入進(jìn)去的新資料一起打印出來(lái);但此時(shí)會(huì)發(fā)現(xiàn)系統(tǒng)有一個(gè)缺點(diǎn),就是我剛才插入進(jìn)去的新學(xué)生成績(jī)信息沒(méi)有繼續(xù)保存下來(lái),此時(shí)要是我按1執(zhí)行查看的時(shí)候,輸入剛才所輸入的新學(xué)生名字luo,系統(tǒng)不輸出luo的信息,這是它的一個(gè)不足之處,以后有時(shí)間我會(huì)將其完善的.</p><p> 該系統(tǒng)不但可以添加新資料,也可以刪除你覺(jué)得沒(méi)用的資料,其操作是按功能選擇鍵3,然后按提示一步一步操作,過(guò)程如下: &
78、lt;/p><p> 刪除之前 </p><p><b> 刪除以后</b></p><p> 可以看到,刪除之后原來(lái)學(xué)號(hào)5之后的學(xué)生成績(jī)資料已經(jīng)向前移動(dòng)一個(gè)位置,自動(dòng)把原來(lái)學(xué)號(hào)5的位置填補(bǔ)上.</p><p> 當(dāng)你想為了工作方便一點(diǎn),要把學(xué)生的資料按一定的要求排序的話,可以按4,過(guò)程及結(jié)果如下:
79、</p><p> 上面第一個(gè)是按學(xué)號(hào)排序的,第二個(gè)是按字母排序的,用戶可以按照自己的要求選擇不同的功能來(lái)實(shí)現(xiàn)自己的目的.</p><p><b> 五,課程設(shè)計(jì)總結(jié)</b></p><p> 通過(guò)做課程設(shè)計(jì),自己的感觸甚多,收獲也很多.發(fā)現(xiàn)自己對(duì)課本知識(shí)的認(rèn)知提升到了一個(gè)新的層次,就好像站在一個(gè)山峰上俯瞰,可以比較系統(tǒng)地,全面的理解課本
80、上的內(nèi)容.過(guò)去覺(jué)得理解得模模糊糊的知識(shí)點(diǎn),現(xiàn)在基本上都可以掌握了.這又一次驗(yàn)證了實(shí)踐能夠反作用于認(rèn)識(shí),只有自己真真正正地動(dòng)手去做了,將自己學(xué)到的,或者是只學(xué)到一半半的課本知識(shí)應(yīng)用到實(shí)際中去,當(dāng)遇到問(wèn)題時(shí),再細(xì)心地,耐心地慢慢去推敲,去查找錯(cuò)誤,看看是哪一步錯(cuò)了,錯(cuò)在哪里.找出問(wèn)題后再翻翻課本,看課本還解決不了問(wèn)題就問(wèn)同學(xué)問(wèn)老師,直到解決問(wèn)題為止.這時(shí),當(dāng)你回頭看時(shí),你會(huì)突然發(fā)現(xiàn)自己已經(jīng)學(xué)到了很多東西,有課本上之前不明白的知識(shí)點(diǎn),也有在程
81、序設(shè)計(jì)過(guò)程中遇到問(wèn)題時(shí)該如何去面對(duì),如何去解決的方法.其實(shí),我發(fā)現(xiàn)導(dǎo)致程序出現(xiàn)問(wèn)題錯(cuò)誤或運(yùn)行不了,很大部分原因歸結(jié)于對(duì)課本知識(shí)點(diǎn)的不熟悉或理解錯(cuò)誤.這些要是不親自動(dòng)手去做,光看課本是沒(méi)有多大作用的.當(dāng)我通過(guò)自己的努力或老師跟同學(xué)的幫助下,解決了一個(gè)問(wèn)題,才發(fā)現(xiàn)原來(lái)這個(gè)知識(shí)點(diǎn)應(yīng)該這樣用.</p><p> 通過(guò)這次課程設(shè)計(jì),我體會(huì)最深的就是,不能只看課本,要經(jīng)常動(dòng)手去練習(xí)一下,看課本加上做練習(xí),效果非常好,可以做
82、到事半功倍.這樣知識(shí)點(diǎn)記得會(huì)比較牢固一些.通過(guò)練習(xí)還可以培養(yǎng)自己的設(shè)計(jì)思維,讓自己以后設(shè)計(jì)程序時(shí)思維會(huì)活躍一些,轉(zhuǎn)得快一些.</p><p> 在這課程設(shè)計(jì)接近尾聲時(shí),我總結(jié)了一下自己在設(shè)計(jì)時(shí)經(jīng)常犯的一些錯(cuò)誤,諸如for循環(huán)語(yǔ)句,括號(hào)里面的條件之間應(yīng)該是用分號(hào)分開(kāi)的,而我經(jīng)常會(huì)忘記,都是用逗號(hào)來(lái)分開(kāi)的,這導(dǎo)致程序運(yùn)行不了,自己檢查了一遍又一遍還是發(fā)現(xiàn)不了問(wèn)題的所在,后來(lái)叫同學(xué)幫忙看了一下,才發(fā)現(xiàn)問(wèn)題出現(xiàn)在哪里.
83、就這么簡(jiǎn)單的,基本的一個(gè)錯(cuò)誤,常常會(huì)令自己花上半個(gè)小時(shí)或者更長(zhǎng)的時(shí)間,都無(wú)法找出來(lái).類似的錯(cuò)誤還有,就是經(jīng)常會(huì)在語(yǔ)句后面忘了加上分號(hào).但現(xiàn)在這些問(wèn)題不會(huì)再出現(xiàn)了,經(jīng)過(guò)這次的實(shí)踐,我懂得了很多,很多語(yǔ)句用起來(lái)都比較熟悉了,更重要的是積累了一些經(jīng)驗(yàn),將來(lái)可以少走些彎路,不再像剛開(kāi)始的時(shí)候,像一個(gè)迷路羔羊一樣到處亂竄.</p><p> 雖然這次的課程設(shè)計(jì)即將結(jié)束,設(shè)計(jì)的系統(tǒng)也可以運(yùn)行了,但我知道它現(xiàn)在還只是個(gè)雛形,
84、還不夠完善,還存在不足之處,還需要我的進(jìn)一步改善.今后我會(huì)更加努力,學(xué)習(xí)更多的知識(shí)來(lái)完善它,把它的功能做大,做強(qiáng)!</p><p><b> 附源程序代碼:</b></p><p> #include<stdio.h></p><p> #include<string.h></p><p>
85、 #include<stdlib.h></p><p> void interface();</p><p> void search();</p><p> void insert();</p><p> void dayin();</p><p> void dele();</p>
86、;<p> void paixu();</p><p> void xuehao();</p><p> void zimu();</p><p> void exit();</p><p> struct student</p><p><b> {</b></p
87、><p><b> int num;</b></p><p> char name[20];</p><p> int computer;</p><p><b> int math;</b></p><p> int english;</p><
88、p> int physics; </p><p> }stu[10]={{1,"li",85,86,87,81},</p><p> {2,"zhang",75,76,78,72},</p><p> {3,"wu",65,66,67,69},</p><p> {
89、4,"chen",85,76,71,63},</p><p> {5,"dai",65,68,94,83},</p><p> {6,"hua",64,84,82,86},</p><p> {7,"zhuang",71,78,68,74},</p><p>
90、; {8,"ye",82,83.76,65},</p><p> {9,"zeng",91,83,86,78},</p><p> {10,"wang",68,88,76,95},</p><p><b> };</b></p><p> void m
91、ain()</p><p><b> {</b></p><p><b> int j,i;</b></p><p> interface();</p><p> for(i=0;i<5;i++)</p><p><b> { </b>
92、</p><p> printf(" 請(qǐng)輸入你要進(jìn)行操作的編號(hào),以回車鍵結(jié)束\n");</p><p> scanf("%d",&j);</p><p><b> switch(j)</b></p><p><b> {</b></
93、p><p> case 1: </p><p> search(); </p><p><b> break;</b></p><p><b> case 2:</b></p><p> insert(); </p><p>&
94、lt;b> break;</b></p><p><b> case 3:</b></p><p><b> dele(); </b></p><p><b> break;</b></p><p><b> case 4:</b&g
95、t;</p><p><b> paixu(); </b></p><p><b> break;</b></p><p><b> case 5:</b></p><p><b> exit(0);</b></p><p>
96、; default:printf("error\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void interface()</p>&
97、lt;p><b> {</b></p><p> printf(" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");</p><p> printf("
98、 \n"); </p><p> printf(" 學(xué)生成績(jī)管理系統(tǒng) \n");</p><p> printf("
99、 \n"); </p><p> printf(" 設(shè)計(jì)者:陳撲梅 \n"); </p><p> printf("
100、 \n"); </p><p> printf(" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");</p><p> printf("
101、 \n"); </p><p> printf(" &&&&&&&&&&&&&&&&&&
102、&&&&&&&&&&&&&&&&&&&&&&&&&&&&& \n"); </p><p> printf(" &
103、; & \n");</p><p> printf(" & 1,查詢學(xué)生成績(jī); & \n");</p><p> printf
104、(" & & \n");</p><p> printf(" & 2,插入學(xué)生成績(jī); & \n");</
105、p><p> printf(" & & \n");</p><p> printf(" & 3,刪除學(xué)生成績(jī); &
106、 \n");</p><p> printf(" & & \n");</p><p> printf(" & 4,排序?qū)W生成績(jī)
107、; & \n");</p><p> printf(" & & \n");</p><p> printf(" &am
108、p; 5,退出. & \n");</p><p> printf(" & & \n");</p><p> p
109、rintf(" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
110、&&&&&&&& \n");</p><p><b> }</b></p><p> void search()</p><p><b> {</b></p><p><b> int i
111、;</b></p><p> char stu_name[20];</p><p> printf("請(qǐng)輸入所要查詢的學(xué)生的姓名\n");</p><p> scanf("%s",stu_name);</p><p> for (i=0;i<10;i++)</p>
112、<p> if(strcmp(stu_name,stu[i].name)==0)</p><p> printf("學(xué)號(hào):%d,姓名:%s,計(jì)算機(jī):%d,數(shù)學(xué):%d,英語(yǔ):%d,物理:%d\n",stu[i].num,stu[i].name,stu[i].computer,stu[i].math,stu[i].english,stu[i].physics);</p>
113、<p><b> }</b></p><p> void insert()</p><p><b> { </b></p><p><b> int k;</b></p><p> printf("要進(jìn)行插入操作請(qǐng)按1,要查看插入結(jié)果請(qǐng)按2\n
114、");</p><p> scanf("%d",&k);</p><p><b> switch(k)</b></p><p> {case 1:tianjia();break;</p><p> case 2: dayin();break;
115、 </p><p><b> } </b></p><p><b> }</b></p><p><b> tianjia()</b></p><p><b> {</b></p><p><b>
116、 int n,z;</b></p><p> for(n=0;n<30;n++) </p><p> if(stu[n].num=='\0')</p><p> { printf("請(qǐng)輸入新學(xué)生的學(xué)號(hào):\n");</p><p> scanf("%d",&am
117、p;stu[n].num);</p><p> printf("請(qǐng)輸入新學(xué)生的姓名:\n"); </p><p> {scanf("%s",stu[n].name);}</p><p> printf("請(qǐng)輸入新學(xué)生計(jì)算機(jī)的成績(jī):\n"); </p><p> scanf(&
118、quot;%d",&stu[n].computer);</p><p> printf("請(qǐng)輸入新學(xué)生數(shù)學(xué)的成績(jī):\n"); </p><p> scanf("%d",&stu[n].math);</p><p> printf("請(qǐng)輸入新學(xué)生英語(yǔ)的成績(jī):\n"); <
119、/p><p> scanf("%d",&stu[n].english);</p><p> printf("請(qǐng)輸入新學(xué)生物理的成績(jī):\n"); </p><p> scanf("%d",&stu[n].physics);</p><p> printf("
120、;恭喜插入成績(jī)成功\n");</p><p><b> break;</b></p><p><b> }</b></p><p><b> insert();</b></p><p><b> } </b></p><
121、;p> void dayin()</p><p><b> {</b></p><p><b> int z,i;</b></p><p> for(z=0;z<30;z++) </p><p> if(stu[z].num=='\0')</p>
122、<p><b> {</b></p><p> for (i=0;i<z;i++)</p><p> {printf("學(xué)號(hào):%d,姓名:%s,計(jì)算機(jī):%d,數(shù)學(xué):%d,英語(yǔ):%d,物理:%d\n",stu[i].num,stu[i].name,stu[i].computer,stu[i].math,stu[i].englis
123、h,stu[i].physics);</p><p> printf("\n");</p><p><b> } </b></p><p><b> break; </b></p><p><b> } </b></p><p&g
124、t;<b> }</b></p><p> void dele()</p><p><b> {</b></p><p> int i,j,k,n;</p><p> for(n=0;n<10;n++)</p><p><b> {</b&g
125、t;</p><p> if (stu[n].num=='\0')</p><p><b> {n--;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b&g
126、t; }</b></p><p> printf("請(qǐng)輸入要?jiǎng)h除的學(xué)號(hào)\n");</p><p> scanf("%d",&k);</p><p><b> if(k>n)</b></p><p> printf("輸入錯(cuò)誤\n&quo
127、t;);</p><p><b> else </b></p><p><b> { </b></p><p> for(j=0;j<9;j++)</p><p><b> { </b></p><p> if(stu[j].num==k
128、)</p><p><b> {</b></p><p> for(i=j;i<n;i++)</p><p><b> { if(i>k)</b></p><p> { stu[i].num=stu[i+1].num-1;}</p><p> strcp
129、y(stu[i].name,stu[i+1].name);</p><p> stu[i].computer=stu[i+1].computer;</p><p> stu[i].math=stu[i+1].math;</p><p> stu[i].english=stu[i+1].english;</p><p> stu[i].
130、physics=stu[i+1].physics;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("刪除成功,請(qǐng)看刪除結(jié)果\n");</p>
131、;<p> for(i=0;i<n-1;i++)</p><p> printf("%d,%s,%d,%d,%d,%d\n",stu[i].num,stu[i].name,stu[i].computer,stu[i].math,stu[i].english,stu[i].physics);</p><p><b> } &l
132、t;/b></p><p><b> }</b></p><p> void paixu()</p><p><b> {</b></p><p><b> { </b></p><p><b> int i,m;</b&
133、gt;</p><p> for(i=0;i<2;i++)</p><p><b> {</b></p><p> printf("按學(xué)號(hào)排序請(qǐng)按1,按字母排序請(qǐng)按2\n");</p><p> scanf("%d",&m);</p><p
134、><b> switch(m)</b></p><p><b> {</b></p><p> case 1:xuehao();break;</p><p> case 2:zimu();break;</p><p><b> }</b></p>
135、<p><b> }</b></p><p><b> }</b></p><p><b> } </b></p><p> void xuehao()</p><p><b> {</b></p><p>
136、 int i,j,t;</p><p> char m[20];</p><p> for(j=0;j<=10;j++)</p><p> for(i=0;i<9;i++)</p><p> if(stu[i].num>stu[i+1].num)</p><p><b> {<
137、;/b></p><p> t=stu[i].num;</p><p> stu[i].num=stu[i+1].num;</p><p> stu[i+1].num=t;</p><p> strcpy(m,stu[i].name);</p><p> strcpy(stu[i].name,stu[i
138、+1].name);</p><p> strcpy(stu[i+1].name,m);</p><p> t=stu[i].computer;</p><p> stu[i].computer=stu[i+1].computer;</p><p> stu[i+1].computer=t;</p><p>
139、 t=stu[i].math;</p><p> stu[i].math=stu[i+1].math;</p><p> stu[i+1].math=t;</p><p> t=stu[i].english;</p><p> stu[i].english=stu[i+1].english;</p><p>
140、 stu[i+1].english=t;</p><p> t=stu[i].physics;</p><p> stu[i].physics=stu[i+1].physics;</p><p> stu[i+1].physics=t; </p><p><b> } </b></p&
141、gt;<p> for(i=0;i<10;i++)</p><p> printf("%d,%s,%d,%d,%d,%d\n",stu[i].num,stu[i].name,stu[i].computer,stu[i].math,stu[i].english,stu[i].physics);</p><p><b> } </b
142、></p><p> void zimu()</p><p><b> {</b></p><p> int i,j,t;</p><p> char m[20];</p><p> for(j=0;j<=10;j++)</p><p> for(i
143、=0;i<9;i++)</p><p><b> {</b></p><p> if(strcmp(stu[i].name,stu[i+1].name)>0)</p><p><b> {</b></p><p> t=stu[i].num;</p><p&g
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告----學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告-學(xué)生成績(jī)管理系統(tǒng)
- c_學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c_學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告(學(xué)生成績(jī)管理系統(tǒng)c語(yǔ)言)
- c#學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)報(bào)告
- c語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++程序課程設(shè)計(jì)報(bào)告—學(xué)生成績(jī)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論