學生成績管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)_第1頁
學生成績管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)_第2頁
學生成績管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)_第3頁
學生成績管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)_第4頁
學生成績管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、洛陽理工學院程設(shè)計報學生成績管理系統(tǒng)計算機科學與技術(shù)課程設(shè)計任務(wù)書設(shè)計內(nèi)容與要求:編寫一個簡單的學生信息管理程序,能實現(xiàn)對學生信息的簡單管理。建立一個4個學生的信息登記表,每個學生的信息包括:學號,姓名,和3門課程的成績(FOX,C,ENGLISH程序運行時顯示一個簡單的菜單,例如:信息輸入(INPUT總分統(tǒng)計(COUNT總分排序(SORT查詢(QUERY對4個學生的信息進行輸入;對每個學生的3門課程統(tǒng)計總分;對4個學生的總分按降序排序并顯示出來;查詢輸入一個學號后,顯示出該學生的有關(guān)信息;課程設(shè)計評語課程名稱數(shù)據(jù)結(jié)構(gòu)課程設(shè)計設(shè)計題目:學生成績管理系統(tǒng)(1)(2)(3)(4)其中:(1)(2)

2、成績:指導教師:.問題描述編寫一個簡單的學生信息管理程序,能實現(xiàn)對學生信息的簡單管理。二.基本要求建立一個4個學生的信息登記表,每個學生的信息包括:學號,姓名,和 門課程的成績(FOX,C,ENGLIS)程序運行時顯示一個簡單的菜單,例如:(1)(2)(3)(4)其中:(1)三.數(shù)據(jù)結(jié)構(gòu).0四.總體設(shè)計.11.結(jié)構(gòu)圖.12.流程圖.1五.詳細設(shè)計.11.錄入模塊.12.瀏覽模塊.23.排序模塊.24.查找模塊.2六.測試與調(diào)試. 2七.源程序清單.3.問題描述 .基本要求00信息輸入(INPUT總分統(tǒng)計(COUNT總分排序(SORT查詢(QUERY對4個學生的信息進行輸入;對每個學生的3門課程

3、統(tǒng)計總分;對4個學生的總分按降序排序并顯示出來; 查詢輸入一個學號后,顯示出該學生的有關(guān)信息;(2)(3)(4)三. 數(shù)據(jù)結(jié)構(gòu)struct stude ntchar num10;/*學號*/char name20;/*姓名*/st100;四. 總體設(shè)計1.1.結(jié)構(gòu)圖學生信息管理系統(tǒng)- 圖4.1 2.2.流程圖開始定義一個結(jié)構(gòu)struct號sti.num、姓名、佛 學成績sti.fgrade sti.cgrade、英語成int fgrade;/*佛學成績*/int cgrade;/*C語言成績*/int egrade;/*英語成績*/int total;/*總分*/2.1數(shù)菜單選

4、擇信息錄入信開瀏覽信息排序信息查詢2.2排序函數(shù)2.3查詢函數(shù)按學號查詢按姓名查詢2.4按學號查詢函數(shù)輸出排序結(jié)果存L輸入查詢方” I I 一2.5按姓名查詢函數(shù)(同上)輸入要1.1.錄入模塊Uq返用回菜單號.查循詢J函調(diào)用按姓 名查詢函輸出該學數(shù)的信W用來儲存N個學生的所有信息(學 、C語言成績錄入函績sti.egra結(jié)束|)。通過for循環(huán)輸入所有學生信息。用古回菜printf語句提示需要輸入的內(nèi)容,接著用seanf語句輸入相應(yīng)內(nèi)容。輸入完畢后 套用保存函數(shù)save(m)將所輸入的信息寫入指定文件。2.2. 瀏覽模塊聲明整形變量i和count,其中記錄輸出的學生序數(shù),count用來接收調(diào)用

5、瀏 覽函數(shù)時所傳遞過來的實參,將其值傳遞給導出函數(shù)load(m),使得導出的學生人數(shù)與瀏覽的學生人數(shù)保持一致。通過調(diào)用load函數(shù)后(即給em數(shù)組賦值),用for循環(huán)輸出每一個學生的各種信息。3.3. 排序模塊聲明整形變量i,j和結(jié)構(gòu)體變量struct student temp,用for循環(huán)實現(xiàn)排序功能,利用冒泡法,以sti.totalvstj.total為條件進行排序。最后用printf輸出排序結(jié)果。4.4. 查找模塊方式的代號,用switch(k)進入所選擇的具體查詢函數(shù),包括學號查詢,姓名查 詢兩種方式。學號查詢中,用scanf語句輸入需要查詢的學號,并賦值給num用for循環(huán),循環(huán)主體

6、判斷emi.num中是否有輸入的學號。如果有,用printf語句輸出 與學號相對應(yīng)的該學生的所有信息,再跳出循環(huán)。按姓名查詢與此方法類似,不 再敘述。六.測試與調(diào)試1.1.運行程序,進入主菜單圖6.1主菜單2 2.輸入數(shù)字“1 1”,創(chuàng)建學生信息圖6.2輸入職工信息聲明整型變量k,先用printf語句顯示查詢菜單,用scanf輸入選擇的查詢口3.3.輸入數(shù)字“ 2 2”,瀏覽學生信息圖6.3瀏覽職工信息4.4.輸入數(shù)字“ 3 3”,按總分排序5.2選擇查詢方式“2” 圖6.5按學號查詢圖6.6按姓名查詢七.源程序清單#i nclude m噸.VJ心如上站民認畑卩數(shù)癖吞構(gòu)課設(shè)0曲旳學生成績宵理票

7、統(tǒng)心貳3請再次選扌筆你需要操作的步驟 : :3 3按總分排序?qū)W號姓名怫學成績匚語巨成績英語成績0101aa7878909076762442440202eeee9595636369692272270303hb7676464693932152150404474783837272202是否繼續(xù)運行CvCvor n ) 5.5.輸入數(shù)字“ 4 4” ,查詢學生信按總分排序5.1選擇查詢方式“1”X, C:Users1l23Desktop|gStiSDebug生成績脣理系請再次選擇你需要操作的步驟請再次選擇你需要操作的步驟 = =4 4查查詢學生信息詢學生信息請輸入查詢方式請輸入查詢方式; ;丄丄請輸入

8、要查找的學號請輸入要查找的學號:0202學號學號佛學成績佛學成績C C語芻成績語芻成績英語成績英語成績總分P2eeee9595227227TressTressanvanv keykeytoto enterenter menumenu VV 按學號查詢請按丄按學號查詢請按丄, ,按姓名查詢請按按姓名查詢請按2 2#include #include struct studentchar num10;/*學號*/ char name20;/*姓名*/int fgrade;/* intcgrade;/*C integrade;/* inttotal;/* st100;void menu(); void

9、input(); voidsave(int m); void save(); void display(); void search();void search_num(); void search_name(); voidsort_total(); int load();/*定義各函數(shù)*/int m; void main()menu(); int n=0,flag; char a; doprintf(請選擇你需要操作的步驟(1-4):n);scanf(%d,&n); if(n=0&n=4)flag=1; break;elseflag=0; printf(您輸入有誤,請重新選擇

10、!); while(flag=0);佛學成績*/語言成績*/英語成績*/總分*/while(flag=1)switch(n)case 1:printf(nn);printf(n);input();break;case 2:printf(nn);printf(n);display();break;case 3:printf(nn);printf(n);sort_total();break;case 4:printf(nn);printf(n);search();break;case 0:exit(0);break;default:break;getchar();printf(n);printf(

11、是否繼續(xù)運行(scanf(%c,&a);if(a=y)flag=1;system(cls); /* 輸入學生按總分信息信息排序 查 詢 學 生 信 息y or n):n);清屏*/menu(); /*調(diào)用菜單函數(shù)*/ printf(請再次選擇你需要操作的步驟(1-4):n); scanf(%d,&n);printf(n);elseexit(0);void menu() /*printf(*n);printf(printf(printf(printf(printf(printf(*n);菜單函數(shù)*/*.0.歡迎進入 學 生信息管理系統(tǒng)錄入學生信息n);瀏覽學生信息n

12、);按總分排序n);查詢學生信息n);退出n);*謝謝使用printf(n);printf(n);void input() /*int i;printf(請輸入需要創(chuàng)建信息的學生人數(shù)(1-10):n); scanf(%d,&m);for(i=0;im;i+) printf(請輸入學號:); scanf(%s,sti.num); printf(請輸入姓名:);scanf(%s,); printf(請輸入佛學成績:);scanf(%d,&sti.fgrade); printf(請輸入C語言成績:);scanf(%d,&sti.cgrade); printf(

13、請輸入英語成績:);scanf(%d,&sti.egrade);sti.total=sti.fgrade+sti.cgrade+sti.egrade; /*信息輸入已經(jīng)完成*/ save(m); return;/*返回主界面*/void display()/*瀏覽學生信息*/int i;int count=0; m=load();printf(n學號t姓名t佛學成績tC語言成績t英語成績t總分n);/*輸出學生信息*/for(i=0;im+count;i+)printf(n%st%st%dtt%dtt%dtt%dn,sti.num,,sti.fgrade,sti.cgr

14、ade,sti.egrade,sti.total);void sort_total() /*int i,j;輸入學生信息并保存*/按總分排序*/struct student temp; /*聲明結(jié)構(gòu)體變量*/printf(t學號t姓名t佛學成績tC語言成績t英語成績t總分n);for(i=0;im;i+)/*對數(shù)據(jù)進行排序*/for(j=i+1;jm;j+)if(sti.totalstj.total)temp=sti;sti= stj;stj=temp;printf(nt%st%st%dtt%dtt%dtt%dn,sti.num,,sti.fgrade,sti.cgrade,s

15、ti.egrade,sti.total);voidsearch()int k; /*m=load();printf(nprintf(n/*查詢函數(shù)*/定義局部變量*/按學號查詢請按1,t請輸入查詢方式:);按姓名查詢請按2n);scanf(%d,&k);switch(k)/*查詢方式的選擇*/case 1:search_num();break;/*case 2:search_name();break;/*按學號查詢*/按姓名查詢*/printf(nPress any key to enter menu. getchar();return; /*返回主界面*/void search_nu

16、m()/*(1)按學號查找*/int i;char temp30;printf(n請輸入要查找的學號:);scanf(%s,temp);for( i=0;im;i+)if(strcmp(temp,sti.num)=0)學號t姓名t佛學成績tc語言成績t英語成績t總分n);printf(n%st%st%dtt%dtt%dtt%dn,sti.num,,sti.fgrade,sti.cgrade,sti.egrade,sti.total);void search_name()/*(2)按姓名查找*/int i;char temp30;printf(n請輸入要查找的姓名:);scanf

17、(%s,temp);for( i=0;im;i+)if(strcmp(temp,)=0)printf(nt總分n);printf(n%st%st%dtt%dtt%dtt%dn,sti.num,,st i.fgrade,sti.cgrade,sti.egrade,sti.total);int load() /*導入函數(shù)*/FILE*fp;int n=0;if(fp=fopen(student_list,rb)=NULL)printf(cannot open filen); exit(0);elsedofread(&stn,sizeof(struct student),1,fp); n+;while(feof(fp)=0);printf(n學號t姓名t佛學成績tC語言成績t英語成績f

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論