學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第1頁
學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第2頁
學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第3頁
學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第4頁
學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)PAGE0-《算法與數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》綜合實(shí)驗(yàn)課程設(shè)計(jì)名稱:學(xué)生成績(jī)管理系統(tǒng)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生成績(jī)管理系統(tǒng)問題的描述和分析1.1問題的描述學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第1頁。

隨著社會(huì)的發(fā)展和經(jīng)濟(jì)時(shí)代的到來,管理信息系統(tǒng)在各行各業(yè)都越來越重要,特別是教育事業(yè)。在經(jīng)濟(jì)發(fā)達(dá)的國家,許多教育機(jī)構(gòu)(如公辦、私立、培訓(xùn)機(jī)構(gòu)等),都投入了大量的資金開發(fā)MIS系統(tǒng),以求在將來激烈的競(jìng)爭(zhēng)中立于不敗之地。在我國,民辦教育是新興的一個(gè)行業(yè),是隨著改革開放和市場(chǎng)經(jīng)濟(jì)的發(fā)展根據(jù)中國特有的國情發(fā)展起來的,特別是中國民辦教育促進(jìn)法的出臺(tái),從一定的程度上規(guī)范和促進(jìn)了中國民辦教育的發(fā)展,這是一個(gè)很有發(fā)展前途的新興產(chǎn)業(yè),但是同發(fā)達(dá)國家相比,我國的民辦教育行業(yè)的信息技術(shù)的應(yīng)用程度還很低,只有在大城市中發(fā)展較早、規(guī)模較大的民辦院校中才使用計(jì)算機(jī)進(jìn)行大規(guī)模操作,從各方面提高工作效率,取得良好的社會(huì)和經(jīng)濟(jì)效益,而一些新興的、規(guī)模較小的民辦機(jī)構(gòu)還沒有全部具備這種功能。因此可見,隨著我國民辦教育的迅速發(fā)展,信息技術(shù)在其上的應(yīng)用會(huì)更加地廣泛和深入。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第1頁。1.2現(xiàn)有系統(tǒng)存在問題的分析

有的學(xué)校根本就沒有系統(tǒng),還是手工操作計(jì)算機(jī)日新月異的發(fā)展,但是有的領(lǐng)導(dǎo)只見眼前利益,不關(guān)心,甚至不敢嘗試新興的事物。手工操作還十分落后,效率極低,成本很大,以后的社會(huì)是信息的社會(huì),信息只有快,準(zhǔn),精才能發(fā)揮其價(jià)值。

所以機(jī)器代替人力是必然的歷史發(fā)展趨勢(shì),只有領(lǐng)導(dǎo)的重視和支持才能從人工操作改為計(jì)算機(jī)的自動(dòng)化系統(tǒng)。人工操作必將被計(jì)算機(jī)代替。

有些學(xué)校雖使用了計(jì)算機(jī),甚至管理系統(tǒng),但是仍然存在很多問題,問題一日不解決,效率就一日提不上去。

