版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 軟件設(shè)計(jì)報(bào)告</b></p><p> 題 目: 學(xué)生成績(jī)信息管理系統(tǒng) </p><p><b> 一、課程設(shè)計(jì)目的</b></p><p> 1.熟悉C語言程序的編輯、編譯鏈接和運(yùn)行的過程,至少能夠用一種編譯器較熟練地編輯、編譯及調(diào)試程序。<
2、/p><p> 2.掌握C語言數(shù)據(jù)類型,如何定義一個(gè)整型、字符型和實(shí)型的變量,以及對(duì)它們賦值的方法。</p><p> 3.熟練運(yùn)用if語句和switch語句以及嵌套應(yīng)用。涉及循環(huán)調(diào)用的,了解并掌握三種控制語句while、do-while和for語句。</p><p> 4.學(xué)習(xí)并掌握C語言定義函數(shù)的基本方法、聲明函數(shù)及調(diào)用函數(shù)的方法和過程。</p>
3、<p> 5. 掌握文件和文件指針的概念以及文件的定義方法,認(rèn)識(shí)文件打開、關(guān)閉、讀、寫等文件基本操作函數(shù)。</p><p> 6.掌握結(jié)構(gòu)體類型變量、數(shù)組的定義和使用。</p><p> 7.了解指針和鏈表的概念,掌握指針的定義和使用指針變量的方法以及鏈表的正確用法。靈活使用鏈表來儲(chǔ)存學(xué)生信息。</p><p> 8. 掌握數(shù)組的定義、引用以及輸
4、入輸出的方法、通過字符數(shù)組存儲(chǔ)字符串,進(jìn)一步使用字符串</p><p> 二、課程設(shè)計(jì)內(nèi)容簡(jiǎn)介</p><p> 學(xué)生成績(jī)管理主要功能:</p><p> ?。?)能按學(xué)期、按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入、修改</p><p> ?。?)能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī),求學(xué)生的總分及平均分,并能根據(jù)學(xué)生的平均成績(jī)進(jìn)行排序</p><
5、;p> ?。?)能查詢學(xué)生成績(jī),不及格科目及學(xué)生名單</p><p> ?。?)能按班級(jí)輸出學(xué)生的成績(jī)單</p><p> 開發(fā)工具——Visual C++ 6.0</p><p> 運(yùn)行平臺(tái)——Windows XP</p><p><b> 三、需求分析</b></p><p>&l
6、t;b> 系統(tǒng)功能:</b></p><p> (1)能按學(xué)期、按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入、修改</p><p> ?。?)能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī),求學(xué)生的總分及平均分。</p><p> ?。?)能根據(jù)學(xué)生的平均成績(jī)進(jìn)行排序</p><p> (4)能查詢學(xué)生總成績(jī),平均分</p><p>
7、?。?)能按學(xué)號(hào),姓名輸出學(xué)生的成績(jī)單</p><p> (6)可以保存到文件(附加功能)</p><p> ?。?)可以從文件讀入已有的文件(附加功能)</p><p> (8)以菜單方式工作</p><p><b> 性能描述:</b></p><p> 各種功能都可以滿足;程序相對(duì)較
8、小,因而運(yùn)行時(shí)反應(yīng)比較迅速,不存在響應(yīng)不及時(shí)地問題。</p><p><b> 四、概要設(shè)計(jì)</b></p><p> 1.學(xué)生成績(jī)管理系統(tǒng)模塊圖:</p><p> 2.程序可以滿足以下功能:</p><p> 1.各模塊間通過菜單切換和調(diào)用</p><p> 2.主函數(shù)通過調(diào)用菜單函
9、數(shù)實(shí)現(xiàn)對(duì)各功能模塊的調(diào)用,各功能模塊間根據(jù)需要可相互調(diào)用。</p><p> 3.程序能夠保證各模塊功能的獨(dú)立和數(shù)據(jù)共享。</p><p> 4.相近功能以級(jí)聯(lián)菜單的形式集成。</p><p><b> 五、詳細(xì)設(shè)計(jì)</b></p><p> 1.主要功能模塊的流程圖如下:</p><p>
10、;<b> 主函數(shù)</b></p><p><b> 添加信息:</b></p><p><b> 查詢模塊:</b></p><p><b> 輸出模塊:</b></p><p><b> 修改模塊:</b></p&
11、gt;<p><b> 排序模塊:</b></p><p><b> 保存模塊</b></p><p><b> 讀取模塊</b></p><p> 2. 主要函數(shù)說明:</p><p> mangercode_message ()</p>
12、<p><b> 類型 void</b></p><p> 密碼模塊 只有密碼正確才可打開,以便使用者保護(hù)所存儲(chǔ)的信息。</p><p> read_message()</p><p><b> 類型 void</b></p><p> 讀取模塊 可以將所處出的信息讀取出來,方
13、便使用。</p><p> save_message()</p><p><b> 類型 void</b></p><p> 保存模塊 可將所輸入的信息以文件形式保存起來,具體輸入信息會(huì)以txt格式保存。</p><p> input_message()</p><p><b>
14、 類型 void</b></p><p> 錄入模塊 以鍵盤形式輸入學(xué)生的成績(jī)信息。</p><p> output_message()</p><p><b> 類型 void</b></p><p> 瀏覽模塊 將所輸入的學(xué)生信息打印輸出,出現(xiàn)在顯示器上。</p><p>
15、; inqure_message()</p><p><b> 類型 void</b></p><p> 查詢模塊 可按學(xué)生學(xué)號(hào)和學(xué)生姓名查詢學(xué)生成績(jī) </p><p> insert_message()</p><p><b> 類型 void</b></p><p&
16、gt; 添加模塊 可隨時(shí)添加一名學(xué)生信息。</p><p> del_message()</p><p><b> 類型 void</b></p><p> 刪除模塊 可按學(xué)號(hào)刪除其中一名學(xué)生的所有成績(jī)信息。</p><p> sort_message()</p><p><b&g
17、t; 類型 void</b></p><p> 排序模塊 可將錄入的學(xué)生成績(jī)信息按平均分由大到小排序。</p><p> revise_message()</p><p><b> 類型 void</b></p><p> 修改模塊 可讀學(xué)生的姓名學(xué)號(hào)及各科成績(jī)進(jìn)行修改。</p>&l
18、t;p> count_message()</p><p><b> 類型 void</b></p><p> 統(tǒng)計(jì)模塊 將學(xué)生的所有成績(jī)相加,并按總成績(jī)排名。</p><p> manger_message()</p><p><b> 類型 void</b></p>
19、<p> 管理模塊 顯示該程序的主菜單。</p><p><b> 六、調(diào)試與測(cè)試</b></p><p><b> 1總體過程</b></p><p> 編譯和調(diào)試工具:選擇Visual C++6.0,該工具穩(wěn)定,其中有一個(gè)強(qiáng)大的調(diào)試工具,我比較熟悉。</p><p><b
20、> 2遇到的問題</b></p><p> 在兩周的時(shí)間里,不斷地對(duì)程序及各模塊進(jìn)行修改、編譯、調(diào)試,其間遇到很多問題,這里只選幾個(gè)有代表性的具體討論。</p><p> (1)調(diào)試“創(chuàng)建”模塊時(shí),遇到如下的一段程序:</p><p> 運(yùn)行中,當(dāng)輸入錯(cuò)誤的成績(jī)時(shí),程序可能會(huì)進(jìn)入死循環(huán)。</p><p> 據(jù)分析,
21、程序本身并沒有錯(cuò)誤,但由于涉及指針的操作,所以在運(yùn)行中出現(xiàn)了未知的錯(cuò)誤。</p><p> 開始時(shí)懷疑是程序代碼的缺陷,但經(jīng)過反反復(fù)復(fù)的分析和調(diào)試后確定了原因,……。通過這一問題的深入研究,使我對(duì)C語言的特性有了進(jìn)一步的了解。</p><p> (2) 借用了老師所給例子中的一個(gè)創(chuàng)建鏈表函數(shù),與習(xí)慣不同的是,該函數(shù)是從尾到頭來建立的。與順序建立的鏈表相比,在實(shí)際運(yùn)行中并沒有多大區(qū)別,但
22、不失為一種創(chuàng)新的思路,值得我們學(xué)習(xí)。</p><p> ?。?)測(cè)試用例具有一定的廣泛性。創(chuàng)建鏈表時(shí)輸入了不同班級(jí)、學(xué)期的成績(jī),而且及格與不及格交叉輸入,經(jīng)過多番調(diào)試,運(yùn)行結(jié)果也符合預(yù)期。說明程序具有一定的可靠性和穩(wěn)定性。</p><p><b> 七、出現(xiàn)錯(cuò)誤</b></p><p> C:\Documents and Settings\
23、XY\桌面\myprj\3.c(24) : error C2065: 'student' : undeclared identifier</p><p> Error executing cl.exe. 未聲明的標(biāo)志 </p><p> c:\documents and settings\xy\桌面\myprj\15.c(36) : warning C401
24、3: 'getch' undefined; assuming extern returning int ‘getch’未定義 ,假定一個(gè)虛偽指令返回整型</p><p> c:\documents and settings\xy\桌面\myprj\15.c(50) : fatal error C1004: unexpected end of file found 期待的結(jié)尾未建立</p
25、><p> c:\documents and settings\xy\桌面\myprj\2.c(32) : error C2143: syntax error : missing ';' before '}'</p><p> error C2447: missing function header (old-style formal list?) ‘}’
26、前缺少‘;’</p><p> warning C4060: switch statement contains no 'case' or 'default' labels switch指令沒有包含case和default符號(hào)</p><p> error C2043: illegal break 非法的‘break’</p><
27、p> expected constant expression 預(yù)期的常量表達(dá)式</p><p> cannot allocate an array of constant size 0 不能分配一個(gè)數(shù)組的常量0的大小</p><p><b> 八、參考文獻(xiàn):</b></p><p> 1. 王曙燕主編,C語言程序設(shè)計(jì),科學(xué)出
28、版社,2005年</p><p> 2. 譚浩強(qiáng),《C程序設(shè)計(jì)》,清華大學(xué)出版社 2002年</p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p>
29、 #include<conio.h></p><p> #define N 10</p><p> #define CODE 321</p><p><b> int sum;</b></p><p> void mangercode_message() /*密碼模塊*/&
30、lt;/p><p><b> {int m;</b></p><p> void manger_message();</p><p> printf("\n *****請(qǐng)輸入一個(gè)密碼*****\n");</p><p> scanf("%d
31、",&m);</p><p><b> switch(m)</b></p><p><b> {</b></p><p> case 321: printf("\n 進(jìn)入下一菜單\n\n");</p><p> manger_m
32、essage();</p><p> default: printf("\n 你不能進(jìn)入\n"); break;</p><p><b> }</b></p><p> printf("\n 按任意鍵返回主菜單\n");</p>&l
33、t;p><b> }</b></p><p> struct stu_type</p><p><b> {</b></p><p> int number;</p><p> char name[20];</p><p><b> int mat
34、h;</b></p><p> int english;</p><p> int computer;</p><p> int score;</p><p> int average;</p><p><b> }stu[N];</b></p><p&g
35、t; int read_message()</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p><b> int i;</b></p><p> fp=fopen("d:\\studentscore.t
36、xt","rt");</p><p> if(fp==NULL)</p><p><b> {</b></p><p> printf(" 無學(xué)生信息,不能讀\n");</p><p><b> }</b>&l
37、t;/p><p><b> else</b></p><p><b> {</b></p><p><b> i=0;</b></p><p><b> for(;;)</b></p><p><b> { <
38、/b></p><p> if((fread(&stu[i],sizeof(struct stu_type),1,fp))!=1) break; </p><p><b> i++;</b></p><p><b> }</b></p><p><b> retu
39、rn i;</b></p><p> fclose(fp);</p><p><b> }</b></p><p><b> }</b></p><p> void save_message() /*保存模塊*/ </p><p&
40、gt; { FILE *fp;</p><p><b> int i;</b></p><p> fp=fopen("d:\\studentscore.txt","wt+");</p><p> if(fp==NULL)</p><p><b> {<
41、;/b></p><p> printf(" 不能讀\n");</p><p><b> }</b></p><p> for(i=0;i<=sum;i++)</p><p><b> {</b></p><
42、p> fwrite(&stu[i],sizeof(struct stu_type),1,fp);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><p> int input_message()
43、 /*錄入模塊*/</p><p><b> {</b></p><p> int i=0,choice;</p><p><b> do</b></p><p><b> {</b></p><p> pri
44、ntf("\n\n第%d個(gè)學(xué)生",i+1);</p><p> printf("\n\n 學(xué)號(hào):");</p><p> scanf("%d",&stu[i].number);</p><p> printf("\n\n 姓名:");<
45、/p><p> getchar();</p><p> scanf("%s",stu[i].name);</p><p> printf("\n\n 數(shù)學(xué)");</p><p> scanf("%d",&stu[i].math);</p>&
46、lt;p> printf("\n\n 英語");</p><p> scanf("%d",&stu[i].english);</p><p> printf("\n\n 計(jì)算機(jī)");</p><p> scanf("%d",&
47、stu[i].computer);</p><p> stu[i].score=stu[i].math+stu[i].english+stu[i].computer;</p><p> stu[i].average=stu[i].score/3;</p><p> printf("\n\n 總成績(jī)?yōu)?%d",stu[i].sc
48、ore);</p><p> printf("\n\n 平均分為:%d",stu[i].average);</p><p><b> i++;</b></p><p><b> sum=i;</b></p><p> printf("\n\n
49、 是否繼續(xù)?(1.是 2.否)");</p><p> scanf("%d",&choice);</p><p> if(choice==1)</p><p> printf("\n 繼續(xù)!");</p><p> else break;</p>
50、<p> }while(choice==1);</p><p> printf("\n 學(xué)生成績(jī)完畢");</p><p> printf("\n\n 按任意鍵返回主菜單!");</p><p><b> getch();</b><
51、/p><p> return (--i);</p><p> system("cls");</p><p><b> }</b></p><p> void output_message(int i) /*瀏覽模塊*/</p><p>&
52、lt;b> {</b></p><p><b> int j;</b></p><p> printf("\n\n 學(xué)生成績(jī)表\n");</p><p> printf("\n**************************************
53、***************************");</p><p> printf("\n\n 學(xué)號(hào) 姓名 數(shù)學(xué) 英語 計(jì)算機(jī) 總成績(jī) 平均分");</p><p> printf("\n\n-----------------------------------------------------------------");
54、</p><p> for(j=0;j<=i;j++)</p><p><b> {</b></p><p> printf("\n\n%d %s %d %d %d %d %d",stu[j].number,stu[j].name,stu[j].math,stu[j].english,stu[j].compute
55、r,stu[j].score,stu[j].average);</p><p> printf("\n\n");</p><p><b> }</b></p><p> printf("\n************************************************************
56、*****\n");</p><p> printf(" 按任意鍵返回主菜單!");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> }<
57、/b></p><p> void inqure_num() /*查詢模塊*/</p><p><b> {</b></p><p> int i,j=0,inqure_num;</p><p> printf("\n輸入學(xué)生學(xué)號(hào):");</p&
58、gt;<p> scanf("%d",&inqure_num);</p><p> for(i=0;i<N;i++)</p><p><b> {</b></p><p> if(stu[i].number==inqure_num)</p><p><b>
59、; {</b></p><p> printf("\n 該學(xué)生信息\n");</p><p> printf("\n\n-------------------------------------------------------------------------\n");</p
60、><p> printf("\n\n學(xué)號(hào)--姓名--數(shù)學(xué)--英語--計(jì)算機(jī)--總成績(jī)--平均分\n\n");</p><p> printf("%3d%8s%5d%7d%8d%10d%14d",stu[i].number,stu[i].name,stu[i].math,stu[i].english,stu[i].computer,stu[i].sco
61、re,stu[i].average);</p><p> printf("\n\n--------------------------------------------------------------------------\n");</p><p><b> }</b></p><p><b> el
62、se j++;</b></p><p><b> if(j==N)</b></p><p> printf("\n 這個(gè)學(xué)生不存在!");</p><p><b> }</b></p><p> printf("\n\n 按
63、任意鍵返回主菜單!");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> }</b></p><p> void inqure_name()</p><p>&
64、lt;b> {</b></p><p> int i,j=0;</p><p> char inqure_name[20];</p><p> printf("\n輸入學(xué)生姓名:");</p><p> scanf("%s",inqure_name);</p>
65、<p> for(i=0;i<N;i++)</p><p><b> {</b></p><p> if (strcmp(stu[i].name,inqure_name)==0)</p><p><b> {</b></p><p> printf("\n
66、 該學(xué)生信息\n");</p><p> printf("\n\n-------------------------------------------------------------------------\n");</p><p> printf("\n\n學(xué)號(hào)--姓名--數(shù)學(xué)--英語--計(jì)算機(jī)--總
67、成績(jī)--平均分\n\n");</p><p> printf("%3d%8s%5d%7d%8d%10d%14d",stu[i].number,stu[i].name,stu[i].math,stu[i].english,stu[i].computer,stu[i].score,stu[i].average);</p><p> printf("\
68、n\n--------------------------------------------------------------------------\n");</p><p><b> }</b></p><p><b> else j++;</b></p><p><b> if(j==N
69、)</b></p><p> printf("\n 這個(gè)學(xué)生不存在!");</p><p><b> }</b></p><p> printf("\n\n 按任意鍵返回主菜單!");</p><p><b> getch()
70、;</b></p><p> system("cls");</p><p><b> }</b></p><p> void inqure_message()</p><p> { int choice;</p><p><b> do<
71、;/b></p><p> {printf(" 1.按學(xué)號(hào)查詢\n\n");</p><p> printf(" 2.按姓名查詢\n\n");</p><p> printf("
72、 0.退出\n\n");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b> { </b></p><p> case 1:inqure_num();break;<
73、/p><p> case 2:inqure_name();break;</p><p> case 0:break;</p><p><b> }</b></p><p> }while(choice!=0);</p><p><b> }</b></p>
74、<p> int insert_message(int i) /*添加模塊*/</p><p><b> {</b></p><p> int choice;</p><p> char flag;</p><p> printf("\n\n
75、 增加一個(gè)學(xué)生信息!");</p><p> printf("\n**********************************************************");</p><p><b> do</b></p><p><b> { i++;</b>
76、</p><p> stu[i].number=sum+1;</p><p> printf("\n\n 新學(xué)生的學(xué)號(hào)");</p><p> scanf("%d",&stu[i].number);</p><p> printf("\n\n 新學(xué)生的姓名")
77、;</p><p> getchar();</p><p> scanf("%s",&stu[i].name);</p><p> printf("\n\n 數(shù)學(xué)成績(jī)");</p><p> scanf("%d",&stu[i].math);</p&
78、gt;<p> printf("\n\n 英語成績(jī)");</p><p> scanf("%d",&stu[i].english);</p><p> printf("\n\n 計(jì)算機(jī)成績(jī)");</p><p> scanf("%d",&st
79、u[i].computer);</p><p> stu[i].score=stu[i].math+stu[i].computer+stu[i].english;</p><p> stu[i].average=stu[i].score/3;</p><p> printf("\n\n 總成績(jī)%d",stu[i].score);<
80、/p><p> printf("\n\n 平均分%d",stu[i].average);</p><p><b> sum=i;</b></p><p> printf("\n\n 是否繼續(xù)?(1.是 2.否)");</p><p> scanf("%d&qu
81、ot;,&choice);</p><p> if(choice==1)</p><p><b> {</b></p><p> printf("\n 繼續(xù)");</p><p><b> flag=1;</b></p><p><b
82、> }</b></p><p> else flag=0;</p><p> }while(flag==1);</p><p> printf("\n 按任意鍵返回主菜單!");</p><p><b> return i;</b></p
83、><p> system("cls");</p><p><b> }</b></p><p> void del_message() /*刪除模塊*/</p><p><b> {</b></p><p>
84、int i=0,j,choice,del_num;</p><p><b> do</b></p><p><b> {</b></p><p> printf("\n 輸入要?jiǎng)h除的學(xué)號(hào)");</p><p> scanf("%d",&del_
85、num);</p><p> for(i=0;i<N;i++)</p><p> { if(stu[i].number==del_num)</p><p><b> {</b></p><p> printf("\n\n 刪除他的信息");</p><p> f
86、or(j=i;j<N;j++)</p><p> { stu[j]=stu[j+1];</p><p><b> }</b></p><p> printf("\n\n 刪除他的信息:\n");</p><p> printf("\n\n 學(xué)號(hào) 姓名 數(shù)學(xué) 英語 計(jì)算機(jī) 總成績(jī)
87、 平均分");</p><p> printf("\n\n-------------------------------------------------------------------");</p><p> for(i=0;i<N;i++)</p><p> { printf("\n\n %d %s
88、 %d %d %d %d %d",stu[i].number,stu[i].name,stu[i].math,stu[i].english,stu[i].computer,stu[i].score,stu[i].average);</p><p> printf("\n\n");</p><p> printf(" -
89、------------------------------------------------------------------");</p><p><b> }</b></p><p> if(i==del_num)</p><p> {printf("\n 這個(gè)學(xué)生不存在!");</p>
90、;<p> system("cls");</p><p><b> }</b></p><p> printf("\n\n 繼續(xù)刪除?(1.是 2.否)");</p><p> scanf("%d",&choice);</p><p&g
91、t; if(choice==1) printf("\n 繼續(xù)!\n");</p><p> if(choice==2) break;</p><p><b> }</b></p><p><b> }</b></p><p> }while(choice==1);&
92、lt;/p><p> printf("\n\n 按任意鍵返回主菜單!");</p><p> system("cls");</p><p><b> }</b></p><p> void sort_message()
93、 /*排序模塊*/</p><p><b> {</b></p><p><b> int i,j;</b></p><p> struct stu_type k;</p><p> for(i=0;i<N-1;i++)</p><p><b>
94、{</b></p><p> for(j=i+1;j<N;j++)</p><p> { if(stu[i].average<stu[j].average)</p><p> { k=stu[i];</p><p> stu[i]=stu[j];</p><p><b>
95、 stu[j]=k;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("\n\n 學(xué)生平均分按從大到小排列"
96、;);</p><p> printf("\n\n 學(xué)號(hào) 姓名 數(shù)學(xué) 英語 計(jì)算機(jī) 總成績(jī) 平均分");</p><p> printf("\n\n------------------------------------------------------------------");</p><p> for
97、(i=0;i<N-1;i++)</p><p><b> {</b></p><p> printf("\n\n %d %s %d %d %d %d %d",stu[i].number,stu[i].name,stu[i].math,stu[i].english,stu[i].computer
98、,stu[i].score,stu[i].average);</p><p> printf("\n\n");</p><p> printf("---------------------------------------------------------------------");</p><p><b>
99、; }</b></p><p> printf("\n\n 按任意鍵返回主菜單!");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> }</
100、b></p><p> void revise_message() /*修改模塊*/</p><p><b> {</b></p><p><b> int i=0;</b></p><p> int choice,rechoice;</p&g
101、t;<p> int revise_num;</p><p><b> do</b></p><p><b> {</b></p><p> printf("\n\n 輸入學(xué)號(hào)!");</p><p> scanf("%d&quo
102、t;,&revise_num);</p><p> for(i=0;i<N;i++)</p><p><b> {</b></p><p> if(stu[i].number==revise_num)</p><p><b> {</b></p><p>
103、; printf("\n 這個(gè)學(xué)生的信息:\n");</p><p> printf("\n\n-----------------------------------------------------------------------\n");</p><p> printf("\n\n學(xué)號(hào)--姓名--數(shù)學(xué)--英語--計(jì)算機(jī)--總
104、成績(jī)--平均分\n\n");</p><p> printf("%8d %8s %d %d %d %d %d",stu[i].number,stu[i].name,stu[i].math,stu[i].english,stu[i].computer,stu[i].score,stu[i].average);</p><p> printf(&qu
105、ot;\n\n--------------------------------------------------------------------------");</p><p> printf("\n\n 需要校正的項(xiàng)\n");</p><p> printf("\n\n 1.姓名\n");</p><p&g
106、t; printf("\n\n 2.數(shù)學(xué)\n");</p><p> printf("\n\n 3.英語\n");</p><p> printf("\n\n 4.計(jì)算機(jī)\n");</p><p> printf("\n\n 0.返回主菜單\n");</p><
107、;p> printf("\n\n 請(qǐng)選擇(0---4):");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b> {</b></p><p> case 1: printf(
108、"\n 輸入姓名:");</p><p> getchar();</p><p> scanf("%s",stu[i].name);</p><p><b> break;</b></p><p> case 2: printf("\n 輸入數(shù)學(xué)成績(jī):&quo
109、t;);</p><p> scanf("%d",&stu[i].math);</p><p><b> break;</b></p><p> case 3: printf("\n 輸入英語成績(jī):");</p><p> scanf("%d"
110、,&stu[i].english);</p><p><b> break;</b></p><p> case 4: printf("\n 輸入計(jì)算機(jī)成績(jī):");</p><p> scanf("%D",&stu[i].computer);</p><p>
111、;<b> break;</b></p><p> case 0: break;</p><p><b> }</b></p><p> printf("\n\n 修改后的學(xué)生信息:");</p><p> stu[i].score=stu[i].mat
112、h+stu[i].english+stu[i].computer;</p><p> stu[i].average=stu[i].score/3;</p><p> printf("\n\n-------------------------------------------------------------------------\n");</p>
113、<p> printf("\n\n學(xué)號(hào)--姓名--數(shù)學(xué)--英語--計(jì)算機(jī)--總成績(jī)--平均分\n\n");</p><p> printf("%8d %8s %d %d %d %d %d",stu[i].number,stu[i].name,stu[i].math,stu[i].english,stu[i].computer,stu[i].scor
114、e,stu[i].average);</p><p> printf("\n\n---------------------------------------------------------------------------");</p><p><b> }</b></p><p><b> if(i
115、==N)</b></p><p><b> {</b></p><p> printf("\n 這個(gè)學(xué)生不存在!");</p><p> system("cls");</p><p><b> }</b></p><p&
116、gt;<b> }</b></p><p> printf("\n\n 是否繼續(xù)修改?(1.是 2.否)");</p><p> scanf("%d",&rechoice);</p><p> if(rechoice==1)</p><p> printf(&qu
117、ot;\n 繼續(xù)!\n");</p><p> if(rechoice==2)</p><p><b> break;</b></p><p> }while(rechoice==1);</p><p> printf("\n 按任意鍵返回主菜單!");&
118、lt;/p><p> system("cls");</p><p><b> }</b></p><p> void count_message() /*統(tǒng)計(jì)模塊*/</p><p><b> {</b></p><p&
119、gt;<b> int i,j;</b></p><p> struct stu_type z;</p><p> for(i=0;i<N-1;i++)</p><p><b> {</b></p><p> for(j=i+1;j<N;j++)</p><
120、p> { if(stu[i].score<stu[j].score)</p><p> { z=stu[i];</p><p> stu[i]=stu[j];</p><p><b> stu[j]=z;</b></p><p><b> }</b></p>
121、<p><b> }</b></p><p><b> }</b></p><p> printf("\n\n 學(xué)生總成績(jī)按從大到小排列");</p><p> printf("\n\n 學(xué)號(hào) 姓名 數(shù)學(xué) 英語 計(jì)算機(jī) 總成績(jī) &q
122、uot;);</p><p> printf("\n\n------------------------------------------------------------------");</p><p> for(i=0;i<N-1;i++)</p><p><b> {</b></p>&
123、lt;p> printf("\n\n %d %s %d %d %d %d ",stu[i].number,stu[i].name,stu[i].math,stu[i].english,stu[i].computer,stu[i].score);</p><p> printf("\n\n");</p>&
124、lt;p> printf("---------------------------------------------------------------------");</p><p><b> }</b></p><p> printf("\n\n 按任意鍵返回主菜單!");</p
125、><p><b> getch();</b></p><p> system("cls");</p><p><b> }</b></p><p> void manger_message() /*管理模塊*/ </p>&l
126、t;p><b> {</b></p><p> int i=0,choice;</p><p> i=read_message();</p><p><b> do</b></p><p><b> {</b></p><p> pri
127、ntf("\n\n ****** 學(xué)生成績(jī)信息系統(tǒng) ******\n\n");</p><p> printf(" 1.錄入學(xué)生信息\n\n");</p><p> printf(" 2.瀏覽學(xué)生
128、信息\n\n");</p><p> printf(" 3.增加學(xué)生信息\n\n");</p><p> printf(" 4.刪除學(xué)生信息\n\n");</p><p> printf("
129、 5.排序?qū)W生信息\n\n");</p><p> printf(" 6.修改學(xué)生信息\n\n");</p><p> printf(" 7.查詢學(xué)生信息\n\n");</p>
130、<p> printf(" 8.保存學(xué)生信息\n\n");</p><p> printf(" 9.統(tǒng)計(jì)學(xué)生信息\n\n");</p><p> printf(" 0.
131、退出系統(tǒng).\n\n");</p><p> printf(" 請(qǐng)選擇(0-9)");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b>
132、 {</b></p><p> case 1: i=input_message(); break;</p><p> case 2: output_message(i); break;</p><p> case 3: i=insert_message(i); break;</p><p> case 4: del_me
133、ssage(); break;</p><p> case 5: sort_message(); break;</p><p> case 6: revise_message(); break;</p><p> case 7: inqure_message();break;</p><p> case 8: save_message
134、(sum);break;</p><p> case 9:count_message();break;</p><p> case 0: break;</p><p><b> }</b></p><p> }while(choice!=0);</p><p><b> }&l
135、t;/b></p><p> main() /*主函數(shù)*/</p><p> { int choice;</p><p> system("cls");</p><p> system("cls");</p>
136、<p><b> do</b></p><p> { printf("\n ******** 功能選擇 *******\n\n\n");</p><p> printf("\n 1.輸入密碼欄\n\n");</p
137、><p> printf("\n 2.學(xué)生信息欄\n\n");</p><p> printf("\n 0.退出\n\n");</p><p> printf("\n
138、 請(qǐng)選擇(0-2).\n\n");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p> { case 1:mangercode_message(); break;</p><p> case 2:inqur
139、e_message(); break;</p><p> case 0:break;</p><p><b> }</b></p><p> }while(choice!=0);</p><p> save_message(sum);</p><p> printf("\n 信
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)-- 學(xué)生成績(jī)信息管理系統(tǒng)
- 信息管理系統(tǒng)課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- delphi課程設(shè)計(jì)--學(xué)生成績(jī)信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生成績(jī)信息管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì) (2)
- 專業(yè)信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告+學(xué)生成績(jī)信息管理系統(tǒng)+源代碼
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告 (2)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- 課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- c語言成績(jī)信息管理系統(tǒng)課程設(shè)計(jì)--成績(jī)信息管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng) 課程設(shè)計(jì)
- 課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理信息系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論