版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、xxxxxxx 學院課程設(shè)計學號班級姓名扌旨導教y帀2008 年 9 月 12 e)課程設(shè)計任務(wù)書一、課程設(shè)計題目:班級學生成績管理二、課程設(shè)計工作自2008年9月8日起至2008年9月12日止三、課程設(shè)計內(nèi)容:運用所學的c語言知識,編制和調(diào)試程序,具體要求如下:添加學生數(shù)據(jù)刪除學牛數(shù)據(jù)按總成績排序,并顯示名次(成績相同,名次相同) 成績查詢再加一項功能注:每個學生數(shù)據(jù)至少應(yīng)該包括學號、姓名、三門成績,學生數(shù)據(jù)要保存在student.dat文件中。四、課程設(shè)計要求:程序質(zhì)量:貫徹事件驅(qū)動的程序設(shè)計思想。用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾。用八界而中的菜單至少應(yīng)包括“學生信
2、息查詢(根據(jù)姓名,或編號 等。)”、“顯示全部學生信息”、“添加學生信息”、“刪除學生信息”、"退出” 5項。 代碼應(yīng)適當縮進,并給出必要的注釋,以增強程序的可讀性。課程設(shè)計說明書:課程結(jié)束后,上交課程設(shè)計說明帖和源程序。課程設(shè)計說明巧的內(nèi)容如 t: 課程設(shè)計任務(wù)書 程序設(shè)計題目 需求分析(分析題目的要求) 程序框圖(總體框圖和各功能模塊框圖,使用傳統(tǒng)流程圖或n s框圖) 核心技術(shù)的實現(xiàn)方法及程序源代碼及注釋 個人總結(jié)參考資料指導教師:學生簽名:成 績:評 語:目錄一、需求分析1二、程序流程圖2三、核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段5四、個人總結(jié)12五、參考文獻13六、源程序13xxxx
3、xxxxxxxxx、需求分析整個程序的設(shè)計采用的是主程序調(diào)用子程序,其中每 一個子程序?qū)?yīng)一個函數(shù),它們的功能分別是:添加學生 數(shù)據(jù)函數(shù)(add),刪除數(shù)據(jù)函數(shù)(del),排序函數(shù)(sort),成績 查詢函數(shù)(query),更改學生數(shù)據(jù)函數(shù)(modify)在這些函 數(shù)當中,后面的一個函數(shù)屬于附加功能。1、設(shè)計add子程序 實現(xiàn)程序最初運行時學生數(shù)據(jù)的錄 入以及其后的運行中學生數(shù)據(jù)的追加功能;2、設(shè)計del子程序?qū)崿F(xiàn)的功能是按照學號對學生的數(shù)據(jù)記錄進行刪除;3、設(shè)計sort子程序 按照題目的具體要求實現(xiàn)的是總成 績的遞減排序以及名次顯示,其中總成績相同者名次相 同;4、設(shè)計query子程序允許按
4、照學號對學生的各科成績 進行查詢;5、設(shè)計modify子程序 可以實現(xiàn)對學生記錄中信息進行 修改;6、除上面介紹的功能之外,程序還具有退出功能,可以 關(guān)閉文件返回主菜單,可以在程序的一次運行當中循環(huán)執(zhí) 行所有的功能。該函數(shù)主要完成提供菜單的功能。當用戶進入“班級 學生成績管理系統(tǒng)”時,即進入此菜單。用戶可以按照菜 單提示選擇05之間的數(shù)值,調(diào)用相應(yīng)功能進行操作。例如:1 查詢記錄;2.修改記錄;3.刪除記錄;4.添加 記錄;5排序記錄;0.退出系統(tǒng)。二、程序流程圖1、程序總體結(jié)構(gòu)圖開始結(jié)束圖1總程序設(shè)計流程2、具體功能框圖(1)修改學生數(shù)據(jù)函數(shù)圖3修改學生數(shù)據(jù)流程圖(2)學生成績刪除函數(shù)圖3刪
5、除學生數(shù)據(jù)流程圖(3)學生信息輸出函數(shù)開始圖4輸岀學生數(shù)據(jù)流程圖三、核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段本程序主要由六個自定義函數(shù)和一個主函數(shù)組成,其 中主函數(shù)以菜單的形式調(diào)用其他函數(shù)來實現(xiàn)要求的所有 功能。在這些函數(shù)當中,添加數(shù)據(jù)函數(shù)、刪除數(shù)據(jù)函數(shù)和 排序函數(shù)是程序中耍求的部分,下血分別進行說明。1、添加數(shù)據(jù)函數(shù)添加學生信息函數(shù)是最為基本的函數(shù)。首先輸入學 號,再根據(jù)提示依次輸入學生學號,姓名及三科成績。具 體程序段如下:void add () /*添加*/int cj;printf (“請輸入要添加的學生學號:);scanf,&st n.num ):printf (“請輸入要添加的學生姓
6、名:");scanf&st n name);printf (1,語文成績rt);scanf (d, &cj);stn score0二cj;printf (2.數(shù)學成績:n);scanf (d,&cj);stn scorcl=cj; printf (3英語成績:n);scanf (d, &cj);stn. score2=cj;n+;2、刪除數(shù)據(jù)函數(shù)該函數(shù)的功能是刪除學仝記錄。該函數(shù)執(zhí)行時,由用 戶輸入待刪除學生的學號,而后按照該學號進行查找,如 果文件中存在該學綸的數(shù)據(jù),則刪除,否則輸出學牛信息 不存在。學生信息的具體信息是在結(jié)構(gòu)體數(shù)組中找到的, 當學生
7、的信息被找到后,位于數(shù)組中該學生后面的學生記 錄依次向左移動一個位置進行覆蓋,操作完成后,要刪除 的學生信息就被后面的數(shù)組元素覆蓋掉了,也就實現(xiàn)了刪 除。具體程序段如下:void dele() /*刪除*/int i,num ,flag,j;flag=o;printf(n請輸入要刪除學生的學號:);scanf(n%d,&num);for(i=0;i<5;i+)if(sti.num =num )/*如果找到相同的學號*/ for(j=i+l;j<n;j+)stu-l=stu;flag=l;k;/*刪除學號*/if(flag=l)printf(h該學生已成功刪除!nnn);el
8、seprints該學生信息不存在或已刪除!nn”);xxxxxxxxxxxxx3、成績查詢函數(shù)該子程序主要完成在數(shù)組屮查找滿足相關(guān)條件的記 錄功能。在此“學生成績管理系統(tǒng)”中,用戶可以按照學 號在數(shù)組中進行查找。若找到該記錄,則輸岀此記錄的信 息;否則,輸出“沒有該學生”的提示。主要運用了 “printf,scanf,fot,if”等語仙 使得使用者查詢起來,更加 快速和簡潔。具體程序段如下: void query() /*查詢*/ int i,num,flag=o;printf(n請輸入要查詢的學生學號:n”); scanf(n%d,&num);printf(”學號t姓名t成績);f
9、or(i=0;i<5;i+)if(sti.num=num) /*如果輸入的學號與存在的相printf(h%dtth,sti.num); printf(n %stth ,sti .name); printf(n%dttn,sti.score); printf(nnn);flag=l;break; if(flag=0) /*如果沒找到相同的學號*/ printf(”沒有該學生.nnh);個人總結(jié)通過本次程序設(shè)計,對c語言有了進一步的認識和了 解。在本次設(shè)計中能夠熟練的掌握多種有關(guān)c語言的知 識,如c語言的諸多語句,為以后的學習和使用打下基礎(chǔ), 了解了 c語言的用途以及結(jié)構(gòu),知道了自己所學知識
10、的不 足,通過老師的指導和同學的幫助,充分掌握了 c語言的 基本知識,了解軟件的應(yīng)用。這次課程設(shè)計讓我對c語言 的了解得到了升華。是理論與實踐最完美的結(jié)合。希望以 后老師能夠給予更多的幫助和指導。五、參考文獻1譚浩強.c程序設(shè)計.北京:清華大學出版社,20052劉振安 劉燕君c程序設(shè)計課程設(shè)計 機械工業(yè)出版 社3李珍香劉紅梅趙潤林匯編語言案例精編中國水利水 電出版社六、源程序#include<stdio.h>#include<stdlib. h>#includestring. h>struct student char name20; /*定義姓名為字符型*/in
11、t num;/*定義學號為字符型*/int score3;int total;/*定義成績?yōu)檎?/struct student st10二"占強",1, 7& 89, 85, *李力",2,98,89,65,小帳,3, 85, 78, 68, 華子,4, 84, 85, 68,大董,5, 97, 82, 76;int n=5;void query() /*査詢*/int i, j, num, flag=0;printf c請輸入要查詢的學生學號:n);scanf&num);printf (*學號t姓名t成績n");for(i=0;i&l
12、t;n;i+)if (sti. num=num) /*如果輸入的學號與存在的相同*/printf("%dtt", sti. num);printf("%stt", sti. name);for(j=0;j<3;j+)printf(dtt", sti. scorej);printf("n");flag=l;break;if(flag-o) /*如果沒找到相同的學號*/printfc沒冇該學生.nn);void modify() /*修改*/int i, num, flag=0, mode, k, c j;printfc請
13、輸入要修改學牛的學號:n);scanf&num);for(i=0;i<n;i+)if (sti. num=num ) /*如果找到相同的學號*/flag=l;printf (,z請輸入要修改的選項:n"); printfcl.學號t2.姓名t3.成績n);printfc請選擇:n");scanf&mode);swi tch(mode)case 1:printf c請輸入修改后的學號:n"); scanf &sti mnn );break;case 2:printf (z/請輸入修改后的姓名:n");scanf (,z%s/z
14、,&);break;case 3:printf (/zl,語文 2.數(shù)學 3.英語rt);scanf &k);printf (z,請輸入修改后的成績:n");seanf&cj);sti. scorek-l=cj;break;if(flag=l) /*如果找到則修改*/ printf (,z修改成功!nn,z);else /*找不到*/printf ("該生記錄不存在! nn"); void delo /*刪除*/int i, num , flag, j;flag=0;printf(z/請輸入要刪除學生的學號:n);scanf
15、(“d", &num );for (i=0;i<n;i+)if (stij. num =num )/*如果找到相同的學號*/ifor(j=i+l;j<n;j+)stj-l=stj;flag=l;n;/*刪除學號*/jif (flag=l)printf ("該學生已成功刪除!nn,z);el seprintf (zz該學生信息不存在或己刪除!nn);void add() /*添加*/int cj;printfc請輸入要添加的學生學號:); scanf("%d: &stn. num );printfc輸入要添加的學生姓名:);scanf(&
16、quot;%s", &stn. name);printf (/zl,語文成績n");seanf("%d", &cj);stn. score0=cj;printf ("2.數(shù)學成績:n");seanf("%ct, &cj);stn. scorel=cj;printf ("英語成績:n");scanf(%d: &cj);stn. score2二cj;n+;void sort ()int i,j,p,t=0;struct student temp;printf (,zn 名次tt
17、 學號tt 姓名tt 總分");for(i=0;i<n;i+) sti. total=0;stij. total=sti. score0+sti. scorel+stiscore2;for (i=0;i<n;i+) p=n-i;for(j=0;j<(p-l) ;j+) if(stj. total>stj+l. total) tempestj;stj二stj+l;st j+l=temp;t=t+l;printf ("n%-17d%t6d%t6s%t6d", t, stj. num, stj. name, stjl total);output
18、()int i, j;for(i=0;i<n;i+)printf(dtt,sti.num);printf ("%stt,sti. name);for (j二0;j<3;j+)printf (,z%dttz/, sti. scorej);printf("n"); void main()int menu;while(l)printf(“班級學牛成績管理系統(tǒng)n);printf (z,*菜單*n);print("t*n);printf("t*1.査詢記錄*n);printf("t*2 .修改記錄*n);printf("t*3.刪除記錄*n);printf("t*4.添加記錄*n);printf("t*5.成績排序*n);printf("t*
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度生態(tài)環(huán)境測繪安全監(jiān)測合同3篇
- 2025年度出租車企業(yè)司機招聘與駕駛技能提升合同3篇
- 二零二五年度出租車企業(yè)車輛租賃及管理合同范本12篇
- 二零二五版美團外賣配送員權(quán)益保障合同4篇
- 2025年粵人版選擇性必修2地理上冊階段測試試卷含答案
- 2025年冀教版八年級地理下冊階段測試試卷
- 2024年度青海省公共營養(yǎng)師之三級營養(yǎng)師題庫綜合試卷A卷附答案
- 2024年度黑龍江省公共營養(yǎng)師之三級營養(yǎng)師綜合練習試卷B卷附答案
- 2024年度青海省公共營養(yǎng)師之三級營養(yǎng)師提升訓練試卷A卷附答案
- 科技助力小學生天文觀測的新紀元
- 發(fā)電機停電故障應(yīng)急預(yù)案
- 接電的施工方案
- 常用藥物作用及副作用課件
- 幼兒阿拉伯數(shù)字描紅(0-100)打印版
- 社會組織等級評估報告模板
- GB/T 12173-2008礦用一般型電氣設(shè)備
- 2023年1月浙江高考英語聽力試題及答案(含MP3+錄音原文)
- 新媒體研究方法教學ppt課件(完整版)
- 2020新版?zhèn)€人征信報告模板
- 東芝空調(diào)維修故障代碼匯總
- 工藝管道儀表流程圖(共68頁).ppt
評論
0/150
提交評論