版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 課程設計(大作業(yè))報告</p><p> 課程名稱: 程序設計基礎課程設計 </p><p> 設計題目: 學生信息管理系統(tǒng) </p><p> 院 系: 信息技術學院 </p><p> 課程設計(大作業(yè))任務書</p><p&
2、gt; 課程設計題目: 學生信息管理系統(tǒng)</p><p><b> 課程設計要求:</b></p><p> 分析課程設計的要求。</p><p><b> 寫出詳細設計說明。</b></p><p> 編寫源程序代碼,調試程序使其能正確運行。</p><p
3、> 設計完成的軟件便于操作和使用。</p><p> 設計完成后提交課程設計報告。</p><p><b> 工作計劃及安排</b></p><p> 對程序所要執(zhí)行的功能做模塊劃分,設計總圖;</p><p> 分別對各功能模塊設計可行算法,編寫源代碼;</p><p> 將各
4、模塊組裝、整合;</p><p> 調試程序、修正錯誤得到功能得以實現(xiàn)的源代碼;</p><p> 分析程序的可行性、力圖將程序做到最簡適用。</p><p> 指導教師簽字 </p><p> 年 月 日 </p><p> 課程設計(大作業(yè))成績</p
5、><p> 課程設計題目: 學生信息管理系統(tǒng)</p><p><b> 總結:</b></p><p> 課程設計,用了結構體、函數調用、指針、排序等知識</p><p> 對于C的課程設計,給我以學以致用的感覺。</p><p> 總是感覺自己知道的、學的東西太少,簡直就
6、是滄海一粟。</p><p><b> 指導教師評語:</b></p><p><b> 成績:</b></p><p> 填表時間:</p><p><b> 指導教師簽名</b></p><p> 課程設計(大作業(yè))報告<
7、;/p><p> 1、課程設計介紹………………………………………………1</p><p> 1.1 課程設計內容……………………………………………………………….5</p><p> 1.2 課程設計要求……………………………………………………………….5</p><p> 2、總體設計……………………………………………………6</
8、p><p> 2.1 課設題目總體設計、算法描述……………………………………………6</p><p> 2.2功能模塊圖、流程圖分析………………………………………………….6</p><p> 3、調試與性能分析……………………………………………10</p><p> 4、參考文獻……………………………………………………10</p&
9、gt;<p> 附 錄(程序清單)…………………………………………..11</p><p><b> 一 課程設計介紹</b></p><p> 1.1 課程設計內容</p><p><b> 1、設計的目的</b></p><p> 1. 鞏固和加深學生對C語言課程的
10、基本知識的理解和掌握</p><p> 2. 掌握C語言編程和程序調試的基本技能</p><p> 3. 利用C語言進行基本的軟件設計</p><p> 4. 掌握書寫程序設計說明文檔的能力</p><p> 5. 提高運用C語言解決實際問題的能力</p><p><b> 2、設計的任務</
11、b></p><p> 根據學生的實際情況,進行分組選題。主要的課程設計題目如下(學生可自主選題):</p><p> 1、學生成績管理系統(tǒng) </p><p> 2、設計一個通訊錄管理系統(tǒng)</p><p> 3、圖書管理系統(tǒng)設計</p><p> 課程設計采用學生自主設計和指導老師輔導相結合的方
12、式。</p><p> 1.2 課程設計要求</p><p> 1.學生成績管理系統(tǒng)。</p><p><b> 具體要求如下:</b></p><p> 學生的信息包括:班級,學號,姓名,課程名,成績(百分制)等,用結構體數組存儲數據。</p><p> 系統(tǒng)以菜單方式工作,提供鍵盤式
13、選擇菜單以實現(xiàn)功能選擇;要求實現(xiàn)對成績的管理功能(添加、刪除、排序);實現(xiàn)對成績的統(tǒng)計功能(最高分,最低分,平均分,及格率等); 實現(xiàn)按學號、姓名、或課程名查詢成績的功能。</p><p><b> 二 總體設計</b></p><p> 2.1 設計流程圖如下:</p><p><b> 詳細設計</b><
14、/p><p> 1、輸入初始的學生信息:其中包括學生的姓名、學號和性別以及學生的語文、數學、英語和計算機等相關信息;可用函數cin(stu *p1)來實現(xiàn)此操作。</p><p> 2、查詢模塊:可用stu *lookdata(stu *p1) 來實現(xiàn)。找到就輸出此學生全部信息包括學生的語文、數學、英語和計算機等的成績。</p><p> 3、插入模塊:可用in
15、sert( )函數來實現(xiàn)。其中通過學號的大小來比較的,并且以此來排序。</p><p> 4、輸出學生的信息以及成績:通過學生的姓名來查看學生的語文、數學、英語和計算機等相關成績,同時也可以分別通過caverage() 、 maverage() 、eaverage() 和comaverage() 來輸出語文、數學、英語和計算機等成績的平均分數、最高和最低分數。</p><p> 5
16、、退出系統(tǒng):可用一個函數exit()來實現(xiàn),首先將信息保存到文件中,釋放動態(tài)創(chuàng)建的內存空間,再退出此程序。</p><p> 2.2功能模塊圖、流程圖分析</p><p> 1、查找原有數據 & 輸入函數</p><p> 2、顯示所有數據函數(輸入2回車即顯示)</p><p> 3、按各學科成績排名輸出(語文)</p
17、><p> 4、按學號或姓名查找函數</p><p><b> 5、插入數據</b></p><p> 插入后的排序(總分)</p><p> 6、按學號或姓名刪除記錄(學號)</p><p><b> 三 調試與性能分析</b></p><p>
18、; 問題一、學生初始信息模塊:</p><p> 其中包括學生的姓名、學號和性別以及學生的語文、數學、英語和計算機等相關信息;可用函數cin(stu *p1)來實現(xiàn)此操作。當正確輸入存在的學生學號,系統(tǒng)進行判斷時,提示不存在此學生。</p><p><b> 解決辦法及步驟:</b></p><p> 1、一個個輸出所有的學生的學號,檢
19、查文件中是否有此學生,發(fā)現(xiàn)有。</p><p> 2、既然有此學生,那么檢查循環(huán)判斷是否有此學生的語句發(fā)現(xiàn)沒有錯</p><p> 3、輸出用于循環(huán)檢查語句中的學生信息,發(fā)現(xiàn)亂碼</p><p> 4、仔細分析亂碼的原因,最后發(fā)現(xiàn)是變量的類型錯誤,錯將學生類型的結構體指針變量定義為了其他類型的指針變量。</p><p><b>
20、; 問題二、查詢模塊:</b></p><p> 可用stu *lookdata(stu *p1) 來實現(xiàn)。找到就輸出此學生全部信息包括學生的語文、數學、英語和計算機等的成績。當正確輸入查找信息時,系統(tǒng)卻不能夠得到所要查找的學生信息以及學生的語文、數學、英語和計算機的成績。</p><p><b> 解決辦法及步驟:</b></p>
21、<p> 1、檢查所編寫的程序代碼是否完全正確,若不是,則改之,然后再繼續(xù)正確輸入查找信息看能否得到所要查找的學生信息以及學生的語文、數學、英語和計算機的成績。</p><p> 2、檢查當我們在輸入查找信息時,看是否我們輸入的信息有誤,若是這樣的話,我們應當仔細輸入查找信息。</p><p><b> 四 參考文獻:</b></p>&
22、lt;p> C程序設計(第三版);</p><p><b> 百度知道;</b></p><p><b> 附 錄(程序清單)</b></p><p> #include <stdio.h></p><p> #include <math.h></p&g
23、t;<p> #define N 30</p><p> struct student /*定義結構體變量并附初值*/</p><p><b> {</b></p><p> long int num;</p><p> char name[10];</p
24、><p> char sex[3];</p><p> int Chinese,Math,English,total,average;</p><p> }stu[N]={{4001,"lks","m",100,100,100},{4002,"lyt","w",99,63,89},&l
25、t;/p><p> {4003,"asd","w",60,70,80},{4004,"fgh","m",41,100,98},{4005,"asd","m",74,74,87},{4006,"yt","m",85,58,78},{4007,"qwe
26、","w",74,100,87},{4008,"dcs","w",74,85,96},{4009,"qfg","m",74,78,36},{4010,"gft","m",45,85,98},{4011,"mn","m",60,77,17},{4012
27、,"yer","w",78,78,100},{4013,"lsd","m",100,89,85}},s;</p><p><b> int M=13;</b></p><p> void modify(struct student stu[]) /*查找原有數據 &
28、 輸入函數*/</p><p><b> {</b></p><p><b> int t;</b></p><p><b> long num;</b></p><p><b> char z;</b></p><p>
29、 t=search(stu)-400;</p><p> printf("input num:");</p><p> scanf("%ld",&stu[t].num);</p><p> printf("input name:");</p><p> scanf(&
30、quot;%s",stu[t].name);</p><p> printf("input sex:");</p><p> scanf("%s",stu[t].sex);</p><p> printf("input score of Chinese:");</p><
31、p> scanf("%d",&stu[t].Chinese);</p><p> printf("input score of Math:");</p><p> scanf("%d",&stu[t].Math);</p><p> printf("input sco
32、re of English:");</p><p> scanf("%d",&stu[t].English);</p><p> stu[t].average=(stu[t].English+stu[t].Math+stu[t].Chinese)/3;</p><p> stu[t].total=stu[t].Englis
33、h+stu[t].Math+stu[t].Chinese;</p><p> printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");</p><p> printf("\t%4ld\t",stu[t].num);</p><p> pri
34、ntf(" %s\t",stu[t].name);</p><p> printf("%s\t",stu[t].sex);</p><p> printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[t].Chinese,stu[t].Math,stu[t].English,stu[t].total,stu[t
35、].average);</p><p> printf("Next?y/n???");</p><p> scanf("%s",&z);</p><p> if(z=='y')</p><p> modify(stu);</p><p><b
36、> }</b></p><p> void output(struct student stu[]) /*顯示所有數據函數*/</p><p><b> {</b></p><p><b> Int i;</b></p><p> printf("
37、;\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");</p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> printf("\t%4ld\t",stu[i].num);</
38、p><p> printf(" %s\t",stu[i].name);</p><p> printf("%s\t",stu[i].sex);</p><p> printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[i].Chinese,stu[i].Math,stu[i].Engli
39、sh,stu</p><p> [i].total,stu[i].average);</p><p><b> }</b></p><p><b> }</b></p><p> void sort(struct student stu[]) /*按各學科成績排名輸出*/&
40、lt;/p><p><b> {</b></p><p> int i,j,t;</p><p> printf("1.an yingyu chengji paixu\n2.an yuwen chengji paixu\n3.an shuxue chengji paixu\n4.an pingjue chengji paixu\n5
41、.an zongfen paixu\n");</p><p> scanf("%d",&t);</p><p><b> switch(t)</b></p><p><b> {</b></p><p><b> case 1:</b&g
42、t;</p><p> for(i=0;i<M-1;i++)</p><p> for(j=0;j<M-i-1;j++)</p><p><b> {</b></p><p> if(stu[j].English<stu[j+1].English)</p><p><
43、;b> {</b></p><p><b> s=stu[j];</b></p><p> stu[j]=stu[j+1];</p><p> stu[j+1]=s;</p><p><b> }</b></p><p><b> }&
44、lt;/b></p><p> output(stu);</p><p> getchar(); break;</p><p><b> case 2:</b></p><p> for(i=0;i<M-1;i++)</p><p> for(j=0;j<M-i-1;j
45、++)</p><p><b> {</b></p><p> if(stu[j].Chinese<stu[j+1].Chinese)</p><p><b> {</b></p><p><b> s=stu[j];</b></p><p&g
46、t; stu[j]=stu[j+1];</p><p> stu[j+1]=s;</p><p><b> }</b></p><p><b> }</b></p><p> output(stu);</p><p> getch(); break;</p&
47、gt;<p><b> case 3:</b></p><p> for(i=0;i<M-1;i++)</p><p> for(j=0;j<M-i-1;j++)</p><p><b> {</b></p><p> if(stu[j].Math<stu[
48、j+1].Math)</p><p><b> {</b></p><p><b> s=stu[j];</b></p><p> stu[j]=stu[j+1];</p><p> stu[j+1]=s;</p><p><b> }</b>
49、</p><p><b> }</b></p><p> output(stu);</p><p> getch();break;</p><p><b> case 4:</b></p><p> for(i=0;i<M-1;i++)</p>
50、<p> for(j=0;j<M-i-1;j++)</p><p><b> {</b></p><p> if(stu[j].average<stu[j+1].average)</p><p><b> {</b></p><p><b> s=stu[j
51、];</b></p><p> stu[j]=stu[j+1];</p><p> stu[j+1]=s;</p><p><b> }</b></p><p><b> }</b></p><p> output(stu);</p>&l
52、t;p> getch();break;</p><p><b> case 5:</b></p><p> for(i=0;i<M-1;i++)</p><p> for(j=0;j<M-i-1;j++)</p><p><b> {</b></p><
53、;p> if(stu[j].total<stu[j+1].total)</p><p><b> {</b></p><p><b> s=stu[j];</b></p><p> stu[j]=stu[j+1];</p><p> stu[j+1]=s;</p>
54、<p><b> }</b></p><p><b> }</b></p><p> output(stu);</p><p> getch();break;</p><p><b> }</b></p><p><b>
55、 }</b></p><p> int search(struct student stu[]) /*按學號或姓名查找函數*/</p><p><b> {</b></p><p> long t,i,z,K='y';</p><p> char name[20];<
56、/p><p> printf("1.an xuehao chazhao\n2.an xingming chazhao\n");</p><p> scanf("%d",&z);</p><p><b> switch(z)</b></p><p><b> {
57、</b></p><p><b> case 1:</b></p><p> printf("qing shuru xuehao:\n");</p><p> scanf("%ld",&t);</p><p> for(i=0;i<M;i++)&l
58、t;/p><p><b> {</b></p><p> if(stu[i].num==t)</p><p><b> {</b></p><p><b> K='x';</b></p><p> printf("\tNU
59、M\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");</p><p> printf("\t%4ld\t",stu[i].num);</p><p> printf(" %s\t",stu[i].name);</p><p> printf(&quo
60、t; %s\t",stu[i].sex);</p><p> printf("%4d\t%4d\t%4d\t%4d%6d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average);</p><p> return(stu[i].num);</p><
61、;p> getchar();break;</p><p><b> }</b></p><p><b> }</b></p><p><b> if(K='y')</b></p><p><b> { </b></p&
62、gt;<p> printf("No find"); </p><p><b> getch(); </b></p><p><b> } </b></p><p><b> break; </b></p><p><b>
63、 case 2: </b></p><p> printf("qing shuru xingming:"); </p><p> scanf("%s",name); </p><p> for(i=0;i<M;i++) </p><p><b> { </b&g
64、t;</p><p> if(strcmp(stu[i].name,name)==0) </p><p><b> { </b></p><p> K='x'; printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n"); &
65、lt;/p><p> printf("\t%4ld\t",stu[i].num); </p><p> printf(" %s\t",stu[i].name); </p><p> printf(" %s\t",stu[i].sex); </p><p> printf(&quo
66、t;%4d\t%4d\t%4d\t%4d%6d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average); </p><p> getche(); </p><p><b> break; </b></p><p><b> }
67、</b></p><p><b> } </b></p><p> if(K='y') </p><p><b> { </b></p><p> printf("No find"); </p><p> getcha
68、r(); </p><p><b> } </b></p><p><b> break; </b></p><p><b> } </b></p><p><b> } </b></p><p> void insert
69、(struct student stu[]) /*插入函數*/</p><p><b> { </b></p><p> int i;char z='y'; </p><p> for(i=M;i<=N&&z=='y';i++) </p><p>&
70、lt;b> { </b></p><p> printf("input num:"); </p><p> scanf("%ld",&stu[i].num); </p><p> printf("input name:"); </p><p> s
71、canf("%s",stu[i].name); </p><p> printf("input sex:"); </p><p> scanf("%s",stu[i].sex); </p><p> printf("input score of Chinese:"); </p
72、><p> scanf("%d",&stu[i].Chinese); </p><p> printf("input score of Math:");</p><p> scanf("%d",&stu[i].Math);</p><p> printf(&quo
73、t;input score of English:"); </p><p> scanf("%d",&stu[i].English); </p><p> stu[i].average=(stu[i].English+stu[i].Math+stu[i].Chinese)/3; </p><p> stu[i].to
74、tal=stu[i].English+stu[i].Math+stu[i].Chinese; </p><p> printf("Next?y/n???"); </p><p> z=getch(); </p><p> if(z!='y') </p><p><b> { </b&
75、gt;</p><p><b> M=i+1; </b></p><p> sort(stu); </p><p> output(stu); </p><p><b> } </b></p><p><b> } </b></p>
76、<p><b> } </b></p><p> void delete(struct student stu[]) /*刪除函數*/</p><p><b> { </b></p><p> long t,i,z;</p><p> char l,nam
77、e[20]; </p><p> printf("1.an xuehao shanchu/n2.an xingming chanchu"); </p><p> scanf("%d",&z); </p><p> switch(z) </p><p><b> { </b
78、></p><p><b> case 1: </b></p><p> printf("qing shuru xuehao:"); </p><p> scanf("%ld",&t); </p><p> for(i=0;i<M;i++) </p
79、><p><b> { </b></p><p> if(stu[i].num==t) </p><p><b> { </b></p><p> printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n
80、"); </p><p> printf("\t%4ld\t",stu[i].num); </p><p> printf(" %s\t",stu[i].name); </p><p> printf("%s\t",stu[i].sex); </p><p
81、> printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average); </p><p><b> break; </b></p><p><b> } </b></
82、p><p><b> } </b></p><p> printf("Go on?y/n???"); </p><p> scanf("%s",&l); </p><p> if(l=='y') </p><p><b>
83、; { </b></p><p> for(;i<M;i++) </p><p><b> { </b></p><p> stu[i]=stu[i+1]; </p><p><b> }</b></p><p> stu[M-1].num=0;
84、</p><p> output(stu); </p><p><b> } </b></p><p><b> else </b></p><p><b> break; </b></p><p><b> case 2: <
85、/b></p><p> printf("qing shuru xingming:"); </p><p> scanf("%s",name); </p><p> for(i=0;i<M;i++) </p><p><b> { </b></p>
86、<p> if(strcmp(stu[i].name,name)==0) </p><p><b> { </b></p><p> printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n"); </p><p> printf
87、("\t%4ld\t",stu[i].num); </p><p> printf(" %s\t",stu[i].name); </p><p> printf("%s\t",stu[i].sex); </p><p> printf("%4d\t%4d\t%4d\t%4d%8d
88、\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average); </p><p><b> break; </b></p><p><b> } </b></p><p><b> } </b>&l
89、t;/p><p> printf("Go on?y/n???"); </p><p> scanf("%s",&l); </p><p> if(l=='y') </p><p><b> { </b></p><p> for
90、(;i<M;i++) </p><p><b> { </b></p><p> stu[i]=stu[i+1]; </p><p><b> } </b></p><p> stu[M-1].num=0; </p><p> output(stu); <
91、;/p><p><b> } </b></p><p><b> else </b></p><p><b> break; </b></p><p><b> } </b></p><p><b> } </
92、b></p><p> main() /*主函數*/</p><p><b> { </b></p><p> int choice,i; </p><p> clrscr(); </p><p> for(i=0;i<M;i++
93、) </p><p> { </p><p> stu[i].average=(stu[i].English+stu[i].Math+stu[i].Chinese)/3; ; </p><p> stu[i].total=stu[i].English+stu[i].Math+stu[i].Chinese; </p><p
94、><b> } </b></p><p><b> for(;;) </b></p><p><b> { </b></p><p> printf("\n------ xuesheng chengji guanli xitong------\n"); </p&
95、gt;<p> printf("1.modify xuesheng jilu \n"); </p><p> printf("2.output xuesheng jilu\n"); </p><p> printf("3.sort xuesheng jilu\n"); </p><p>
96、 printf("4.search xuesheng jilu\n"); </p><p> printf("5.insert xuesheng jilu\n"); </p><p> printf("6.delete xuesheng jilu\n"); </p><p> printf(&quo
97、t;7. exit\n"); </p><p> printf("pllease input(1-7):\n"); </p><p> scanf("%d",&choice); </p><p> switch(choice) </p><p><b> { <
98、/b></p><p> case 1:modify(stu); </p><p><b> break; </b></p><p> case 2:output(stu); </p><p><b> break; </b></p><p> case 3:
99、sort(stu); </p><p><b> break; </b></p><p> case 4:search(stu); </p><p><b> break; </b></p><p> case 5:insert(stu); </p><p><
100、b> break; </b></p><p> case 6:delete(stu); </p><p><b> break; </b></p><p> case 7:exit();</p><p><b> break; </b></p><p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言程序設計課程設計報告----學生信息管理系統(tǒng)
- java面向對象程序設計課程設計--學生信息管理系統(tǒng)程序設計
- c++程序設計課程設計---學生信息管理系統(tǒng)
- 《程序設計語言》課程設計-學生信息管理系統(tǒng)
- 計算機程序設計課程設計--學生信息管理系統(tǒng)
- c語言程序設計課程設計報告--職工信息管理系統(tǒng)
- c語言程序設計課程設計--學生宿舍信息管理系統(tǒng)
- 《面向對象程序設計與java》課程設計--學生信息管理系統(tǒng)
- 《面向對象程序設計與java》課程設計 學生信息管理系統(tǒng)
- 圖書信息管理系統(tǒng)-《c語言程序設計》課程設計報告
- 圖書信息管理系統(tǒng)課程設計報告--c語言程序設計
- 《面向對象程序設計》課程設計報告---圖書信息管理系統(tǒng)
- java程序設計課程設計員工信息管理系統(tǒng)設計
- 學生信息管理系統(tǒng)課程設計報告
- 課程設計報告--學生信息管理系統(tǒng)
- 《高級語言程序設計》課程設計報告
- 學生信息管理系統(tǒng)課程設計報告
- 學生信息管理系統(tǒng)課程設計報告
- 學生信息管理系統(tǒng)課程設計報告
- 學生信息管理系統(tǒng)課程設計報告
評論
0/150
提交評論