學(xué)生管理系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
學(xué)生管理系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
學(xué)生管理系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
學(xué)生管理系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
學(xué)生管理系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

重慶理工大學(xué)課程設(shè)計(jì)課程 程序設(shè)計(jì)基礎(chǔ)C題目 C語(yǔ)言綜合程序設(shè)計(jì)院系名稱商貿(mào)信息學(xué)院班級(jí) 計(jì)算機(jī)應(yīng)用技術(shù)一班學(xué)生姓名吳昊學(xué)號(hào)20920310119指導(dǎo)教師 盧玲 評(píng)閱教師 時(shí)間2010年6月1問(wèn)題描述5.4題目五:學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)學(xué)生成績(jī)信息包括:學(xué)期,學(xué)號(hào),班別,姓名,四門課程成績(jī)(語(yǔ)文、數(shù)學(xué)、英語(yǔ)和計(jì)算機(jī))。主要功能:(1) 能按學(xué)期、按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入、修改(2) 能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī),求學(xué)生的總分及平均分,設(shè)計(jì)并輸出統(tǒng)計(jì)報(bào)表(3) 能查詢學(xué)生成績(jī),不及格科目及學(xué)生名單(4) 能按班級(jí)輸出學(xué)生的成績(jī)單(5) 能按班級(jí),按課程,對(duì)學(xué)生成績(jī)進(jìn)行排序。要求:使用二進(jìn)制文件方式存儲(chǔ)數(shù)據(jù),系統(tǒng)以菜單方式工作2系統(tǒng)分析2.1題目要求本系統(tǒng)可以對(duì)學(xué)生的成績(jī)信息進(jìn)行簡(jiǎn)單的管理操作:主菜單包括9個(gè)選項(xiàng):學(xué)生成績(jī)?yōu)g覽如果未導(dǎo)入學(xué)生成績(jī),系統(tǒng)會(huì)提示導(dǎo)入成績(jī),成績(jī)導(dǎo)入后,可以用本功能瀏覽成績(jī)。學(xué)生成績(jī)錄入當(dāng)學(xué)生成績(jī)未導(dǎo)入是會(huì)自動(dòng)提示對(duì)學(xué)生成績(jī)的錄入,可以按學(xué)期,按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入。學(xué)生成績(jī)修改當(dāng)需要修改學(xué)生成績(jī)時(shí),本功能可以修改學(xué)生的成績(jī),可以按學(xué)期,按班級(jí)完成對(duì)學(xué)生成績(jī)的修改。按班級(jí)統(tǒng)計(jì)學(xué)生成績(jī)的總分和平均分可以對(duì)計(jì)算學(xué)生的成績(jī)的總分和平均分,并按班級(jí)統(tǒng)計(jì)出來(lái)。學(xué)生成績(jī)查詢完成對(duì)學(xué)生成績(jī)的查詢,本功能是按照學(xué)號(hào)查詢。學(xué)生成績(jī)保存可以將學(xué)生成績(jī)存入磁盤文件,并從磁盤里讀出學(xué)生成績(jī),信息保存在e:\\wh.dat。學(xué)生成績(jī)未存盤時(shí)導(dǎo)入當(dāng)磁盤文件不存在會(huì)提示導(dǎo)入學(xué)生的成績(jī)。按班級(jí)輸出學(xué)生成績(jī)可以按班級(jí)輸出學(xué)生的成績(jī)單,其中包括學(xué)生的四門課的成績(jī)不及格科目和學(xué)生的名單。學(xué)生成績(jī)排序能按班級(jí),按課程,對(duì)學(xué)生成績(jī)進(jìn)行排序。按班級(jí)排序時(shí)可以對(duì)某個(gè)班級(jí)學(xué)生的成績(jī)排序,按課程排序時(shí)是對(duì)某一門課的排序。2.2算法設(shè)計(jì)模塊一:學(xué)生成績(jī)?yōu)g覽模塊該模塊實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的瀏覽功能,但前提是學(xué)生的信息已經(jīng)保存,實(shí)現(xiàn)算法如下:輸出學(xué)生信息的標(biāo)題檢索信息數(shù)組用循環(huán)實(shí)現(xiàn)對(duì)學(xué)生信息的對(duì)應(yīng)輸出模塊二:學(xué)生成績(jī)錄入模塊該模塊實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的錄入功能,通過(guò)菜單的選擇,調(diào)用兩個(gè)子函數(shù)實(shí)現(xiàn)成績(jī)的錄入。輸出按不同方式錄入學(xué)生成績(jī)的選擇菜單,一是按學(xué)期錄入,二是按班級(jí)錄入調(diào)用按學(xué)期錄入的函數(shù)選擇學(xué)期用循環(huán)完成對(duì)學(xué)生信息的錄入保存學(xué)生信息,并回到錄入函數(shù)調(diào)用按班級(jí)錄入的函數(shù)選擇班級(jí)用循環(huán)完成對(duì)學(xué)生信息的錄入保存學(xué)生信息,并回到錄入函數(shù)模塊三:學(xué)生成績(jī)修改模塊該模塊實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的修改功能,通過(guò)菜單的選擇,調(diào)用兩個(gè)子函數(shù)實(shí)現(xiàn)對(duì)學(xué)生的成績(jī)的修改。輸出按不同方式修改學(xué)生成績(jī)的選擇菜單,一是按學(xué)期修改,二是按班級(jí)修改調(diào)用按學(xué)期修改的函數(shù)選擇學(xué)期用循環(huán)完成對(duì)學(xué)生成績(jī)的修改,修改的科目包括語(yǔ)文,數(shù)學(xué),英語(yǔ),計(jì)算機(jī)保存學(xué)生成績(jī)信息,并回到修改函數(shù)調(diào)用按班級(jí)修改的函數(shù)選擇班級(jí)用循環(huán)完成對(duì)學(xué)生成績(jī)的修改,修改的科目包括語(yǔ)文,數(shù)學(xué),英語(yǔ),計(jì)算機(jī)保存學(xué)生成績(jī)信息,并回到修改函數(shù)模塊四:按班級(jí)統(tǒng)計(jì)學(xué)生成績(jī)的總分和平均分模塊該模塊可以計(jì)算學(xué)生成績(jī)的總分和平均分輸出選擇的班級(jí)通過(guò)檢索數(shù)組選出某個(gè)班通過(guò)循環(huán)輸出這個(gè)班的每個(gè)學(xué)生的總分和平均分模塊五:學(xué)生成績(jī)查詢模塊該模塊能通過(guò)學(xué)生的學(xué)號(hào)查詢學(xué)生的成績(jī)輸入要查詢的學(xué)生的學(xué)號(hào)通過(guò)檢索數(shù)組選出對(duì)應(yīng)的學(xué)生調(diào)用輸出函數(shù)輸出學(xué)生相關(guān)的信息模塊六:學(xué)生成績(jī)保存模塊該模塊可以保存學(xué)生信息的導(dǎo)入,修改,錄入定義文件的保存位置通過(guò)數(shù)組寫入要保存的文件關(guān)閉磁盤文件模塊七:學(xué)生成績(jī)?yōu)榇姹P時(shí)導(dǎo)入模塊該模塊可以在學(xué)生成績(jī)?yōu)榇姹P是完成對(duì)學(xué)生成績(jī)的導(dǎo)入并存盤輸出是否創(chuàng)建的提示選擇是否創(chuàng)建提示已經(jīng)導(dǎo)入,并關(guān)閉磁盤文件模塊八:按班級(jí)輸出學(xué)生成績(jī)模塊該模塊可以從多個(gè)班級(jí)里選擇某班學(xué)生的成績(jī)并輸出輸入要選擇的班級(jí)檢索數(shù)組選出該班輸出該班學(xué)生的相關(guān)信息模塊九:學(xué)生成績(jī)排序模塊該模塊可以對(duì)學(xué)生的成績(jī)按不同的方式排序輸出排序方式的菜單調(diào)用按班級(jí)排序的函數(shù)輸出菜單后用冒泡法對(duì)總分進(jìn)行比較,按從大到小的順序輸出保存并回到排序函數(shù)調(diào)用按課程對(duì)學(xué)生排序的函數(shù)通過(guò)冒泡法分別對(duì)語(yǔ)文數(shù)學(xué),英語(yǔ),計(jì)算機(jī)的成績(jī)進(jìn)行對(duì)比,按從大到小輸出通過(guò)冒泡法分別對(duì)語(yǔ)文數(shù)學(xué),英語(yǔ),計(jì)算機(jī)的成績(jī)進(jìn)行對(duì)比,按從大到小輸出保存并回到排序的函數(shù)模塊十:退出模塊開(kāi)始退出系統(tǒng)開(kāi)始2.3流程圖讀取文件*分4和均生績(jī)存繇成保為盤導(dǎo)生績(jī)序捋成排*分4和均生績(jī)存繇成保為盤導(dǎo)生績(jī)序捋成排從大到小2.4關(guān)鍵問(wèn)題2.4關(guān)鍵問(wèn)題這個(gè)系統(tǒng)最主要是要掌握各個(gè)函數(shù)的方法,比比如說(shuō)成績(jī)的錄入,修改,成績(jī)的查詢等。這個(gè)系統(tǒng)最主要是要在對(duì)學(xué)生成績(jī)的錄入,修改,求平均分和總分,輸出學(xué)生的成績(jī)時(shí)都要求按不同的方式完成,比如錄入,修改,輸出成績(jī)拄等。這里我寫一個(gè)菜單,用一個(gè)主函數(shù),分別調(diào)用兩個(gè)子函數(shù)。在成績(jī)修改時(shí)注意輸出的數(shù)據(jù)的對(duì)應(yīng),最后喲啊保存修改的數(shù)據(jù),這里最容易被忽略,如果不保存的話,就白費(fèi)心機(jī)啦。注意自己定義的頭文件的數(shù)據(jù)類型和源文件里面的數(shù)據(jù)類型要符合,這個(gè)函數(shù)有點(diǎn)大,隨意這種細(xì)節(jié)一般容易出錯(cuò)。在輸入一個(gè)函數(shù)數(shù)據(jù)的時(shí)候,應(yīng)該清空鍵盤區(qū),很容易出錯(cuò)??傊畞?lái)說(shuō),編譯的時(shí)候會(huì)有很多錯(cuò),但是經(jīng)過(guò)改正過(guò)后,發(fā)現(xiàn)很多都是不必要的或是細(xì)節(jié)問(wèn)題。3系統(tǒng)實(shí)現(xiàn)3.1題目一#include<stdio.h>#include<windows.h>#include<string.h>#include<stdlib.h>#include"student.h”intnumber;voidview(structstudentpeople]])(inti;printf("\t\t\t\t學(xué)生成績(jī)管理系統(tǒng)\n〃);printf(〃\t\t\n〃);printf(〃\t\t\n〃);printf("學(xué)期\t學(xué)號(hào)\t班別\t姓名\t語(yǔ)文\t數(shù)學(xué)\t英語(yǔ)\t計(jì)算機(jī)\n〃);printf(〃****************************************************************\n〃);for(i=0;i<=number-1;i++)(printf(〃%s\t〃,people[i].sem);printf(〃%s\t〃,people[i].num);printf(〃%d\t〃,people[i].clas);printf(〃%s\t〃,people[i].name);printf(〃%4d\t〃,people[i].chinese);printf(〃%4d\t〃,people[i].math);printf(〃%4d\t〃,people[i].english);printf(〃%4d\t〃,people[i].computer);printf(〃\n〃);printf(〃 \n〃);}}//********************************************************************************************〃按班級(jí)統(tǒng)計(jì)學(xué)生總分和平均分//********************************************************************************************voidgrade(structstudentpeople]])(intclas;intaver=0;intsum=0;scanf(〃%d〃,&clas);for(inti=0;i<number;i++)(if(people[i].clas==clas) 〃查找班級(jí)(sum二people[i].chinese+people[i].math+people[i].english+people[i].computer;aver=sum/4;printf("第%d個(gè)學(xué)生總分為:%d\n〃,i+1,sum);printf("第%d個(gè)學(xué)生的平均分為:%d\n〃,i+1,aver);}}}//********************************************************************************************〃輸出某一個(gè)學(xué)生的信息//********************************************************************************************voidprnt(structstudentpeople口,inti)(printf(" \n");printf("姓名\t語(yǔ)文\t數(shù)學(xué)\t英語(yǔ)\t計(jì)算機(jī)\t不及格科目\七學(xué)生名單\n〃);printf(" \n〃);for(i=0;i<number;i++)(printf(〃%s\t〃,people[i].name);printf(〃%.1f\t〃,people[i].chinese);printf(〃%.1f\t〃,people[i].math);printf(〃%.1f\t〃,people[i].english);printf(〃%.1f\t〃,people[i].computer);while(1) 〃輸出不及格的學(xué)生的成績(jī)(if(people[i].chinese<60)printf(〃語(yǔ)文,〃);if(people[i].math<60)printf("數(shù)學(xué),”);if(people[i].english<60)printf(〃英語(yǔ),〃);if(people[i].computer<60)printf(〃計(jì)算機(jī)\t〃);break;}printf(〃%s〃,people[i].name); //輸出學(xué)生的名單}printf(〃\n〃);printf(〃 \n〃);}//********************************************************************************************// 按照學(xué)號(hào)查詢學(xué)生信息//********************************************************************************************voidsearch(structstudentpeople口)(charnum[20];inti;printf(-\n請(qǐng)輸入你要查詢的學(xué)生學(xué)號(hào):〃);fflush(stdin);gets(num);for(i=0;i<number;i++)(if(strcmp(people[i].num,num)==0)(prnt(people,i);}}}//********************************************************************************************// 按班級(jí)輸出學(xué)生的成績(jī)單//********************************************************************************************voidsearch_clas(structstudentpeople]])intclas;printf("請(qǐng)輸入班級(jí):〃);fflush(stdin);scanf(〃%d〃,&clas);for(inti=0;i<number;i++)(if(people[i].clas==clas)(prnt(people,i); 〃調(diào)用prnt函數(shù)輸出成績(jī)單}}}//********************************************************************************************// 將信息存入磁盤文件//********************************************************************************************voidsave(structstudentpeople口)(FILE*fp;inti;fp二fopen(〃e:\\wh.dat〃,〃wb+〃);for(i=0;i<number;i++)(fwrite(&people[i],sizeof(student),1,fp);}fclose(fp); //關(guān)閉磁盤文件}//***********************************************// 按學(xué)期修改學(xué)生成績(jī)//***********************************************voidxiugai_sem(structstudentpeople口)intchinese,math,english,computer; //定義新的成績(jī)變量charsem[20];printf("輸入學(xué)期:");fflush(stdin);scanf(〃%s〃,sem);for(inti=0;i<number;i++)(if(strcmp(people[i].sem,sem)==0)(prnt(people,i);}printf("修改語(yǔ)文,數(shù)學(xué),英語(yǔ),計(jì)算機(jī)的成績(jī):〃);scanf(〃%f%f%f%f〃,&chinese,&math,&english,&computer);people[i].chinese二chinese;people[i].math二math;people[i].english二english;people[i].computer二computer; //把新的成績(jī)賦給people[i]}save(people);}//***********************************************// 按班級(jí)修改學(xué)生成績(jī)//***********************************************voidxiugai_clas(structstudentpeople]])(intchinese,math,english,computer;intclas;printf("輸入班級(jí):〃);fflush(stdin);scanf(〃%d〃,&clas);for(inti=0;i<number;i++)if(people[i].clas==clas)(prnt(people,i);}printf(〃修改語(yǔ)文,數(shù)學(xué),英語(yǔ),計(jì)算機(jī)的成績(jī):〃);scanf(〃%f%f%f%f〃,&chinese,&math,&english,&computer);people[i].chinese二Chinese;people[i].math二math;people[i].english二english;people[i].computer二computer;}save(people);}voidxiugai(structstudentpeople口) //修改學(xué)生成績(jī)(intxuan;while(1)(printf(〃************1按學(xué)期修改學(xué)生成績(jī)\n〃);printf(〃************2按班級(jí)修改成績(jī)\n〃);printf(〃************0返回上一級(jí)目錄\n〃);printf(〃請(qǐng)選擇:\n〃);scanf(〃%d〃,&xuan);switch(xuan)(case1:xiugai_sem(people);break;case2:xiugai_clas(people);break;}if(xuan==0)break;}}//*********************************************// 按學(xué)期錄入學(xué)生成績(jī)//*********************************************voidluru_sem(structstudentpeople口)(structstudenttemp;printf(〃請(qǐng)輸入學(xué)生人數(shù)\n〃);scanf(〃%d〃,&number);〃選擇要輸入學(xué)生的學(xué)期printf("學(xué)期\n〃);〃選擇要輸入學(xué)生的學(xué)期fflush(stdin);scanf(〃%s〃,temp.sem);for(inti=0;i<number;i++)(printf("請(qǐng)輸入學(xué)生信息:\n〃);printf(〃學(xué)號(hào):〃);fflush(stdin);gets(temp.num);printf("班別:〃);fflush(stdin);scanf(〃%d〃,&temp.clas);printf("姓名:〃);fflush(stdin);gets();printf("學(xué)生成績(jī):〃);fflush(stdin);scanf(〃%d〃,&temp.chinese);fflush(stdin);scanf(〃%d〃,&temp.math);fflush(stdin);scanf(〃%d〃,&temp.english);fflush(stdin);scanf(〃%d〃,&puter);printf(〃\n〃);people[i]=temp;}save(people);}//***********************************************// 按班級(jí)錄入學(xué)生成績(jī)//***********************************************voidluru_clas(structstudentpeople]])(structstudenttemp;printf(〃請(qǐng)輸入學(xué)生人數(shù):〃);scanf(〃%d〃,&number);//輸入要錄入的學(xué)生的班級(jí)printf(〃班級(jí):〃);//輸入要錄入的學(xué)生的班級(jí)fflush(stdin);scanf(〃%d〃,&temp.clas);inti;for(i=0;i<number;i++)(printf("請(qǐng)輸入學(xué)生信息:\n〃);printf("學(xué)期:〃);scanf(〃%s〃,temp.sem);printf(〃學(xué)號(hào):〃);fflush(stdin);gets(temp.num);printf("姓名:〃);fflush(stdin);gets();printf("學(xué)生成績(jī):〃);fflush(stdin);scanf(〃%d〃,&temp.chinese);fflush(stdin);scanf(〃%d〃,&temp.math);fflush(stdin);scanf(〃%d〃,&temp.english);fflush(stdin);scanf(〃%d〃,&puter);printf(〃\n〃);people[i]=temp;}save(people); //保存}voidluru(structstudentpeople口) //錄入學(xué)生成績(jī)(intxuan;while(1)(printf(〃************1按學(xué)期錄入學(xué)生成績(jī)\n〃);printf(〃************2按班級(jí)錄入學(xué)生成績(jī)\n〃);printf(〃************0返回上一級(jí)目錄\n〃);scanf(〃%d〃,&xuan);switch(xuan)(printf(〃請(qǐng)選擇:\n〃);case1:luru_sem(people);break;case2:luru_clas(people);break;}if(xuan==0)break;}}//*****************************************// 導(dǎo)入磁盤文件信息//*****************************************voidload(structstudentpeople口)(FILE*fp;if((fp二fopen(〃e:\\wh.dat〃,〃rb+〃))==NULL)(printf("磁盤并不存在,是否創(chuàng)建?(y/n)〃);if(getchar()=='y')(luru(people);return;}elseexit(0);}inti=0;printf("\n正在導(dǎo)入數(shù)據(jù),請(qǐng)等待 \n〃);while(!feof(fp))(fread(&people[i],sizeof(student),1,fp);i++;}fclose(fp); //關(guān)閉磁盤文件number=--i;printf("\n導(dǎo)入成功!\n〃);}//*****************************************// 按班級(jí)對(duì)學(xué)生成績(jī)排序//*****************************************voidpaixu_clas(structstudentpeople口)(structstudentarry[1024],temp; 〃新定義一個(gè)數(shù)組arry[]intclas,j=0;printf("請(qǐng)輸入班級(jí):〃);fflush(stdin);scanf(〃%d〃,&clas);for(inti=0;i<number;i++)(if(people[i].clas==clas)(arry[j]=people[i];j++;}printf(〃\t\n〃);printf(〃學(xué)期\t學(xué)號(hào)\t班別\t姓名\t語(yǔ)文\t數(shù)學(xué)\t英語(yǔ)\t計(jì)算機(jī)\t總分\n〃);printf(〃***********************************************************************\n〃);for(intm=0;m<j-1;m++)(for(intn=0;n<j-1-m;n++)if(arry[n].chinese+arry[n].computer+arry[n].math+arry[n].english<arry[n+1].chinese+arry[n+1].computer+arry[n+1].math+arry[n+1].english)(temp=arry[n];arry[n]=arry[n+1];arry[n+1]=temp;}}for(i=0;i<j;i++)(printf(〃%s\t〃,arry[i].sem);printf(〃%s\t〃,arry[i].num);printf(〃%d\t〃,arry[i].clas);printf(〃%s\t〃,arry[i].name);printf(〃%4d\t〃,arry[i].chinese);printf(〃%4d\t〃,arry[i].math);printf(〃%4d\t〃,arry[i].english);printf(〃%4d\t〃,arry[i].computer);printf(〃%4d\t〃,arry[i].computer+arry[i].chinese+arry[i].math+arry[i].english);printf(〃\n〃);printf(〃 \n");}}//*****************************************// 按課程對(duì)學(xué)生成績(jī)排序//*****************************************voidpaixu_ke(structstudentpeople口)(structstudenttemp;for(inti=0;i<number-1;i++)for(intj=0;j<number-1-i;j++)(if(people[j].chinese<people[j+1].chinese)(temp二people[j];people[j]=people[j+1];people[j+1]=temp;}}printf(〃\t\t\n〃);printf("學(xué)期\t學(xué)號(hào)\t班別\t姓名\t語(yǔ)文\n〃);printf(〃**************************************\n〃);for(i=0;i<number;i++)(printf(〃%s\t〃,people[i].sem);printf(〃%s\t〃,people[i].num);printf(〃%d\t〃,people[i].clas);printf(〃%s\t〃,people[i].name);printf(〃%4d\t\n〃,people[i].chinese);}for(i=0;i<number-1;i++)for(intj=0;j<number-1-i;j++)if(people[j].chinese<people[j+1].chinese)(temp二people[j];people[j]=people[j+1];people[j+1]=temp;}}printf(〃\t\t\n〃);printf("學(xué)期\t學(xué)號(hào)\t班別\t姓名\t數(shù)學(xué)\n〃);printf(〃***************************************\n〃);for(i=0;i<number;i++)(printf(〃%s\t〃,people[i].sem);printf(〃%s\t〃,people[i].num);printf(〃%d\t〃,people[i].clas);printf(〃%s\t〃,people[i].name);printf(〃%4d\t\n〃,people[i].math);}for(i=0;i<number-1;i++)for(intj=0;j<number-1-i;j++)(if(people[j].math<people[j+1].math)(temp二people[j];people[j]=people[j+1];people[j+1]=temp;}}printf("學(xué)期\t學(xué)號(hào)\t班別\t姓名\t英語(yǔ)\n〃);printf(〃*****************************************\n〃);for(i=0;i<number;i++)(printf(〃%s\t〃,people[i].sem);printf(〃%s\t〃,people[i].num);printf(〃%d\t〃,people[i].clas);printf(〃%s\t〃,people[i].name);printf(〃%4d\t\n〃,people[i].english);}for(i=0;i<number-1;i++)for(intj=0;j<number-1-i;j++)(if(people[j].english<people[j+1].english)(temp二people[j];people[j]=people[j+1];people[j+1]=temp;}}printf("學(xué)期\t學(xué)號(hào)\t班別\t姓名\t計(jì)算機(jī)\n〃);printf(〃*****************************************\n〃);for(i=0;i<number;i++)(printf(〃%s\t〃,people[i].sem);printf(〃%s\t〃,people[i].num);printf(〃%d\t〃,people[i].clas);printf(〃%s\t〃,people[i].name);printf(〃%4d\t\n〃,people[i].computer);}for(i=0;i<number-1;i++)for(intj=0;j<number-1-i;j++)(if(people[j].computer<people[j+1].computer)(temp二people[j];people[j]=people[j+1];people[j+1]=temp;}}voidpaixu(structstudentpeople]])//對(duì)學(xué)生成績(jī)排序(intxuan;while(1)(printf(〃************1按班級(jí)對(duì)學(xué)生成績(jī)排序\n〃);printf(〃************2按課程對(duì)學(xué)生成績(jī)排序\n〃);printf(〃************0返回上一級(jí)目錄\n〃);printf(〃請(qǐng)選擇:\n〃);scanf(〃%d〃,&xuan);switch(xuan)(case1:paixu_clas(people);break;case2:paixu_ke(people);break;}if(xuan==0)break;}}//***********************************// 主函數(shù)//***********************************voidmain()(intsel;system(〃cls〃);system("colorF9〃);structstudentpeople[1024];load(people);(printf(〃\t\t\n〃);printf(〃\n〃);printf(〃\t\t 學(xué)生成績(jī)管理系統(tǒng)\n〃);printf(〃\t\t\n〃);printf(〃\t\t\n〃);printf(〃\t\t***********************************\n〃);printf("\t\t\t1學(xué)生成績(jī)?yōu)g覽\n〃);printf("\t\t\t2學(xué)生成績(jī)錄入\n〃);printf("\t\t\t3學(xué)生成績(jī)修改\n〃);printf("\t\t\t4按班級(jí)統(tǒng)計(jì)學(xué)生成績(jī)的總分和平均分\n〃);printf("\t\t\t5學(xué)生成績(jī)查詢\n〃);printf("\t\t\t6學(xué)生成績(jī)保存\n〃);printf("\t\t\t7學(xué)生成績(jī)未存盤時(shí)導(dǎo)入\n〃);printf("\t\t\t8按班級(jí)輸出學(xué)生成績(jī)\n〃);printf("\t\t\t9學(xué)生成績(jī)排序\n〃);printf(〃\t\t\n〃);printf("\t\t\t0謝謝使用再見(jiàn)!\n〃);printf(〃\t\t\n〃);}printf(〃請(qǐng)選擇:\n〃);scanf(〃%d〃,&sel);switch(sel)(case1:view(people);break;case2:luru(people);break;case3:xiugai(people);break;case4:grade(people);break;case5:search(people);break;case6:save(people);break;case7:load(people);break;case8:search_clas(people);break;case9:paixu(people);break;case0:printf("謝謝使用再見(jiàn)!\n");break;}if(sel==0)break;}}4系統(tǒng)測(cè)試4.1如何設(shè)計(jì)測(cè)試數(shù)據(jù)我是按順序編寫每個(gè)函數(shù)的每個(gè)功能的,每寫完一個(gè)就輸入數(shù)據(jù)運(yùn)行測(cè)試,輸入數(shù)據(jù)時(shí)數(shù)據(jù)類型要準(zhǔn)確,以避免錯(cuò)誤,有些函數(shù)往往要重新寫好幾遍,應(yīng)為有時(shí)不確定是否正確,就要輸入數(shù)據(jù)進(jìn)行測(cè)試,看是否正確,有很多的函數(shù)都要調(diào)用其他的函數(shù),所以函數(shù)的關(guān)聯(lián)很大,輸入數(shù)據(jù)時(shí)就要考慮清楚。4.2系統(tǒng)測(cè)試過(guò)程(1)對(duì)學(xué)生成績(jī)的錄入測(cè)試ructstundient ;ad(people)i『'"kEJAlDmkmjA學(xué)生fi閡管理段\血5爪學(xué)生物皆哩至蝶,ec" 〔1=1I回I< 附盤并不存在,是否創(chuàng)建也¥加〉 J叩pr:pripripr:DFl輸入數(shù)據(jù)對(duì)系統(tǒng)進(jìn)行測(cè)試磁盤開(kāi)不存在,是直財(cái)KJCKJCKJCKJCKJCKJCj.■*■*■*■*■*■*2割球錄入學(xué)生■JC-JC-JC-JC-JC-JC0j底回奴目46■'C:\UsersABOAADesktop\學(xué)生雌管理至她W

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論