版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、洛陽理工學院課程設計報告課程名稱設計題目專業(yè)數(shù)據(jù)結(jié)構學生成績管理系統(tǒng)計算機科學與技術班級學號姓名完成日期2012年6 月7 號課程設計任務書設計題目: 學生成績管理系統(tǒng)_設計內(nèi)容與要求:1各種基本數(shù)據(jù)結(jié)構的邏輯結(jié)構、存儲結(jié)構和運算的實現(xiàn)。2數(shù)據(jù)結(jié)構與算法的設計方法的訓練。3軟件開發(fā)過程的問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能的訓練;4綜合運用所學的理論知識和方法獨立分析和解決問題的能力的訓練;5用系統(tǒng)的觀點和軟件開發(fā)一般規(guī)范進行軟件開發(fā),培養(yǎng)軟件工作者所應具備的科學的工作方法和作風的訓練。指導教師:衛(wèi)莉莉年月日課程設計評語成績:指導教師: _年月日洛陽理工學院課程設計報告一、問題描
2、述編寫一個簡單的學生信息管理程序,能實現(xiàn)對學生信息的簡單管理。二、基本要求建立一個 4 個學生的信息登記表,每個學生的信息包括:學號,姓名,和 3 門課程的成績( FOX,C,ENGLISH )。程序運行時顯示一個簡單的菜單,例如:(1)信息輸入( INPUT )(2)總分統(tǒng)計( COUNT)(3)總分排序( SORT)(4)查詢 (QUERY)輸入要求:三、測試數(shù)據(jù)其中:(1)對 4 個學生的信息進行輸入;(2)對每個學生的3 門課程統(tǒng)計總分;(3)對 4 個學生的總分按降序排序并顯示出來;(4)查詢輸入一個學號后,顯示出該學生的有關信息;。四、算法思想信息輸入:采用數(shù)組的形式把自己輸入的那
3、些關于學生信息的資料存儲起來,以便于以后的應用。打印顯示:把那些已經(jīng)錄入的學生信息按錄入的順序輸出來檢查是否有錯。修改和刪除模塊:錄入的那些信息按要求刪除和修改。查詢模塊:按姓名查詢和按學好查詢,都是把他們和原來的那些數(shù)據(jù)進行比較就可以查找。最后就是總分排序的模塊五、數(shù)據(jù)結(jié)構學生成績管理的數(shù)據(jù)類型:struct stuchar name20;int num;1洛陽理工學院課程設計報告;struct dom int zong_num; int shu_num; int ying_num; int c_num;struct stu st;sMAX,p;六、測試情況1、主菜單界面:2、錄入學生信息時
4、候的界面:2洛陽理工學院課程設計報告3、查詢模塊的操作頁面:3洛陽理工學院課程設計報告4、總分排序的操作界面:七、心得:在選擇題目的時候我就想了, 我可以把原來的程序給改了, 可是我還是想的太簡單了,修改一個程序不是那么的簡單的,有時候還會把他給復雜化,因為原來的程序都會有好多的不能用的語句,需要把他們一句一句的都給刪掉,原來多余的也要刪掉,還有的可要可不要的程序,有時候自己都拿不準要不要了,起步的時候還是有這樣或者那樣的一些不對的東西,程序的錯誤是在所難免的,我們要一步一步的去施行,去修改,沒有免費的午餐,有時候調(diào)程序的時候就好幾個小時坐在那里不動一動,自己的脖子就會很痛很痛。不過在調(diào)出來程
5、序的時候一切都是值得的。當你成功時候的那種喜悅,和別人羨慕的表情中,感覺自己很偉大。當然在自己調(diào)程序的時候感覺自己對程序的了解有了質(zhì)的飛躍。不是每個人都有這樣的機會的。八、源程序#include <stdio.h>#include "string.h"#define MAX 10#definePRINT1printf("-n")#definePRINT2printf(" 學號 -學生姓名 - 數(shù)學成績 -英語成績 -c 語言成績 nn")4洛陽理工學院課程設計報告int sum;struct stuchar name20;
6、int num;struct domint zong_num, shu_num, ying_num, c_num;struct stu st;sMAX,p;save_message()/*保存信息 */ FILE *fp;int i;if(fp=fopen("dom.txt","wt")=NULL)printf(" 讀文件錯誤 !n");return 0;for(i=0;i<sum;i+)if(fwrite(&si,sizeof(struct dom),1,fp)!=1)printf(" 寫文件錯誤 !n&qu
7、ot;);fclose(fp);input_message()/* 輸入模塊 */ int i=0,j;printf(" 錄入人數(shù): ");scanf("%d",&j);printf("nn錄入學生信息(最多 %d 個 )n",MAX);printf("-n"); do printf("n第%d 個學生 nn",i+1);printf("n學號 : ");scanf("%d",&si.st.num);if(si.st.num=0) brea
8、k;printf("n學生姓名 : ");scanf("%s",);printf(" 請輸入數(shù)學成績:");5洛陽理工學院課程設計報告scanf("%d",&si.shu_num);getchar();printf(" 請輸入英語成績:");scanf("%d",&si.ying_num);getchar();printf(" 請輸入 C 語言成績 :");scanf("%d",&si.c_n
9、um);i+;while(i<j);printf("n-%d 個學生的信息輸入完畢!-n",i);sum=i;printf("n按任意鍵返回主菜單!");getchar();return 0;int read_message()/*讀取信息 */FILE *fp;int i=0;if(fp=fopen("dom.txt","rt")=NULL)printf("nn*暫時還沒有任何信息,按任意鍵進入主菜單選擇基本信息的錄入!*n");return 0; while(!feof(fp)frea
10、d(&si,sizeof(struct dom),1,fp);i+;fclose(fp);return(i);output_message()/* 輸出模塊 */ int i=0;printf("nn-學生信息表 -nn");PRINT2;6洛陽理工學院課程設計報告PRINT1;for(i=0;i<sum;i+)if(si.st.num!=0)printf("%2d%10s%8d%8d%8dnn",si.st.num,,si.shu_num,si.ying_num,si.c_num);printf("n&quo
11、t;);insert_message()/*添加學生信息*/int i=sum,flag=0;char choice;printf("nn添加一個新同學n");printf("-n");doprintf("n新學號 : ");scanf("%d",&si.st.num);printf("n學生姓名 : ");scanf("%s",);printf("n數(shù)學成績");scanf("%d",&si.shu
12、_num);printf("n英語成績");scanf("%d",&si.ying_num);printf("nC 語言成績");scanf("%d",&si.c_num);sum+;printf("n要繼續(xù)嗎 ?(Y/N)");getchar();scanf("%c",&choice);if(choice='y' | choice='Y')flag=1; i+;printf("n繼續(xù) !n");el
13、se flag=0;7洛陽理工學院課程設計報告while(flag=1);printf("n按任意鍵返回主菜單!");return 0;/* 刪除模塊 */del_message()int flag,del_num,i,k;char choice; doprintf("n輸入要刪除的學生學號: ");scanf("%d",&del_num);for(i=0;i<sum;i+)if(del_num=si.st.num)for(k=i;k<sum-1;k+)sk=sk+1;sum-;printf("nn繼續(xù)嗎
14、 ?(Y/N)");getchar();scanf("%c",&choice);if(choice='y' | choice='Y')flag=1;printf("n繼續(xù) !n");else flag=0;while(flag=1);printf("nn按任意鍵返回主菜單!");getchar();return 0;revise_message()/* 修改模塊 */int i=0,choices,revise_num,flag=0;doprintf("n輸入要修改的學生號:
15、 ");scanf("%d",&revise_num);for(i=0;i<sum;i+)8洛陽理工學院課程設計報告if(si.st.num=revise_num)printf("n-學生信息 -n");PRINT1;PRINT2;printf("%2d%10s%8d%8d%8dnn",si.st.num,,si.shu_num,si.ying_num,si.c_num;printf("n您要修改哪一項?n");printf("n1.學號 n");pr
16、intf("n2.姓名 n");printf("n3.數(shù)學成績 n");printf("n4.英語成績 n");printf("n5.c 語言成績 n");printf("n請選擇 (1-5): ");scanf("%d",&choices);switch(choices)case 1:printf("n輸入修改后的學號");scanf("%d",&si.st.num);break;case 2:printf("
17、;n輸入修改后的姓名");scanf("%s",);break;case 3:printf("n輸入修改后的數(shù)學成績");scanf("%d",&si.shu_num);break;case 4:printf("n輸入修改后的英語成績");scanf("%d",&si.ying_num);break;case 5:printf("n輸入修改后的c 語言成績 ");scanf("%d",&si.c_num
18、);break; PRINT1;PRINT2;printf("%2d%10s%8d%8d%8dnn",si.st.num,,si.shu_num,si.ying_num,si.c_num;break; 9洛陽理工學院課程設計報告if(i=sum)printf("n該學生不存在 !");return 0;while(flag=1);getchar();printf("n按任意鍵返回主菜單! ");return 0;renew_message()/* 更新模塊 */int choice;doprintf("n
19、nn*更新學生信息*nn");printf("1.添加學生信息 nn");printf("2.刪除學生信息 nn");printf("3.修改學生信息 nn");printf("0.返回主菜單 n 請選擇 (0-3)n");scanf("%d",&choice);switch(choice)case 1:insert_message();break;case 2:del_message();break;case 3:revise_message();break;case 0:b
20、reak;while(choice!=0);return 0;inquire_name()/* 按姓名查詢 */inti,j=0;char inquire_name10;printf("n輸入要查詢的學生姓名: ");scanf("%s",inquire_name);for(i=0;i<sum;i+)if(strcmp(,inquire_name)=0&&si.st.num!=0)10洛陽理工學院課程設計報告printf("n- 學生信息 -n");PRINT1;PRINT2;printf(&
21、quot;%2d%10s%8d%8d%8dnn",si.st.num,,si.shu_num,si.ying_num,si.c_num;else j+;if(j=sum)printf("n該學生不存在!");return 0; int inquire_num()/* 按學號查詢 */int i,j=0,inquire_num;printf("n輸入要查詢的學生學號: ");scanf("%d",&inquire_num);for(i=0;i<sum;i+)if(inquire_num=si.
22、st.num)printf("n- 學生信息 -n");PRINT1;PRINT2;printf("%2d%10s%8d%8d%8dn",si.st.num,,si.shu_num,si.ying_num,si.c_num);else j+;if(j=sum)printf("n該學生不存在 !");return 0;/* 查詢模塊 */inquire_message()int choice;doprintf("nn*查詢學生信息*nn");printf("1.按學生姓名查詢n"
23、;);11洛陽理工學院課程設計報告printf("2.按學生學號查詢n");printf("0.回主菜單 n");printf("請選擇 (0-2): ");scanf("%d",&choice);switch(choice)case 1:inquire_name();break;case 2:inquire_num();break;case 0:break;while(choice!=0);return 0;count_person()/* 學生成績情況統(tǒng)計*/int i,j;struct dom tmp;printf("n學生總分排序情況");printf("n-n");printf("n姓名學號數(shù)學成績英語成績C 語言成績總成績n");for(i=0;i<sum;i+)si.zong_num=si.shu_num+si.ying_num+si.c_num;for (i=0;i<sum;i+)for (j=1;j<sum-i;j+)if (sj-1.zong_num<sj.zong_num)tmp=sj-1;sj-1=sj;sj=tmp; for(i=0;i<sum-1;i+)pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度光伏產(chǎn)品模具研發(fā)制造合同4篇
- 2025年度寵物用品跨境電商合作合同4篇
- 2025年度環(huán)保工程派遣員工勞動合同樣本4篇
- 2025版綿陽市醫(yī)療機構租賃合同4篇
- 2025年度城市綜合體施工合同(含裝修工程)2篇
- 2025年美團外賣騎手服務區(qū)域劃分合同
- 2025年冷鏈物流送貨員專業(yè)培訓及聘用合同
- 二零二五年度農(nóng)業(yè)產(chǎn)業(yè)鏈借貸合同協(xié)議
- 二零二五年度太陽能光伏電站設備保險與理賠合同
- 2025年度智能家居租賃運營合同3篇
- 柴油墊資合同模板
- 湖北省五市州2023-2024學年高一下學期期末聯(lián)考數(shù)學試題
- 城市作戰(zhàn)案例研究報告
- 【正版授權】 ISO 12803:1997 EN Representative sampling of plutonium nitrate solutions for determination of plutonium concentration
- 道德經(jīng)全文及注釋
- 2024中考考前地理沖刺卷及答案(含答題卡)
- 多子女贍養(yǎng)老人協(xié)議書范文
- 安踏運動品牌營銷策略研究
- 彩票市場銷售計劃書
- 骨科抗菌藥物應用分析報告
- 支付行業(yè)反洗錢與反恐怖融資
評論
0/150
提交評論