

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> C語言程序設(shè)計報告</b></p><p> 題 目 學(xué)生成績管理系統(tǒng)設(shè)計 </p><p> 院 系 計算機工程學(xué)院 </p><p> 專 業(yè) 數(shù)字媒體技術(shù) </p><p> 目
2、 錄</p><p> 一、內(nèi)容摘要與課程設(shè)計目的......................................</p><p> 二、設(shè)計題目分析..........................................................</p><p> 2.1題目意義.......................
3、.......................................</p><p> 2.2設(shè)計思想..............................................................</p><p> 三、課程設(shè)計要求..........................................................
4、.</p><p> 四、程序清單和執(zhí)行結(jié)果...............................................</p><p> 4.1菜單函數(shù)..............................................................</p><p> 4.2輸入函數(shù)................
5、..............................................</p><p> 4.3輸出函數(shù)..............................................................</p><p> 4.4排序函數(shù)....................................................
6、..........</p><p> 4.5查詢函數(shù)..............................................................</p><p> 4.6插入函數(shù)..............................................................</p><p> 4.7
7、刪除函數(shù)……………………………………… </p><p> 五、總結(jié)與體會...............................................................</p><p> 六、參考文獻(xiàn)...................................................................</p>
8、<p> 內(nèi)容摘要與課程設(shè)計的目的</p><p> 1.1內(nèi)容摘要:本次課程設(shè)計的課題是學(xué)生成績管理系統(tǒng),本文介紹課程設(shè)計課題的選題意義,說明了本系統(tǒng)提供的主要功能,對設(shè)計目的、設(shè)計意義、設(shè)計思路與各個函數(shù)進(jìn)行了詳細(xì)的說明。本文提供了主要的源程序代碼,并展示了每個函數(shù)的功能與運行效果的圖片,清晰的讓讀者知道哪塊程序段是做什么用途的。最后寫了我關(guān)于對于此次的課程設(shè)計的想法與感受外加所獲。</
9、p><p> 1.2課程設(shè)計的目的:通過課程設(shè)計的課程設(shè)計題目與答辯來確認(rèn)我們第一個學(xué)期的c語言學(xué)習(xí)情況是如何的,同樣通過對一個課件包括多個功能的實現(xiàn)更加奠定c語言的基礎(chǔ),能夠更好地學(xué)習(xí)接下來的課程。</p><p><b> 設(shè)計題目分析</b></p><p><b> 2.1題目的意義</b></p>
10、<p> 一個學(xué)校需要管理學(xué)生的基本信息和各門功課的考試成績,希望當(dāng)用到時直接從計算機中輸出,從而減輕管理人員的負(fù)擔(dān),也使學(xué)生的成績和信息能夠長期保存。通過建立一個簡單的學(xué)生成績管理系統(tǒng)來管理學(xué)生的成績和信息。</p><p><b> 2.2設(shè)計思想</b></p><p> 函數(shù)的調(diào)用:通過函數(shù)調(diào)用實現(xiàn)各個模塊的功能</p><
11、;p> 創(chuàng)建結(jié)構(gòu)體類型:通過創(chuàng)建結(jié)構(gòu)體類型,將不同類型的數(shù)據(jù)組合成一個有機的整體,以便使用。</p><p><b> 課程設(shè)計要求</b></p><p> 學(xué)生成績信息包括:學(xué)號、班級、姓名、四門課程成績(語文、數(shù)學(xué)、英語、計算機)</p><p><b> 系統(tǒng)需要有一下功能</b></p>
12、<p> 能對學(xué)生的成績進(jìn)行插入、修改、刪除;</p><p> 能對學(xué)生的成績進(jìn)行求總分以及平均分;</p><p> 能查詢學(xué)生的成績,各科目成績及學(xué)生的名單</p><p> 能對每位學(xué)生的成績按總分進(jìn)行從高到低排序(降序)。</p><p><b> 四、總結(jié)與體會</b></p&g
13、t;<p> 剛開始的時候著手寫學(xué)生成績管理系統(tǒng)的源代碼時什么都不會,完全不知道從何下手,后來從網(wǎng)上看看別人的課件資料再加上問大二的學(xué)長總算有了點思路,但是具體寫還是困難的,比如最后的課件設(shè)計的源代碼中的插入和刪除的使用需要用的密碼 這一些源代碼都是在網(wǎng)上拼拼湊湊找的再加上最后自己改改弄弄 終于運行出來了。尤其是在多次運行不行以后,可以運行后心情的愉悅是無法表達(dá)的,而且在課件設(shè)計期間 其他的收獲也是不小的,使我對c語言有
14、些</p><p> 已經(jīng)忘卻的知識點都重新又牢記在腦海中,感覺自己能理解</p><p> 程序的思想了,對結(jié)構(gòu)體有了大概的認(rèn)識以及使用。</p><p> 關(guān)于此次的學(xué)生成績管理系統(tǒng)的c語言的源代碼涉及雖然這個程序不是完全是自己編的,有些是問別人的和在看書及查資料的,但全部都是經(jīng)過自己的反復(fù)斟酌的 對于不是自己寫的源代碼段我也會反復(fù)看代碼然后弄懂代碼的含義
15、和對c程序源代碼的思想。有時候查c語言的相關(guān)資料,是從來沒有見到過的所以覺得自己學(xué)到了很多其他以前并不知道和所涉及的東西,還有在調(diào)試和運行期間 發(fā)現(xiàn)的許多錯誤,有很多的都是細(xì)小的 不容易發(fā)現(xiàn)的,這些就需要我更加認(rèn)真對待這份課件設(shè)計,在不斷調(diào)試和修改的過程中 有反復(fù)修改依舊有錯誤的時候 那時候我請教比我大一屆的學(xué)長 他幫助我找到了錯誤,也知道了自己在哪方面有些明顯的知識點的欠缺。課件設(shè)計的意義是極大的,現(xiàn)在自己對程序整體的把握,利用書上的
16、一些程序段 知識點 能使程序變得更加的簡單化、清楚化,都是我在課程設(shè)計中所學(xué)到的??傊豢磿恍?,光看書也不行,必須自己去思考去實踐才知道如何使用書上的東西,才能把東西活學(xué)活用,更好的運用c語言的知識!</p><p> 五、程序清單和執(zhí)行結(jié)果</p><p><b> 5.1菜單函數(shù)</b></p><p> void main()
17、 //菜單函數(shù)</p><p><b> {</b></p><p> char choice;</p><p><b> while (1)</b></p><p> {printf("\n\n");</p><p> prin
18、tf(" 學(xué)生成績管理系統(tǒng)\n");</p><p> printf("******************************************\n");</p><p> printf(" 1.輸入學(xué)生成績.\n");</p><p> print
19、f(" 2.輸出所有學(xué)生成績.\n");</p><p> printf(" 3.對學(xué)生成績排序.\n");</p><p> printf(" 4.查找學(xué)生信息.\n");</p><p> printf(" 5.插入
20、某一學(xué)生成績(需要密碼).\n");</p><p> printf(" 6.刪除某一學(xué)生成績(需要密碼).\n");</p><p> printf(" 7.錄入結(jié)果存放到文件.\n");</p><p> printf(" 8.退出管理系統(tǒng).\
21、n");</p><p> printf("******************************************\n");</p><p> printf(" 請輸入代碼選擇(1~8):");</p><p><b> 5.2輸入函數(shù)</b></p&
22、gt;<p> void input() //輸入函數(shù)</p><p><b> {</b></p><p><b> int i=0;</b></p><p> char ask; </p><p><b> while(1)</b></p
23、><p> {printf("\n\n");</p><p> printf("請輸入學(xué)生信息\n");</p><p> printf("學(xué)號:");</p><p> scanf("%d",&stu[i].num);</p><
24、;p> printf("姓名:");</p><p> scanf("%s",stu[i].name);</p><p> printf("班級:");</p><p> scanf("%d",&stu[i].bj);</p><p> p
25、rintf("語文:");</p><p> scanf("%d",&stu[i].chinese);</p><p> printf("高數(shù):");</p><p> scanf("%d",&stu[i].math);</p><p>
26、printf("英語:");</p><p> scanf("%d",&stu[i].english);</p><p> printf("計算機:");</p><p> scanf("%d",&stu[i].com);</p><p>
27、 stu[i].sum=stu[i].chinese+stu[i].math+stu[i].english+stu[i].com;</p><p> stu[i].ave=stu[i].sum/4;</p><p><b> i++;</b></p><p> getchar();</p><p> printf
28、("繼續(xù)輸入信息嗎?(Y/N)");</p><p> ask=getchar();</p><p> if(ask!='y'&&ask!='Y')</p><p><b> {</b></p><p> getchar();</p>
29、;<p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 5.3輸出函數(shù)</b>&l
30、t;/p><p> void output() //輸出函數(shù)</p><p><b> {</b></p><p><b> int i;</b></p><p> printf("\n\n");</p><p> printf("學(xué)號
31、 姓名 班級 語文 高數(shù) 英語 計算機 總分 均分\n");</p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> if(stu[i].num )</p><p> printf("%4d%9s%8d%8d%8d%8d%8
32、d%8d%8d\n",stu[i].num,stu[i].name,stu[i].bj,stu[i].chinese,stu[i].math,stu[i].english,stu[i].com,stu[i].sum,stu[i].ave);</p><p><b> }</b></p><p><b> }</b></p>
33、;<p><b> 5.4排序函數(shù)</b></p><p> void sort() //排序函數(shù)</p><p><b> {</b></p><p> char choic;</p><p><b> while (1)</b></p&g
34、t;<p><b> {</b></p><p> printf("\n\n");</p><p> printf(" 對學(xué)生成績排序 \n");</p><p> printf("********************
35、**********************\n");</p><p> printf(" 1.按學(xué)號排序(升序)。 \n");</p><p> printf(" 5.按總分排序(降序)。 \n");</p><p> print
36、f(" 6.退出查找。 \n");</p><p> printf("******************************************\n");</p><p> printf(" 請輸入代碼選擇(1~6):");</p&g
37、t;<p> choic=getchar();</p><p> getchar();</p><p> switch(choic)</p><p><b> {</b></p><p> case'1':sort_1();output();break;</p>&l
38、t;p> case'5':sort_2();output();break;</p><p> case'6':return;</p><p> default:continue;</p><p><b> }</b></p><p><b> }</b>
39、;</p><p><b> }</b></p><p> void sort_1() //將學(xué)號以升序排序</p><p><b> {</b></p><p><b> int i,j;</b></p><p> struct stud
40、ent temp;</p><p> for(j=0;j<M-1;j++)</p><p> for(i=0;i<M-1-j;i++)</p><p> if(stu[i].num>stu[i+1].num)</p><p><b> {</b></p><p> te
41、mp=stu[i];</p><p> stu[i]=stu[i+1];</p><p> stu[i+1]=temp;</p><p><b> }</b></p><p><b> }</b></p><p> void sort_2() //按總分成績降
42、序排</p><p><b> {</b></p><p><b> int i,j;</b></p><p> struct student temp;</p><p> for(j=0;j<M-1;j++)</p><p> for(i=0;i<M-
43、1-j;i++)</p><p> if(stu[i].sum<stu[i+1].sum)</p><p><b> {</b></p><p> temp=stu[i];</p><p> stu[i]=stu[i+1];</p><p> stu[i+1]=temp;</
44、p><p><b> }</b></p><p><b> }</b></p><p><b> 5.5查詢函數(shù)</b></p><p> void search() //查找函數(shù)</p><p><b> {</b>&l
45、t;/p><p><b> int i;</b></p><p> char m[10];</p><p> printf("\n\n");</p><p> printf("請輸入要查找同學(xué)的姓名:");</p><p> scanf("%
46、s",m);</p><p> for(i=0;i<M;i++)</p><p> if(strcmp(m,stu[i].name)==0)</p><p><b> {</b></p><p> printf("學(xué)號 姓名 班級 語文 高數(shù) 英語 計算機 總分 均分\n");
47、</p><p> printf("%4d%9s%8d%8d%8d%8d%8d%8d%8d\n",stu[i].num,stu[i].name,stu[i].bj,stu[i].chinese,stu[i].math,stu[i].english,stu[i].com,stu[i].sum,stu[i].ave);</p><p><b> return;
48、</b></p><p><b> }</b></p><p> printf(" 沒有找到該學(xué)生信息!");</p><p><b> return;</b></p><p><b> }</b></p>
49、<p><b> 5.6插入函數(shù)</b></p><p> void insert() //插入記錄函數(shù)</p><p><b> {</b></p><p> struct student temp;</p><p><b> int i,j;</b&g
50、t;</p><p> printf("\n\n");</p><p> printf(" 此項為管理員權(quán)限.請慎用!\n");</p><p> printf(" 若使用,請輸入密碼!\n");</p><p> printf(&qu
51、ot; 密碼: ");</p><p> password();</p><p><b> if(m)</b></p><p><b> {</b></p><p> printf(" 密碼正確!");</p><
52、p> printf("請輸入學(xué)生信息\n"); //輸入要插入的數(shù)據(jù)</p><p> printf("學(xué)號:");</p><p> scanf("%d",&temp.num);</p><p> printf("姓名:");</p><p
53、> scanf("%s",temp.name);</p><p> printf("班級:");</p><p> scanf("%d",&temp.bj);</p><p> printf("語文:");</p><p> scanf(&
54、quot;%d",&temp.chinese);</p><p> printf("高數(shù):");</p><p> scanf("%d",&temp.math);</p><p> printf("英語:");</p><p> scanf(&quo
55、t;%d",&temp.english);</p><p> printf("計算機:");</p><p> scanf("%d",&temp.com);</p><p> temp.sum=temp.chinese+temp.math+temp.english+temp.com; //求出
56、總分</p><p> temp.ave=temp.sum/4;</p><p> getchar();</p><p><b> sort_2();</b></p><p> for(i=0;i<M;i++)</p><p><b> {</b></p
57、><p> if(temp.sum>stu[i].sum) //找出要插入的點 i</p><p><b> {</b></p><p> for(j=M-2;j>=i;j--) //將原來的數(shù)據(jù)向后移動</p><p> stu[j+1]=stu[j]; //將插入的值 賦值給結(jié)構(gòu)體中&
58、lt;/p><p> stu[i]=temp;</p><p> printf("插入學(xué)生記錄之后為(總分降序):");</p><p><b> output();</b></p><p> return; //結(jié)束查找,避免循環(huán)</p><p><b>
59、 }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf(&qu
60、ot; 密碼錯誤!\n");</p><p> printf(" 返回上一級菜單!");</p><p><b> }</b></p><p><b> }</b></p><p><b> 5.7刪除函數(shù)<
61、;/b></p><p> void del () //刪除函數(shù)</p><p><b> {</b></p><p> int num,i,j;</p><p> printf("\n\n");</p><p> printf("
62、 此項為管理員權(quán)限.請慎用!\n");</p><p> printf(" 若使用,請輸入密碼!\n");</p><p> printf(" 密碼: ");</p><p> password();</p><p><b>
63、 if(m)</b></p><p><b> {</b></p><p> printf(" 密碼正確!");</p><p> printf("\n請輸入要刪除記錄學(xué)生的學(xué)號");</p><p> scanf("%d",&
64、;num);</p><p><b> sort_1();</b></p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> if(num==stu[i].num)</p><p><b> {<
65、;/b></p><p> for(j=i;j<M;j++)</p><p> stu[j]=stu[j+1];</p><p> printf("刪除一條記錄后數(shù)據(jù)為:");</p><p><b> sort_1();</b></p><p><b
66、> output();</b></p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p
67、><b> else</b></p><p><b> {</b></p><p> printf(" 密碼錯誤!\n");</p><p> printf(" 返回上一級菜單!");</p><p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言程序課程設(shè)計--學(xué)生成績管理系統(tǒng)設(shè)計
- c語言程序設(shè)計課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計---學(xué)生成績管理系統(tǒng)程序設(shè)計
- c語言課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計----學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)設(shè)計
- c語言課程設(shè)計-學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)--c語言課程設(shè)計
- c語言課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計———學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計學(xué)生成績管理系統(tǒng)
評論
0/150
提交評論