版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 成 果 報(bào) 告</p><p> 題 目: 學(xué)生成績(jī)管理系統(tǒng)</p><p> 課 程: 程序設(shè)計(jì)基礎(chǔ)</p><p> 院 (部): 管理工程學(xué)院</p><p> 專 業(yè): 信息管理與信息系統(tǒng)</p><p&
2、gt; 班 級(jí): 信管121</p><p> 學(xué)生姓名: </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 完成日期: </p><p><b> 目錄</b></p>
3、<p><b> 1 設(shè)計(jì)目的1</b></p><p> 2 設(shè)計(jì)任務(wù)內(nèi)容1</p><p> 3 系統(tǒng)總體設(shè)計(jì)2</p><p> 4 系統(tǒng)詳細(xì)設(shè)計(jì)4</p><p> 4.1 結(jié)構(gòu)體模塊4</p><p> 4.2 輸入模塊4</p><
4、p> 4.3 計(jì)算平均值模塊5</p><p><b> 4.4顯示模塊6</b></p><p><b> 4.5排序模塊6</b></p><p><b> 4.6插入模塊7</b></p><p> 4.7 刪除模塊8</p>&l
5、t;p><b> 4.8查詢模塊9</b></p><p> 4.8.1 按姓名查詢9</p><p> 4.8.2 按學(xué)號(hào)查詢9</p><p> 4.9修改模塊10</p><p> 5 調(diào)試與測(cè)試12</p><p> 6 課程設(shè)計(jì)心得與體會(huì)15</p&g
6、t;<p><b> 7 參考文獻(xiàn)15</b></p><p><b> 8 附錄16</b></p><p><b> 1 設(shè)計(jì)目的</b></p><p> 本課程設(shè)計(jì)是信息管理與信息系統(tǒng)專業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完《程序設(shè)計(jì)基礎(chǔ)》課程后進(jìn)行的一次全面的綜合練
7、習(xí)。本課程設(shè)計(jì)的目的和任務(wù):</p><p> 1、鞏固和加深學(xué)生對(duì)C語言課程的基本知識(shí)的理解和掌握;</p><p> 2、掌握C語言編程和程序調(diào)試的基本技能;</p><p> 3、利用C語言進(jìn)行基本的軟件設(shè)計(jì);</p><p> 4、掌握書寫程序設(shè)計(jì)說明文檔的能力;</p><p> 5、提高運(yùn)用C語言
8、解決實(shí)際問題的能力。</p><p><b> 2 設(shè)計(jì)任務(wù)內(nèi)容</b></p><p> 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)</p><p> 學(xué)生成績(jī)相關(guān)信息包括:學(xué)號(hào)、姓名、班級(jí)、數(shù)學(xué)成績(jī)、英語成績(jī)、計(jì)算機(jī)成績(jī)等(學(xué)號(hào)唯一),總成績(jī)。</p><p> 系統(tǒng)要求實(shí)現(xiàn)如下功能:</p><p>
9、1)系統(tǒng)功能以菜單方式工作;</p><p> 2)數(shù)據(jù)的添加:從鍵盤輸入數(shù)據(jù)存放到結(jié)構(gòu)體數(shù)組中;</p><p> 3)數(shù)據(jù)的插入:從指定位置插入一條記錄;</p><p> 4)數(shù)據(jù)的輸出:在屏幕上顯示出所添加的數(shù)據(jù);</p><p> 5)數(shù)據(jù)的刪除:從指定位置刪除一條記錄;</p><p> 6)數(shù)據(jù)
10、的查找,通常以兩種方式進(jìn)行查找,如姓名、記錄號(hào)(或?qū)W號(hào)、職工號(hào)等);</p><p><b> 7)數(shù)據(jù)的排序;</b></p><p><b> 8)退出系統(tǒng)。</b></p><p> 以上每個(gè)內(nèi)容需要通過單獨(dú)的函數(shù)來實(shí)現(xiàn),數(shù)據(jù)以結(jié)構(gòu)體數(shù)組的形式組織。</p><p><b>
11、 3 系統(tǒng)總體設(shè)計(jì)</b></p><p> 本系統(tǒng)可以實(shí)現(xiàn)以下功能:</p><p> 用結(jié)構(gòu)體輸入姓名,學(xué)號(hào),性別,英語,高數(shù),c語言成績(jī)。</p><p> 使用菜單控制整個(gè)程序。</p><p> 顯示按任意鍵返回主菜單。</p><p><b> 界面較直觀。</b>
12、;</p><p> 顯示輸入的所有成員信息。</p><p> 使用函數(shù)計(jì)算出三門成績(jī)的平均分,并按每個(gè)成員的平均分用從高到底排序。</p><p><b> 添加信息。</b></p><p> 輸入要?jiǎng)h除學(xué)生成績(jī)的學(xué)號(hào),按回車,刪除。</p><p> 輸入要修改學(xué)生成績(jī)的姓名,按
13、回車,修改。</p><p> 輸入學(xué)號(hào)或是姓名,按回車,進(jìn)行查詢。</p><p><b> 退出功能。</b></p><p> 以下是制作的系統(tǒng)流程圖:</p><p><b> 4 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b> 4.1 結(jié)構(gòu)體模塊
14、</b></p><p> struct student</p><p><b> {</b></p><p><b> int no;</b></p><p> char name[20];</p><p> char sex[4];</p>
15、;<p> float english;</p><p> float math;</p><p> float computer;</p><p> float sort;</p><p> float ave;</p><p> float sum;</p><p>
16、;<b> };</b></p><p> struct student stu[MAX],*p;</p><p> 使用結(jié)構(gòu)體定義一組成員,并且成員的上限個(gè)數(shù),可以由編程者自由控制(#define MAX 80</p><p><b> ?。?;</b></p><p><b>
17、4.2 輸入模塊</b></p><p> void input()/*原始數(shù)據(jù)錄入模塊*/</p><p><b> {</b></p><p><b> int i=0;</b></p><p><b> char ch;</b></p>
18、<p><b> do</b></p><p><b> {</b></p><p> printf("\t\t\t\t1.錄入學(xué)生信息\n輸入第%d個(gè)學(xué)生的信息\n",i+1);</p><p> printf("\n輸入學(xué)生學(xué)號(hào):");</p>&
19、lt;p> scanf("%d",&stu[i].no);</p><p> fflush(stdin);</p><p> printf("\n輸入學(xué)生姓名:");</p><p> fflush(stdin);</p><p> gets(stu[i].name);</
20、p><p> printf("\n輸入學(xué)生性別:");</p><p> fflush(stdin);</p><p> gets(stu[i].sex);</p><p> printf("\n輸入學(xué)生英語:");</p><p> fflush(stdin);</
21、p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].english);</p><p> if(stu[now_no].english>=0&&s
22、tu[now_no].english<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n
23、輸入學(xué)生高數(shù):");</p><p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].math);</p&g
24、t;<p> if(stu[now_no].math>=0&&stu[now_no].math<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }
25、</b></p><p> printf("\n輸入學(xué)生c語言:");</p><p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {</b></p><p> sc
26、anf("%f",&stu[now_no].computer);</p><p> if(stu[now_no].computer>=0&&stu[now_no].computer<=100)</p><p><b> break;</b></p><p> else printf(
27、"請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n\n");</p><p><b> i++;</b></p><p><b> now_no=i;</b><
28、;/p><p> printf("是否繼續(xù)輸入?(Y/N)");</p><p> fflush(stdin);</p><p> ch=getchar();</p><p> system("cls");</p><p><b> }</b><
29、/p><p> while(ch!='n'&&ch!='N');</p><p> system("cls");</p><p><b> }</b></p><p> 該函數(shù)中使用了fflush(stdin);語句,用于用來清空輸入緩存,以便不影響
30、后面輸入的東西。防止數(shù)據(jù)的緩沖使學(xué)生數(shù)據(jù)出現(xiàn)錯(cuò)誤。</p><p> 使用死循環(huán)語句控制輸進(jìn)的數(shù)在0-100之間,否則則輸出錯(cuò)誤。</p><p> 4.3 計(jì)算平均值模塊</p><p> void average()/*求平均數(shù)*/</p><p><b> {</b></p><p>
31、;<b> int i;</b></p><p> for(i=0;i<now_no;i++)</p><p><b> {</b></p><p> stu[i].sum=stu[i].english+stu[i].math+stu[i].computer;</p><p> st
32、u[i].ave=stu[i].sum/3;</p><p><b> }</b></p><p><b> }</b></p><p><b> 4.4顯示模塊</b></p><p> void display()/*顯示數(shù)據(jù)函數(shù)*/</p><
33、p><b> {</b></p><p><b> int i;</b></p><p><b> char as;</b></p><p> average();</p><p><b> do</b></p><p&
34、gt;<b> {</b></p><p> printf("\t\t\t班級(jí)學(xué)生信息列表\n");</p><p> printf("\t學(xué)號(hào)\t姓名\t性別\t英語\t高數(shù)\tc語言\t平均值\n");</p><p> for(i=0;i<now_no&&stu[i].
35、name[0];i++)printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p> printf("\t\t按任意鍵返回主菜單.");<
36、/p><p> fflush(stdin);</p><p> as=getchar();</p><p><b> }</b></p><p> while(!as);</p><p> system("cls");</p><p><b&
37、gt; }</b></p><p> 定義as以控制按任意鍵退出功能;</p><p> 每一列的數(shù)據(jù)實(shí)現(xiàn)對(duì)齊,美觀</p><p><b> 4.5排序模塊</b></p><p> void sort()/*排序數(shù)據(jù)函數(shù)*/</p><p><b> {<
38、;/b></p><p> struct student temp;</p><p><b> int i,j;</b></p><p> average();</p><p> for(i=1;i<now_no;i++)</p><p><b> {</b&
39、gt;</p><p> for(j=1;j<=now_no-i;j++)</p><p><b> {</b></p><p> if(stu[j-1].ave<stu[j].ave)</p><p><b> {</b></p><p> temp=
40、stu[j];</p><p> stu[j]=stu[j-1];</p><p> stu[j-1]=temp;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p&g
41、t;<p> display();</p><p> 調(diào)用計(jì)算平均值函數(shù),用于計(jì)算每個(gè)成員三門成績(jī)的平均值。</p><p> 調(diào)用顯示模塊,用于顯示排序后的結(jié)果。</p><p> 使用循環(huán)語句進(jìn)行對(duì)比,排序,交換</p><p><b> 4.6插入模塊</b></p><
42、p> void insert()/*插入數(shù)據(jù)函數(shù)*/</p><p><b> {</b></p><p><b> char ch;</b></p><p><b> do</b></p><p><b> {</b></p>
43、<p> printf("\n\t\t輸入新插入學(xué)生信息\n");</p><p> printf("\n輸入學(xué)生學(xué)號(hào):");</p><p> scanf("%d",&stu[now_no].no);</p><p> fflush(stdin);</p>&l
44、t;p> printf("\n輸入學(xué)生姓名:");</p><p> fflush(stdin);</p><p> gets(stu[now_no].name);</p><p> printf("\n輸入學(xué)生性別:");</p><p> fflush(stdin);</p&g
45、t;<p> gets(stu[now_no].sex);</p><p> printf("\n輸入學(xué)生英語:");</p><p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {</b>
46、</p><p> scanf("%f",&stu[now_no].english);</p><p> if(stu[now_no].english>=0&&stu[now_no].english<=100)</p><p><b> break;</b></p>&
47、lt;p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n輸入學(xué)生高數(shù):");</p><p> fflush(stdin);</p><p><b> whil
48、e(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].math);</p><p> if(stu[now_no].math>=0&&stu[now_no].math<=100)</p>&
49、lt;p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n輸入學(xué)生c語言:");</p><p> f
50、flush(stdin);</p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].english);</p><p> if(stu[now_no].comput
51、er>=0&&stu[now_no].computer<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p&
52、gt; printf("\n\n");</p><p> now_no=now_no+1;</p><p><b> sort();</b></p><p> printf("是否繼續(xù)輸入?(Y/N)");</p><p> fflush(stdin);</p>
53、;<p> ch=getchar();</p><p> system("cls");</p><p><b> }</b></p><p> while(ch!='n'&&ch!='N');</p><p><b>
54、}</b></p><p><b> 4.7 刪除模塊</b></p><p> void del()/*刪除數(shù)據(jù)函數(shù)*/</p><p><b> {</b></p><p> int inum,i;</p><p> printf("輸入要
55、刪除學(xué)生的學(xué)號(hào):");</p><p> fflush(stdin);</p><p> scanf("%d",&inum);</p><p> for(i=0;i<now_no;i++)</p><p><b> {</b></p><p>
56、 if(stu[i].no==inum)</p><p><b> {</b></p><p> if(i==now_no)now_no-=1;</p><p><b> else</b></p><p><b> {</b></p><p>
57、 stu[i]=stu[now_no-1];</p><p> now_no-=1;</p><p><b> }</b></p><p><b> sort();</b></p><p><b> break;</b></p><p><
58、b> }</b></p><p><b> }</b></p><p> printf("刪除成功!!\n");</p><p><b> }</b></p><p><b> 4.8查詢模塊</b></p><
59、;p> 4.8.1 按姓名查詢</p><p> void find()/*按姓名查詢函數(shù)*/</p><p><b> {</b></p><p><b> int i;</b></p><p> char str[20],as;</p><p><b
60、> do</b></p><p><b> {</b></p><p> printf("輸入要查詢的學(xué)生姓名:");</p><p> fflush(stdin);</p><p> gets(str);</p><p> for(i=0;i&l
61、t;now_no;i++)</p><p> if(!strcmp(stu[i].name,str))</p><p><b> {</b></p><p> printf("\t學(xué)號(hào)\t姓名\t性別\t英語\t高數(shù)\tc語言\t平均值\n");</p><p> printf("\
62、t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p><b> }</b></p><p> printf("\t\t按任意鍵返
63、回主菜單.");</p><p> fflush(stdin);</p><p> as=getchar();</p><p><b> }</b></p><p> while(!as);</p><p> system("cls");</p>
64、<p><b> }</b></p><p> 4.8.2 按學(xué)號(hào)查詢</p><p> void lookup()/*按學(xué)號(hào)查詢函數(shù)*/</p><p><b> {</b></p><p><b> int i,t;</b></p>&
65、lt;p><b> char as;</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("輸入要查詢的學(xué)生學(xué)號(hào):");</p><p> fflush(stdin);<
66、/p><p> scanf("%d",&t);</p><p> for(i=0;i<now_no;i++)</p><p> if(stu[i].no==t)</p><p><b> {</b></p><p> printf("\t學(xué)號(hào)\t姓
67、名\t性別\t英語\t高數(shù)\tc語言\t平均值\n");</p><p> printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p&
68、gt;<b> }</b></p><p> printf("\t\t按任意鍵返回主菜單.");</p><p> fflush(stdin);</p><p> as=getchar();</p><p><b> }</b></p><p>
69、 while(!as);</p><p> system("cls");</p><p><b> }</b></p><p><b> 4.9修改模塊</b></p><p> void modify()/*修改數(shù)據(jù)函數(shù)*/</p><p>&
70、lt;b> {</b></p><p><b> int i;</b></p><p> char str[20],as;</p><p> printf("輸入要修改的學(xué)生姓名:");</p><p> fflush(stdin);</p><p>
71、; gets(str);</p><p> for(i=0;i<now_no;i++)</p><p> if(!strcmp(stu[i].name,str))</p><p><b> {</b></p><p> system("cls");</p><p&g
72、t; printf("\n\t\t輸入新插入學(xué)生信息\n");</p><p> printf("\n輸入學(xué)生學(xué)號(hào):");</p><p> fflush(stdin);</p><p> scanf("%d",&stu[i].no);</p><p> print
73、f("\n輸入學(xué)生性別:");</p><p> fflush(stdin);</p><p> gets(stu[i].sex);</p><p> printf("\n輸入學(xué)生英語:");</p><p> fflush(stdin);</p><p><b&g
74、t; while(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].english);</p><p> if(stu[now_no].english>=0&&stu[now_no].english<=
75、100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n輸入學(xué)生高數(shù):");</p&g
76、t;<p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].math);</p><p> if(stu[n
77、ow_no].math>=0&&stu[now_no].math<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p>&
78、lt;p> printf("\n輸入學(xué)生c語言:");</p><p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%f",&
79、stu[now_no].computer);</p><p> if(stu[now_no].computer>=0&&stu[now_no].computer<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n&qu
80、ot;);</p><p><b> }</b></p><p> printf("\n\n");</p><p><b> sort();</b></p><p><b> break;</b></p><p><b&
81、gt; }</b></p><p><b> else</b></p><p> printf("查無此人!!");</p><p> printf("\t\t按任意鍵返回主菜單.");</p><p> as=getchar();</p>&l
82、t;p> while(!as);</p><p> system("cls");</p><p><b> }</b></p><p><b> 5 調(diào)試與測(cè)試</b></p><p><b> 主界面</b></p><
83、p><b> 錄入學(xué)生成績(jī)</b></p><p><b> 顯示所有學(xué)生成績(jī)</b></p><p><b> 按平均分排序</b></p><p><b> 添加信息</b></p><p><b> 按學(xué)號(hào)查詢學(xué)生成績(jī)<
84、;/b></p><p><b> 退出程序</b></p><p> 6 課程設(shè)計(jì)心得與體會(huì)</p><p><b> 個(gè)人心得:</b></p><p> 做之前最好有一個(gè)框架,上面的流程圖就是我想實(shí)現(xiàn)的功能及具體的界面,當(dāng)然這些工作最好是在紙上實(shí)現(xiàn)。</p><
85、;p> 除了流程圖之外,還必須將你要使用的函數(shù)名,變量名,一一做以記錄。</p><p> 確定了結(jié)構(gòu)體之后,再將每個(gè)函數(shù)一一寫出。</p><p> 最關(guān)鍵的步驟在于函數(shù)之間的整合、聯(lián)系。都依賴與菜單這一功能。在菜單功能是現(xiàn)實(shí)需要實(shí)現(xiàn)循環(huán)功能,以保證每一個(gè)函數(shù)都能使用。</p><p> 做事一個(gè)要有規(guī)劃,一蹴而就,必然失敗!!!</p>
86、<p><b> 多討論,多思考。</b></p><p> 遇到的問題及解決方法</p><p> 沒能實(shí)現(xiàn)菜單循環(huán)使用;</p><p> 解決辦法:1)使用循環(huán)語句,及switch語句,讓用戶自由選擇,最后使用case 0:system("exit");exit(0);語句,參考資料于百度搜索。&
87、lt;/p><p> 后來想到另外的想法,比如讓整個(gè)菜單在一個(gè)循環(huán)中實(shí)現(xiàn)。讓菜單另作一個(gè)函數(shù)使用,當(dāng)輸入0時(shí),則運(yùn)行break;讓循環(huán)退出;</p><p> 各個(gè)函數(shù)之間的調(diào)用存在的問題</p><p> 基于流程圖,這個(gè)問題得到很大的解決。</p><p><b> 7 參考文獻(xiàn)</b></p>&
88、lt;p> 譚浩強(qiáng). C語言程序設(shè)計(jì)實(shí)用教程【M】.北京 機(jī)械工業(yè)出版社 2002</p><p><b> 8 附錄</b></p><p> #include <time.h></p><p> #include<stdio.h></p><p> #include<co
89、nio.h></p><p> #include <stdlib.h></p><p> #include<string.h></p><p> #define MAX 80</p><p> void input();</p><p> void sort();</p&g
90、t;<p> void display();</p><p> void insert();</p><p> void del();</p><p> void average();</p><p> void find();</p><p> void lookup();</p>
91、;<p> void average();</p><p> void modify();</p><p> int now_no=0;</p><p> struct student</p><p><b> {</b></p><p><b> int no
92、;</b></p><p> char name[20];</p><p> char sex[4];</p><p> float english;</p><p> float math;</p><p> float computer;</p><p> float
93、 sort;</p><p> float ave;</p><p> float sum;</p><p><b> };</b></p><p> struct student stu[MAX],*p;</p><p> void main()/*主函數(shù)*/</p>&
94、lt;p><b> {</b></p><p><b> int as;</b></p><p> start: printf("\n\t\t\t歡迎使用學(xué)生管理系統(tǒng)\n");</p><p> /*一下為功能選擇模塊*/</p><p><b> do
95、</b></p><p><b> {</b></p><p> printf(" \t -------------<<歡迎您使用學(xué)生成績(jī)管理系統(tǒng)>>------------\n");</p><p> printf(" \t -------------------
96、----------------制作人:信管121 莊之軒 20120216039");</p><p> printf(" \t********************************************************\n");</p><p> printf(" \t* 1、
97、輸入學(xué)生成績(jī) *\n");</p><p> printf(" \t* 2、顯示全部學(xué)生成績(jī) *\n");</p><p> printf(" \t* 3、排序信息
98、 *\n");</p><p> printf(" \t* 4、添加學(xué)生信息 *\n");</p><p> printf(" \t* 5、刪除學(xué)生成績(jī) *\n");<
99、/p><p> printf(" \t* 6、修改學(xué)生信息 *\n");</p><p> printf(" \t* 7、按姓名查詢學(xué)生信息 *\n");</p><p> prin
100、tf(" \t* 8、按學(xué)號(hào)查詢學(xué)生信息 *\n");</p><p> printf(" \t* 0、退出本系統(tǒng) *\n");</p><p> printf(" \t********
101、************************************************\n");</p><p> printf("請(qǐng)你選擇操作(0-8):");</p><p> fflush(stdin);</p><p> scanf("%d",&as);</p><
102、p> switch(as)</p><p><b> {</b></p><p> case 1:system("cls");input();break;</p><p> case 2:system("cls");display();break;</p><p>
103、 case 3:system("cls");sort();break;</p><p> case 4:system("cls");insert();break;</p><p> case 5:system("cls");del();break;</p><p> case 6:system(&qu
104、ot;cls");modify();break;</p><p> case 7:system("cls");find();break;</p><p> case 8:system("cls");lookup();break;</p><p> case 0:system("exit");
105、exit(0);</p><p> default:system("cls");goto start;</p><p><b> }</b></p><p> }while(1);</p><p> /*至此功能選擇結(jié)束*/</p><p><b> }&l
106、t;/b></p><p> void input()/*原始數(shù)據(jù)錄入模塊*/</p><p><b> {</b></p><p><b> int i=0;</b></p><p><b> char ch;</b></p><p>&
107、lt;b> do</b></p><p><b> {</b></p><p> printf("\t\t\t\t1.錄入學(xué)生信息\n輸入第%d個(gè)學(xué)生的信息\n",i+1);</p><p> printf("\n輸入學(xué)生學(xué)號(hào):");</p><p>
108、scanf("%d",&stu[i].no);</p><p> fflush(stdin);</p><p> printf("\n輸入學(xué)生姓名:");</p><p> fflush(stdin);</p><p> gets(stu[i].name);</p><
109、;p> printf("\n輸入學(xué)生性別:");</p><p> fflush(stdin);</p><p> gets(stu[i].sex);</p><p> printf("\n輸入學(xué)生英語:");</p><p> fflush(stdin);</p><
110、;p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].english);</p><p> if(stu[now_no].english>=0&&stu[now_no]
111、.english<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n輸入學(xué)生高數(shù):&qu
112、ot;);</p><p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].math);</p><p&
113、gt; if(stu[now_no].math>=0&&stu[now_no].math<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b>
114、</p><p> printf("\n輸入學(xué)生c語言:");</p><p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("
115、%f",&stu[now_no].computer);</p><p> if(stu[now_no].computer>=0&&stu[now_no].computer<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0
116、-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n\n");</p><p><b> i++;</b></p><p><b> now_no=i;</b></p>&
117、lt;p> printf("是否繼續(xù)輸入?(Y/N)");</p><p> fflush(stdin);</p><p> ch=getchar();</p><p> system("cls");</p><p><b> }</b></p>&l
118、t;p> while(ch!='n'&&ch!='N');</p><p> system("cls");</p><p><b> }</b></p><p> void sort()/*排序數(shù)據(jù)函數(shù)*/</p><p><b>
119、; {</b></p><p> struct student temp;</p><p><b> int i,j;</b></p><p> average();</p><p> for(i=1;i<now_no;i++)</p><p><b> {
120、</b></p><p> for(j=1;j<=now_no-i;j++)</p><p><b> {</b></p><p> if(stu[j-1].ave<stu[j].ave)</p><p><b> {</b></p><p>
121、 temp=stu[j];</p><p> stu[j]=stu[j-1];</p><p> stu[j-1]=temp;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&
122、lt;/p><p> display();</p><p><b> }</b></p><p> void display()/*顯示數(shù)據(jù)函數(shù)*/</p><p><b> {</b></p><p><b> int i;</b></p&
123、gt;<p><b> char as;</b></p><p> average();</p><p><b> do</b></p><p><b> {</b></p><p> printf("\t\t\t班級(jí)學(xué)生信息列表\n"
124、;);</p><p> printf("\t學(xué)號(hào)\t姓名\t性別\t英語\t高數(shù)\tc語言\t平均值\n");</p><p> for(i=0;i<now_no&&stu[i].name[0];i++)printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,st
125、u[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p> printf("\t\t按任意鍵返回主菜單.");</p><p> fflush(stdin);</p><p> as=getchar();</p>&
126、lt;p><b> }</b></p><p> while(!as);</p><p> system("cls");</p><p><b> }</b></p><p> void insert()/*插入數(shù)據(jù)函數(shù)*/</p><p>
127、;<b> {</b></p><p><b> char ch;</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("\n\t\t輸入新插入學(xué)生信息\n")
128、;</p><p> printf("\n輸入學(xué)生學(xué)號(hào):");</p><p> scanf("%d",&stu[now_no].no);</p><p> fflush(stdin);</p><p> printf("\n輸入學(xué)生姓名:");</p>
129、<p> fflush(stdin);</p><p> gets(stu[now_no].name);</p><p> printf("\n輸入學(xué)生性別:");</p><p> fflush(stdin);</p><p> gets(stu[now_no].sex);</p>&
130、lt;p> printf("\n輸入學(xué)生英語:");</p><p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%f",&s
131、tu[now_no].english);</p><p> if(stu[now_no].english>=0&&stu[now_no].english<=100)</p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n")
132、;</p><p><b> }</b></p><p> printf("\n輸入學(xué)生高數(shù):");</p><p> fflush(stdin);</p><p><b> while(1)</b></p><p><b> {<
133、;/b></p><p> scanf("%f",&stu[now_no].math);</p><p> if(stu[now_no].math>=0&&stu[now_no].math<=100)</p><p><b> break;</b></p><
134、;p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n輸入學(xué)生c語言:");</p><p> fflush(stdin);</p><p><b> while
135、(1)</b></p><p><b> {</b></p><p> scanf("%f",&stu[now_no].computer);</p><p> if(stu[now_no].computer>=0&&stu[now_no].computer<=100)&l
136、t;/p><p><b> break;</b></p><p> else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b> }</b></p><p> printf("\n\n");</p><p&g
137、t; now_no=now_no+1;</p><p><b> sort();</b></p><p> printf("是否繼續(xù)輸入?(Y/N)");</p><p> fflush(stdin);</p><p> ch=getchar();</p><p>
138、 system("cls");</p><p><b> }</b></p><p> while(ch!='n'&&ch!='N');</p><p><b> }</b></p><p> void del()/*刪除數(shù)
139、據(jù)函數(shù)*/</p><p><b> {</b></p><p> int inum,i;</p><p> printf("輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):");</p><p> fflush(stdin);</p><p> scanf("%d",&a
140、mp;inum);</p><p> for(i=0;i<now_no;i++)</p><p><b> {</b></p><p> if(stu[i].no==inum)</p><p><b> {</b></p><p> if(i==now_no)
141、now_no-=1;</p><p><b> else</b></p><p><b> {</b></p><p> stu[i]=stu[now_no-1];</p><p> now_no-=1;</p><p><b> }</b>&
142、lt;/p><p><b> sort();</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("刪除
143、成功!!\n");</p><p><b> }</b></p><p> void find()/*按姓名查詢函數(shù)*/</p><p><b> {</b></p><p><b> int i;</b></p><p> char
144、 str[20],as;</p><p><b> do</b></p><p><b> {</b></p><p> printf("輸入要查詢的學(xué)生姓名:");</p><p> fflush(stdin);</p><p> gets(s
145、tr);</p><p> for(i=0;i<now_no;i++)</p><p> if(!strcmp(stu[i].name,str))</p><p><b> {</b></p><p> printf("\t學(xué)號(hào)\t姓名\t性別\t英語\t高數(shù)\tc語言\t平均值\n")
146、;</p><p> printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p><b> }</b></p&
147、gt;<p> printf("\t\t按任意鍵返回主菜單.");</p><p> fflush(stdin);</p><p> as=getchar();</p><p><b> }</b></p><p> while(!as);</p><p&g
148、t; system("cls");</p><p><b> }</b></p><p> void average()/*求平均數(shù)*/</p><p><b> {</b></p><p><b> int i;</b></p>&
149、lt;p> for(i=0;i<now_no;i++)</p><p><b> {</b></p><p> stu[i].sum=stu[i].english+stu[i].math+stu[i].computer;</p><p> stu[i].ave=stu[i].sum/3;</p><p&g
150、t;<b> }</b></p><p><b> }</b></p><p> void modify()/*修改數(shù)據(jù)函數(shù)*/</p><p><b> {</b></p><p><b> int i;</b></p><
151、p> char str[20],as;</p><p> printf("輸入要修改的學(xué)生姓名:");</p><p> fflush(stdin);</p><p> gets(str);</p><p> for(i=0;i<now_no;i++)</p><p> if
152、(!strcmp(stu[i].name,str))</p><p><b> {</b></p><p> system("cls");</p><p> printf("\n\t\t輸入新插入學(xué)生信息\n");</p><p> printf("\n輸入學(xué)生學(xué)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c++課程設(shè)計(jì)--- 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與管理
- c&c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++程序課程設(shè)計(jì)報(bào)告—學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論