還有,有的系統(tǒng)很不完善到處是漏洞,可以說是千瘡百孔,這樣極不完善的系統(tǒng)能有保障嗎?所以制作一個(gè)完善的學(xué)生管理系統(tǒng)是必不可少的。二、數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)structperson{charname[20];longnum;floatmath;floatEnglish;floatchinese;floataverage;floatsum;}student;三、模塊:學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第2頁。學(xué)生成績(jī)管理系統(tǒng)模塊四、算法的設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第3頁。1.在此成績(jī)管理系統(tǒng)中,要求用戶輸入的只是有字學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第3頁。intN=0;Enter(){FILE*fp;charch;charch2;charnumstr[20];structpersonstudent2;clrscr();fp=fopen("jie.txt","ab");if(fp==NULL){printf("can'topenthisfile.\n");printf("waitforasecondwithpatience.\nthesystemisexiting.\n");getch();exit(0);}else{do{printf("yourname:");gets();printf("\nyournum:");gets(numstr);student.num=atol(numstr);printf("\nyourmath:");gets(numstr);student.math=atof(numstr);printf("\nyourEnglish:");gets(numstr);student.English=atof(numstr);printf("\nyourchinese:");gets(numstr);student.chinese=atof(numstr);student.sum=student.chinese+student.math+student.English;student.average=student.sum/3;fwrite(&student,sizeof(structperson),1,fp);N++;printf("Doyoucontinueaddingotherstudents(Y/N)?\n");ch=getchar();getchar();}while(ch=='y'||ch=='Y');}printf("Showall(Y/N)?\n");ch2=getchar();getchar();if(ch2=='y'||ch2=='Y')Listall();fclose(fp);return_confirm();clrscr();}2.查詢學(xué)生記錄學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第4頁。當(dāng)用戶執(zhí)行此查詢?nèi)蝿?wù)時(shí),系統(tǒng)會(huì)提示用戶進(jìn)行查詢字段的選擇,即按學(xué)號(hào)或按姓名進(jìn)行查詢。若此學(xué)生記錄學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第4頁。Search(){charchoice;charch1;charch2;charch3;charch4;charname[20];longnum;charnumstr[20];clrscr();printf("***WAYSOFSEARCHING***\n");printf("\n");printf("**1.name**\n");printf("**2.num**\n");printf("\n");printf("giveyourchoice:\n");choice=getchar();getchar();while(choice>'2'||choice<'1'){printf("Sorry.yourchoiceiswrong.\npleasegiveacorrectone:\n");choice=getchar();getchar();}3.根據(jù)姓名或?qū)W號(hào)進(jìn)行查找switch(choice){case'1':do{Loop1:printf("inputthenameofstudentsyouwanttosearch:\n");gets(name);Search1(name);printf("GOONSEARCHINGBYNAEM(Y/N)?\n");ch2=getchar();getchar();}while(ch2=='y'||ch2=='Y');printf("Searchbyotherways(Y/N)?\n");ch3=getchar();getchar();if(ch3=='y'||ch3=='Y')gotoLoop2;break;case'2':do{Loop2:printf("inputthenumofstudentsyouwanttosearch:\n");gets(numstr);num=atol(numstr);Search2(num);printf("GOONSEARCHINGBYNUM(Y/N)?\n");ch1=getchar();getchar();}while(ch1=='y'||ch1=='Y');}}Search2(longnum){FILE*fp;charch;intflag=0;intt;clrscr();fp=fopen("jie.txt","rb");if(fp==NULL){printf("can'topenthisfile.\n");學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第5頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第5頁。getch();exit(0);}else{flag=0;t=0;while(fread(&student,sizeof(structperson),1,fp))if(num==student.num){printf("name\t\tnum\tchinese\tEnglish\tmath\sum\taverage\n");printf("%-10s%-6ld%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);t=1;break;}if(t==0)printf("Sorry.thestudentyouaresearchingnotexisted.\n");rewind(fp);}fclose(fp);}Search1(char*name){FILE*fp;charch;intflag=0;intt;clrscr();fp=fopen("jie.txt","rb");if(fp==NULL){printf("can'topenthisfile.\n");printf("waitforasecondwithpatience.\nthesystemisexiting.\n");學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第6頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第6頁。exit(0);}else{flag=0;t=0;while(fread(&student,sizeof(structperson),1,fp))if((strcmp(name,))==0){printf("name\t\tnum\tchinese\tEnglish\tmath\sum\taverage\n");printf("%-10s%-6ld%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);t=1;break;}if(t==0)printf("Sorry.thestudentyouaresearchingnotexisted.\n");rewind(fp);}fclose(fp);}Delete(){FILE*fp;structpersonstudent1[30],student2[30];inti;intk;intj;intflag;charch1;charname[20];charch;charch2;clrscr();fp=fopen("jie.txt","rb+");if(fp==NULL){printf("can'topenthisfile.\n");printf("waitforasecondwithpatience.\nthesystemisexiting.\n");getch();exit(0);}else{do{i=0;j=0;flag=0;printf("inputthenameofstudentsyouaregoingtodelete.\n");scanf("%s",name);while(fread(&student,sizeof(structperson),1,fp)==1){if((strcmp(name,))!=0){student2[j]=student;j++;}else{flag=1;printf("name\t\t\tnum\tchinese\t\tEnglish\t\tmath\tsum\taverage\n");printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);printf("Delete(Y/N)?\n");ch1=getchar();getchar();toupper(ch);if(ch=='N')gotoLoop;學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第7頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第7頁。}printf("j=%d\n",j);k=j;i=0;fclose(fp);if(flag==0)printf("Sorry.thestudentyouaresearchingnotexisted.\n");if(flag==1)printf("Congratulation!yousucceed!!!\n");fp=fopen("jie.txt","wb+");if(fp==NULL){printf("can'topenthisfile.\n");printf("waitforasecondwithpatience.\nthesystemisexiting.\n");getch();exit(0);}else{i=0;do{fwrite(&student2[i],sizeof(structperson),1,fp);i++;}while(i<k);}Loop:getchar();printf("Goon(Y/N)?\n");ch=getchar();getchar();}while(ch=='y'||ch=='Y');printf("Showall(Y/N)?\n");ch2=getchar();getchar();if(ch2=='y'||ch2=='Y'){rewind(fp);printf("name\t\t\tnum\tchinese\t\tEnglish\t\tmath\tsum\taverage\n");while(fread(&student,sizeof(structperson),1,fp)){printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);}}}fclose(fp);return_confirm();}4.修改學(xué)生記錄在修改學(xué)生記錄操作中,系統(tǒng)會(huì)先按輸入的學(xué)號(hào)或姓名查找該記錄,然后提示用戶修改學(xué)號(hào)或姓名之外的值,但學(xué)號(hào)或姓名不能修改。Revise(){FILE*fp;charch;charch1;longoffset=sizeof(structperson);intflag=0;charnumstr[20];charname[20];clrscr();fp=fopen("jie.txt","rb+");if(fp==NULL){printf("can'topenthisfile.\n");printf("waitforasecondwithpatience.\nthesystemisexiting.\n");getch();exit(0);}else{again:printf("nameofrivesingstudent:\n");學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第8頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第8頁。do{flag=0;fread(&student,sizeof(structperson),1,fp);if((strcmp(name,))==0){flag=1;printf("thefollowingisinformationofstudentbeingdeleted:\n");printf("name\t\tnum\tmath\tchinese\tEnglish\tsum\taverage\n");printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);do{printf("***informationsforrevising***\n");printf("====================================\n");printf("#1.name2.num#\n");printf("#3.math4.English#\n");printf("#5.chinese6.total#\n");printf("====================================\n");printf("giveachoice:\n");ch=getchar();getchar();while(ch>'6'||ch<'1'){printf("Sorry.youputiswrong.\npleaseinputanotherchoice:\n");ch=getchar();getchar();}switch(ch){case'1':ass_revise("name");gets();break;case'2':ass_revise("num");gets(numstr);student.num=atol(numstr);break;case'3':ass_revise("math");gets(numstr);student.math=atof(numstr);break;case'4':ass_revise("English");gets(numstr);student.English=atof(numstr);break;case'5':ass_revise("chinese");gets(numstr);student.chinese=atof(numstr);break;case'6':ass_revise("total");gets();學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第9頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第9頁。gets(numstr);student.num=atol(numstr);ass_revise("math");gets(numstr);student.math=atof(numstr);ass_revise("English");gets(numstr);student.English=atof(numstr);ass_revise("chinese");gets(numstr);student.chinese=atof(numstr);}student.sum=student.chinese+student.math+student.English;student.average=student.sum/3;printf("Continuerevisingthesamestudent(Y/N)?\n");ch1=getchar();getchar();}while(ch=='y'||ch=='Y');fseek(fp,-offset,1);fwrite(&student,sizeof(structperson),1,fp);printf("thefollowingisinformationofstudenthadbeenrevised:\n");printf("name\t\tnum\tmath\tchinese\tEnglish\tsum\taverage\n");printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);printf("Congratulation!yousucceed!!!\n");break;}}while(fread(&student,sizeof(structperson),1,fp));rewind(fp);if(flag==0)printf("Sorry.thestudentofrevingnotexisted.\n");printf("GOONRevising(Y/N)?\n");ch1=getchar();getchar();if(ch1=='y'||ch1=='Y')gotoagain;}fclose(fp);return_confirm();clrscr();}5.對(duì)學(xué)生記錄進(jìn)行排序

Order(){FILE*fp;charch;charch2;intk;floata[30],b[30],c[30],d[30];structpersonstudent1[30];inti;charch1;fp=fopen("jie.txt","rb");if(fp==NULL){printf("can'topenthisfile.\n");printf("waitforasecondwithpatience.\nthesystemisexiting.\n");getch();學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第10頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第10頁。}rewind(fp);i=0;while(fread(&student1[i],sizeof(structperson),1,fp))i++;k=i;do{for(i=0;i<k;i++){a[i]=student1[i].math;b[i]=student1[i].English;c[i]=student1[i].chinese;d[i]=student1[i].average;}printf("***WAYSOFORDER***\n");printf("========================\n");printf("*1.math2.English*\n");printf("*3.chinese4.average*\n");printf("=========================\n");printf("pleasegiveachoice:\n");ch=getchar();getchar();while(ch<'1'||ch>'4'){printf("Sorry.thedateyouinputiswrong.\npleasegiveanotherchoice:\n");ch=getchar();getchar();}switch(ch){case'1':Order1(a);break;case'2':Order1(b);break;case'3':Order1(c);break;case'4':Order1(d);break;}printf("Congratulation!yousucceed!!!\n");printf("Goonordering(Y/N)?\n");ch1=getchar();getchar();}while(ch1=='y'||ch=='Y');printf("Showall(Y/N)?\n");ch2=getchar();getchar();if(ch2=='y'||ch2=='Y'){rewind(fp);printf("name\t\t\tnum\tchinese\t\tEnglish\t\tmath\tsum\taverage\n");while(fread(&student,sizeof(structperson),1,fp)){printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);}}fclose(fp);return_confirm();}Order1(float*p){FILE*fp;inti=0;intk;intj;structpersonstudent2;structpersonstudent1[30];clrscr();fp=fopen("jie.txt","r+");if(fp==NULL){printf("can'topenthisfile.\n");printf("waitforasecondwithpatience.\nthesystemisexiting.\n");getch();exit(0);}else{while(fread(&student1[i],sizeof(structperson),1,fp))i++;k=i;i=0;while(i<k){for(j=i+1;j<k;j++)if(p[i]<p[j]){student2=student1[i];student1[i]=student1[j];student1[j]=student2;}i++;}rewind(fp);for(i=0;i<k;i++)fwrite(&student1[i],sizeof(structperson),1,fp);}fclose(fp);}6.顯示學(xué)生記錄由于記錄顯示操作經(jīng)常進(jìn)行,所以我將這分由獨(dú)立的函數(shù)來實(shí)現(xiàn),減少代碼的重復(fù)。Listall(){FILE*fp;charch;structpersonstudent1[30];學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第11頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第11頁。intk;fp=fopen("jie.txt","r");if(fp==NULL){printf("can'topenthisfile.\n");printf("waitforasecondwithpatience.\nthesystemisexiting.\n");getch();exit(0);}else{do{rewind(fp);printf("name\t\t\tnum\tchinese\t\tEnglish\t\tmath\tsum\taverage\n");while(fread(&student,sizeof(structperson),1,fp)){printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);}printf("GOON(Y/N)?\n");ch=getchar();getchar();}while(ch=='y'||ch=='Y');}fclose(fp);return_confirm();}四、具體程序的實(shí)現(xiàn)#include"stdio.h"#include"string.h"#include"stdlib.h"#include"ctype.h"structperson{ charname[20]; longnum; floatmath; floatEnglish; floatchinese; floataverage; floatsum;}student;intN=0;Enter(){ FILE*fp; charch; charch2; charnumstr[20]; structpersonstudent2; clrscr(); fp=fopen("jie.txt","ab"); if(fp==NULL) { printf("can'topenthisfile.\n"); printf("waitforasecondwithpatience.\nthesystemisexiting.\n"); getch();學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第12頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第12頁。 } else { do{ printf("yourname:"); gets(); printf("\nyournum:"); gets(numstr); student.num=atol(numstr); printf("\nyourmath:"); gets(numstr); student.math=atof(numstr); printf("\nyourEnglish:"); gets(numstr); student.English=atof(numstr); printf("\nyourchinese:"); gets(numstr); student.chinese=atof(numstr); student.sum=student.chinese+student.math+student.English; student.average=student.sum/3; fwrite(&student,sizeof(structperson),1,fp); N++; printf("Doyoucontinueaddingotherstudents(Y/N)?\n"); ch=getchar(); getchar(); }while(ch=='y'||ch=='Y'); } printf("Showall(Y/N)?\n"); ch2=getchar(); getchar(); if(ch2=='y'||ch2=='Y') Listall(); fclose(fp); return_confirm(); clrscr();}Search(){ charchoice; charch1; charch2; charch3; charch4; charname[20]; longnum; charnumstr[20];學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第13頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第13頁。 printf("***WAYSOFSEARCHING***\n"); printf("\n"); printf("**1.name**\n"); printf("**2.num**\n"); printf("\n"); printf("giveyourchoice:\n"); choice=getchar(); getchar(); while(choice>'2'||choice<'1'){ printf("Sorry.yourchoiceiswrong.\npleasegiveacorrectone:\n"); choice=getchar(); getchar();}switch(choice){ case'1':do{ Loop1: printf("inputthenameofstudentsyouwanttosearch:\n"); gets(name); Search1(name); printf("GOONSEARCHINGBYNAEM(Y/N)?\n"); ch2=getchar(); getchar(); }while(ch2=='y'||ch2=='Y');printf("Searchbyotherways(Y/N)?\n");ch3=getchar();getchar();if(ch3=='y'||ch3=='Y')gotoLoop2;break; case'2': do{ Loop2: printf("inputthenumofstudentsyouwanttosearch:\n"); gets(numstr); num=atol(numstr); Search2(num); printf("GOONSEARCHINGBYNUM(Y/N)?\n"); ch1=getchar(); getchar(); }while(ch1=='y'||ch1=='Y');}}Search2(longnum)學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第14頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第14頁。 FILE*fp;charch;intflag=0;intt;clrscr(); fp=fopen("jie.txt","rb"); if(fp==NULL) { printf("can'topenthisfile.\n"); printf("waitforasecondwithpatience.\nthesystemisexiting.\n"); getch(); exit(0); } else { flag=0; t=0; while(fread(&student,sizeof(structperson),1,fp)) if(num==student.num) { printf("name\t\tnum\tchinese\tEnglish\tmath\sum\taverage\n"); printf("%-10s%-6ld%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average); t=1; break; } if(t==0) printf("Sorry.thestudentyouaresearchingnotexisted.\n"); rewind(fp); } fclose(fp);}Search1(char*name){ FILE*fp;charch;intflag=0;intt;clrscr(); fp=fopen("jie.txt","rb"); if(fp==NULL) { printf("can'topenthisfile.\n"); printf("waitforasecondwithpatience.\nthesystemisexiting.\n");學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第15頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第15頁。 exit(0); } else { flag=0; t=0; while(fread(&student,sizeof(structperson),1,fp)) if((strcmp(name,))==0) { printf("name\t\tnum\tchinese\tEnglish\tmath\sum\taverage\n"); printf("%-10s%-6ld%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average); t=1; break; } if(t==0) printf("Sorry.thestudentyouaresearchingnotexisted.\n"); rewind(fp); } fclose(fp);}Delete(){ FILE*fp; structpersonstudent1[30],student2[30]; inti; intk; intj; intflag; charch1; charname[20]; charch; charch2; clrscr(); fp=fopen("jie.txt","rb+"); if(fp==NULL) { printf("can'topenthisfile.\n"); printf("waitforasecondwithpatience.\nthesystemisexiting.\n"); getch(); exit(0); } else {學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第16頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第16頁。 i=0; j=0; flag=0; printf("inputthenameofstudentsyouaregoingtodelete.\n"); scanf("%s",name); while(fread(&student,sizeof(structperson),1,fp)==1) { if((strcmp(name,))!=0){ student2[j]=student; j++;}else{flag=1;printf("name\t\t\tnum\tchinese\t\tEnglish\t\tmath\tsum\taverage\n");printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average);printf("Delete(Y/N)?\n");ch1=getchar();getchar();toupper(ch);if(ch=='N')gotoLoop;} } printf("j=%d\n",j); k=j; i=0; fclose(fp); if(flag==0) printf("Sorry.thestudentyouaresearchingnotexisted.\n"); if(flag==1) printf("Congratulation!yousucceed!!!\n"); fp=fopen("jie.txt","wb+"); if(fp==NULL) { printf("can'topenthisfile.\n"); printf("waitforasecondwithpatience.\nthesystemisexiting.\n"); getch(); exit(0); } else {學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第17頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第17頁。 do{ fwrite(&student2[i],sizeof(structperson),1,fp); i++; }while(i<k); } Loop:getchar();printf("Goon(Y/N)?\n"); ch=getchar(); getchar(); }while(ch=='y'||ch=='Y'); printf("Showall(Y/N)?\n"); ch2=getchar(); getchar(); if(ch2=='y'||ch2=='Y') { rewind(fp); printf("name\t\t\tnum\tchinese\t\tEnglish\t\tmath\tsum\taverage\n"); while(fread(&student,sizeof(structperson),1,fp)) {printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average); } } } fclose(fp); return_confirm();}Revise(){ FILE*fp; charch; charch1; longoffset=sizeof(structperson); intflag=0; charnumstr[20]; charname[20]; clrscr(); fp=fopen("jie.txt","rb+"); if(fp==NULL) { printf("can'topenthisfile.\n"); printf("waitforasecondwithpatience.\nthesystemisexiting.\n"); getch(); exit(0);學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第18頁。學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)全文共30頁,當(dāng)前為第18頁。 else { again: printf("nameofrivesingstudent:\n"); gets(name); do{ flag=0; fread(&student,sizeof(structperson),1,fp); if((strcmp(name,))==0) { flag=1; printf("thefollowingisinformationofstudentbeingdeleted:\n"); printf("name\t\tnum\tmath\tchinese\tEnglish\tsum\taverage\n"); printf("%-10s%-6ld%8.2f%8.2f%8.2f%8.2f%8.2f\n",,student.num,student.chinese,student.English,student.math,student.sum,student.average); do{ printf("***informationsforrevising***\n"); printf("====================================\n"); printf("#1.name2.num#\n"); printf("#3.math4.English#\n"); printf("#5.chinese6.total#\n"); prin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論