數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告之成績分析與全國交通咨詢模擬_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告之成績分析與全國交通咨詢模擬_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告之成績分析與全國交通咨詢模擬_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告之成績分析與全國交通咨詢模擬_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告之成績分析與全國交通咨詢模擬_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告1、 成績分析問題2、 全國交通咨詢模擬 學(xué)院(系): 計算機科學(xué)與工程學(xué)院 班 級: 11級36X班 學(xué)生姓名: XXX 學(xué)號1110306010X 指導(dǎo)教師: XXX 2012年12月17日 到2013年1月 4日一、課程設(shè)計概述:本次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計共完成兩個題:成績分析問題和全國交通咨詢模擬。使用語言:C+編譯環(huán)境:TC3.0 / VC6.0二、課程設(shè)計題目一實驗內(nèi)容成績分析文檔資料問題描述錄入、保存一個班級學(xué)生多門課程的成績,并對成績進行分析。需求分析1.通過鍵盤輸入各學(xué)生的多門課程的成績,建立相應(yīng)的文件sc.txt2.對文件sc.txt中的數(shù)據(jù)進行處理,要求具有

2、如下功能:a.按各門課程的成績排序,并生成相應(yīng)的文件輸出b.計算每人的平均成績,按平均成績排序,并生成文件c.求出各門課程的平均成績、不及格人數(shù)、6069分人數(shù)、7079分人數(shù)、8089分人數(shù)、90分以上人數(shù)d.根據(jù)姓名或?qū)W號查詢某人的各門課成績,重名也要能處理3.界面美觀概要設(shè)計-=ADT=-save(int n)/保存函數(shù)int load()/加載記錄或可以計算記錄個數(shù)的函數(shù)void printf_face()/顯示一個記錄的函數(shù)browse()/瀏覽(全部)模塊函數(shù)void printf_back()/一個任務(wù)結(jié)束時的選擇瀏覽還是返回的函數(shù)average(int i)/求平均值函數(shù)no_

3、input(int i,int n)/學(xué)號輸入函數(shù)score_input(int i)/分數(shù)輸入函數(shù)input(int i)/輸入一個記錄函數(shù)modify_data(int i,int n)/修改記錄函數(shù)enter()/輸入模塊函數(shù)add()/追加模塊函數(shù)modify()/修改模塊函數(shù)del()/刪除模塊函數(shù)int h(char k)/ 查找模塊函數(shù)insert()/插入模塊函數(shù)void sift(RecNode r,int t,int w)/ 排序模塊(按平均成績) 函數(shù)void fenduantongji()/統(tǒng)計模塊函數(shù)teacher()/教師界面函數(shù)st()/學(xué)生界面函數(shù)distin(

4、)/密碼函數(shù)menu()/主界面函數(shù) 存儲結(jié)構(gòu)struct student/學(xué)生信息結(jié)構(gòu)體char num11;/學(xué)號 char name20;/姓名 int score8;/成績(英語 數(shù)學(xué) C語言 管理學(xué) 信檢 體育 近代史 線數(shù)) double ave;/平均分stuN;typedef struct node unsigned long int key; struct node * link;HNode;typedef structint key; /*排序碼*/ float data;/*其他數(shù)據(jù)項*/RecNode; 流程圖(1)程序設(shè)計組成框圖學(xué)生成績管理系統(tǒng)1. 輸入新數(shù)據(jù)2.

5、添加學(xué)生數(shù)據(jù)3. 修改學(xué)生數(shù)據(jù)4. 刪除學(xué)生數(shù)據(jù)5. 瀏覽全部學(xué)生數(shù)據(jù)6.按學(xué)號查詢7.插入學(xué)生信息8. 按平均分排序9. 分段統(tǒng)計10.退出11. 返回主界面 (2)模塊功能說明1 輸入新數(shù)據(jù):完成全部學(xué)生記錄的輸入。2 添加數(shù)據(jù):添加新學(xué)生所有信息。3 增加功能:增加新學(xué)生的部分信息。 4 刪除功能:刪除學(xué)生信息。5瀏覽全部學(xué)生數(shù)據(jù):輸出所有學(xué)生信息。6學(xué)號查詢:按學(xué)號查詢學(xué)生信息。7插入學(xué)生信息:插入新學(xué)生信息。8按平均分排序:按平均分高低顯示學(xué)生記錄。9分段統(tǒng)計:查詢各等次學(xué)生信息。 10 退出系統(tǒng)。11. 返回主界面。(3)程序流程圖開始輸入指令(111)輸入新數(shù)據(jù)添加學(xué)生數(shù)據(jù)修改學(xué)

6、生數(shù)據(jù)刪除學(xué)生數(shù)據(jù)瀏覽全部學(xué)生數(shù)據(jù)學(xué)號查詢插入學(xué)生信息按平均分排序分段統(tǒng)計退出123456789100結(jié)束110詳細設(shè)計 源程序清單(重要程序段和其重要變量的說明)#include<string.h>#include<stdio.h>#include<malloc.h>/*控制學(xué)生記錄的容量*/#define N 40#define PR printf("nr%s %s %s %s %s %s %s %s %s %s %s ",stui.num,,stui.score0,stui.score1,stui.score2,s

7、tui.score3,stui.score4,stui.score5,stui.score6,stui.score7,stui.score8,stui.ave)struct studentchar num11; char name20; int score8; float ave;stuN;typedef struct node unsigned long int key; struct node * link;HNode;typedef structint key; /*排序碼*/ float data;/*其他數(shù)據(jù)項*/RecNode;/*全新保存函數(shù)*/save(int n) /*保存函

8、數(shù),保存n個記錄*/FILE *fp; int i; if(fp=fopen("sc.txt","wb")=NULL) /*以輸出打開方式,在此前的記錄被覆蓋*/ printf("n不能打開文件n"); getch();return NULL; for(i=0;i<n;i+) if(stui.ave!=0) /*stui.ave=0表此記錄已刪除*/ if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf("文件輸入錯誤n"); fclose(f

9、p); return 0;/*加載記錄或可以計算記錄個數(shù)的函數(shù)*/int load() /*加載記錄或可以計算記錄個數(shù)的函數(shù)*/FILE *fp; int i; if(fp=fopen("sc.txt","rb")=NULL) /*以輸出打開方式,在此前的記錄被覆蓋*/ printf("n不能打開文件n"); getch();return NULL; for(i=0;!feof(fp);i+) fread(&stui,sizeof(struct student),1,fp); fclose(fp); return(i-1);

10、/*返回記錄個數(shù)*/void puts_() /*顯出-函數(shù)*/puts("n-");/*顯示數(shù)據(jù)結(jié)構(gòu)項目函數(shù)*/void printf_face() /*顯示數(shù)據(jù)結(jié)構(gòu)項目*/printf("n 學(xué)號 姓名 英語 數(shù)學(xué) C語言 管理學(xué) 信檢 體育 近代史 線數(shù) 平均分n");/*顯示一個記錄的函數(shù)*/printf_one(int i) /*顯示一個記錄的函數(shù)*/int j; printf("%12s %-9s",stui.num,); for(j=0;j<8;j+) printf("%-6d"

11、;,stui.scorej); printf("%-7.2fn",stui.ave); return 0;teacher();/*瀏覽(全部)模塊*/browse() /*瀏覽(全部)模塊*/int i,n; n=load(); /*加載記錄*/ system("cls"); puts_(); printf_face(); /*調(diào)用顯示數(shù)據(jù)結(jié)構(gòu)項目函數(shù)*/ for(i=0;i<n;i+) if(i!=0)&&(i%10=0) /*目的是分屏顯示*/ printf("nnPass any key to contiune .

12、. ."); getch(); puts("nn"); printf_one(i); /*調(diào)用顯示一個記錄的函數(shù)*/ puts_(); printf("tThere are %d record.n",n); printf("nPass any key to back . . ."); getch(); /*按任意健*/ teacher(); return 0;/*一個任務(wù)結(jié)束時的選擇瀏覽還是返回的函數(shù)*/void printf_back() /*一個任務(wù)結(jié)束時的選擇瀏覽還是返回*/int w; printf("nn

13、t-成功 -nn"); printf("請選擇:nnt1).現(xiàn)在瀏覽全部t2).返回: bb"); scanf("%d",&w);system("cls"); if(w=1) browse(); else teacher();average(int i) /*對第i個記錄的分數(shù)求平均值*/int j; int sum; for(sum=0,j=0;j<8;j+) sum+=stui.scorej; stui.ave=sum/8.0; return 0;/*學(xué)號輸入函數(shù)*/no_input(int i,int n

14、) /*i表示第i個的學(xué)生信息,n表示比較到第n個學(xué)生*/int j,k,w1; do w1=0; printf("學(xué)號:"); scanf("%s",stui.num); for(j=0;stui.numj!='0'j+) /*學(xué)號輸入函數(shù),作了嚴(yán)格規(guī)定*/ if(stui.numj<'0'|stui.numj>'9') /*判斷學(xué)號是否為數(shù)字*/ puts("Input error! Only be made up of (0-9).Please reinput!n");

15、 w1=1;break; if(w1!=1) for(k=0;k<n;k+) /*比較到第n個學(xué)生*/ /*排除第i個學(xué)生記錄即你要修改的*/ if(k!=i&&strcmp(stuk.num,stui.num)=0) /*判斷學(xué)號是否有雷同*/ puts("該記錄已存在. 請重新輸入!n"); w1=1;break; while(w1=1); return 0;/*對分數(shù)輸入*/score_input(int i)int j;printf(" 1.英語 2.數(shù)學(xué) 3.C語言 4.管理學(xué) 5.信檢 6.體育 7.近代史 8.線性代數(shù)n&quo

16、t;); for(j=0;j<8;j+) printf("score %d:",j+1); scanf("%d",&stui.scorej); return 0;/*輸入一個記錄函數(shù)*/input(int i) /*輸入一個記錄函數(shù)*/ no_input(i,i); /*調(diào)用學(xué)號輸入函數(shù)*/ printf("姓名:"); scanf("%s",); score_input(i); /*調(diào)用分數(shù)輸入函數(shù)*/ average(i); /*調(diào)用求平均值函數(shù)*/ return 0;/*修改記

17、錄函數(shù)*/modify_data(int i,int n) /*修改數(shù)據(jù)函數(shù),修改第i個記錄*/int c,w1; do /*輸入選擇作個判斷*/ puts("nmodify by =>nn 1).學(xué)號 2.姓名 3).英語 4).數(shù)學(xué)n 5).C語言 6).管理學(xué) 7).信檢 8).體育 9).近代史n 10).線性代數(shù) 11).all score 12).all data 13).cancel and back"); printf("請選擇: bb"); scanf("%d",&c);system("cls

18、"); if(c>13|c<1) puts("n選擇錯誤! 重新選擇!"); /*判斷選擇是否錯誤,若是則重新選擇性*/ getchar(); /*當(dāng)輸入是字符時可以防止死循環(huán)*/ while(c>13|c<1); do switch(c) /*選擇要修改的項目*/ case 1:no_input(i,n);break; /*調(diào)用學(xué)號輸入函數(shù)*/ case 2:printf("姓名:");scanf("%s",);break; case 3:printf("英語:"

19、;);scanf("%d",&stui.score0);break; case 4:printf("數(shù)學(xué):");scanf("%d",&stui.score1);break; case 5:printf("C語言:");scanf("%d",&stui.score2);break; case 6:printf("管理學(xué):");scanf("%d",&stui.score3);break; case 7:printf(&quo

20、t;:信檢");scanf("%d",&stui.score4);break; case 8:printf("體育:");scanf("%d",&stui.score5);break; case 9:printf("近代史:");scanf("%d",&stui.score6);break; case 10:printf("線性代數(shù):");scanf("%d",&stui.score7);break; case 1

21、1:score_input(i);break; /*調(diào)用分數(shù)輸入函數(shù)*/ case 12:input(i);break; /*調(diào)用輸入整條學(xué)生記錄*/ case 13:teacher(); /*直接返回教師介面*/ if(c>2&&c<10) average(i); /*調(diào)用求平均值函數(shù)*/ puts("nNow:n"); printf_face(); /*調(diào)用顯示數(shù)據(jù)結(jié)構(gòu)項目函數(shù)*/ printf_one(i); /*修改后的記錄讓用戶確認*/ printf("n是否確定?nnt1).確定 2).重新修改 3).不保存返回 bb&qu

22、ot;); /*是否確定*/ scanf("%d",&w1); /*選擇2則表示這次修改錯誤要重新修改*/ while(w1=2); return(w1); /*返回控制值*/*輸入模塊*/enter() /*輸入模塊*/int i,n; printf("輸入學(xué)生總數(shù)(0-%d)?:",N); scanf("%d",&n); /*要輸入的記錄個數(shù)*/ printf("n現(xiàn)在輸入數(shù)據(jù)nn"); for(i=0;i<n;i+) printf("nInput %dth student re

23、cord.n",i+1); input(i); /*調(diào)用輸入函數(shù)*/ if(i!=0) save(n); /*調(diào)用保存函數(shù)*/ printf_back(); return 0;/*一個任務(wù)結(jié)束時讓用戶選擇是瀏覽還是返回*/*追加模塊*/add() /*追加模塊*/int i,n,m,k; FILE *fp; n=load(); printf("增加的學(xué)生總數(shù)(0-%d)?:",N-n); scanf("%d",&m); system("cls"); /*輸入要追加的記錄個數(shù)*/ k=m+n; for(i=n;i<

24、;k;i+) printf("nInput %dth student record.n",i-n+1); input(i); /*調(diào)用輸入函數(shù)*/ if(fp=fopen("sc.txt","ab")=NULL) /*以ab方式打開文件,追加保存*/ printf("不能打開文件n"); return 0; for(i=n;i<k;i+) /*輸入出到文件*/ if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf("文件輸入錯誤n&q

25、uot;); fclose(fp); printf_back(); return 0;/*一個任務(wù)結(jié)束時的選擇瀏覽還是返回*/ /*修改模塊*/modify() /*修改模塊*/struct student s; int i,n,k,w0=1,w1,w2=0; n=load(); do system("cls"); k=-1; /*給用戶看全部記錄以便確認要修改的記錄*/ puts_(); /*顯示-*/ printf_face(); /*調(diào)用顯示數(shù)據(jù)結(jié)構(gòu)項目函數(shù)*/ for(i=0;i<n;i+) if(i!=0)&&(i%10=0) /*目的是分屏

26、顯示*/ printf("nnRemember NO.which needed modify. pass any key to contiune . . ."); getch(); puts("nn"); printf_one(i); /*調(diào)用顯示一個記錄的函數(shù)*/ puts_(); do printf("nn輸入修改學(xué)號! NO.:"); scanf("%s",s.num); system("cls"); /*輸入要修改的數(shù)據(jù)的學(xué)號*/ for(i=0;i<n;i+) /*查找要修改的數(shù)

27、據(jù)*/ if(strcmp(s.num,stui.num)=0) k=i; /*找到要修改的記錄*/ s=stui; /*把stui(即當(dāng)次修改的學(xué)生記錄)備份給s,以便用戶反悔時恢復(fù)名譽*/ if(k=-1) printf("nn不存在! 重新輸入"); while(k=-1); /*當(dāng)K=-1表示沒有找到*/ printf_face(); /*調(diào)用顯示數(shù)據(jù)結(jié)構(gòu)項目函數(shù)*/ printf_one(k); /*調(diào)用顯示一個記錄的函數(shù)*/ w1=modify_data(k,n); /*修改學(xué)生記錄并且返回保存控制值w1,w1=1則表示用戶已確認修改*/ if(w1=1) /*

28、W1等于1時則表示用戶確定這次修改*/ printf("n - 成功 -.nn是否修改其他?nnt1).是 2).保存返回t bb"); scanf("%d",&w0); w2=1; /*來控制保存,使w2=1是標(biāo)記已有過修改*/ else w0=0; if(w2=1) stuk=s; /走到這里是由于用戶沒有確認這次修改(在調(diào)用修改函數(shù)w1=modify_data(k,n);時沒有確認). 使W0=0,為了讓終止循環(huán), /stuk=s/,則把備份的s恢復(fù)給stuk(即當(dāng)次修改的),這樣的好處是確保在此之前修改過的成功保存,而本次(用戶沒有確認的

29、)不修改*/ if(w0!=1&&w2=1) /*W0不等于1則表示正常返回,w2=1表示在此之前有過修改,這時就保存用戶已確認修改的并返回*/ save(n); /*w2不等于1表示在此次之前沒有修改過(即:第一次),而又反悔這次修改,則不保存返回*/ while(w0=1); teacher(); return 0;/*刪除模塊*/del() /*刪除模塊*/struct student s; int i,n,k,c,w0=1; n=load(); do system("cls"); k=-1; /*給用戶看全部記錄以便確認要刪除的記錄*/ puts_(

30、); printf_face(); /*調(diào)用顯示數(shù)據(jù)結(jié)構(gòu)項目函數(shù)*/ for(i=0;i<n;i+) if(stui.ave!=0) if(i!=0)&&(i%10=0) /*目的是分屏顯示,每10個一屏*/ printf("nnRemember NO. which needed del. pass any key to contiune . . ."); getch(); puts("nn"); printf_one(i); /*調(diào)用顯示一個記錄的函數(shù)*/ puts_(); do printf("nn輸入刪除學(xué)號! NO

31、.:"); scanf("%s",s.num); system("cls"); /*輸入要修改的數(shù)據(jù)的學(xué)號*/ for(i=0;i<n;i+) /*查找要修改的數(shù)據(jù)*/ if(strcmp(s.num,stui.num)=0) k=i; /*找到要修改的記錄的下標(biāo)賦給K*/ s=stui; if(k=-1) printf("nn不存在! 重新輸入"); /*K=-1,表示沒有找到相同之的*/ while(k=-1); puts("n"); printf_face(); /*調(diào)用顯示數(shù)據(jù)結(jié)構(gòu)項目函數(shù)*

32、/ printf_one(k); /*調(diào)用顯示一個記錄的函數(shù)*/ printf("n是否確定?nt1).是 2).否且刪除其他 3).保存全部返回 bb"); scanf("%d",&c);system("cls"); if(c=1) stuk.ave=0; /*stuk.ave=0用來標(biāo)識這個記錄是要刪除的.保存時則不保存stuk.ave=0的數(shù)據(jù)*/ printf("nn - 成功 -.nn是否重輸?nt1).是 2).返回菜單t bb"); /*問是否繼續(xù)*/ scanf("%d"

33、,&w0); if(c=3) w0=0; /*w0=0不刪除直接返回*/ if(w0!=1&&c!=3) /*只有當(dāng)確認刪除后返回才保存,不刪除直接返回則不保存,且不保存在此之前刪除過的記錄*/ save(n); while(w0=1); teacher(); return 0;/*返回教師介面*/ /*查找模塊*/int h(char k)return(k%5);int linkinsert(HNode *t,char k)/*向用拉鏈法處理沖突的散列表t中插入關(guān)鍵字為k的記錄*/int i;HNode *p;i=h(k);if(ti=NULL)p=(HNode*)m

34、alloc(sizeof(HNode);p->key=k;p->link=NULL;ti=p;printf("n inserted %lun ",k);return(1);elsep=ti;while(p!=NULL)if(p->key=k)printf("n retrieval %lun ",k);return(0);else if(p->link!=NULL) p=p->link;elsep->link=(HNode*)malloc(sizeof(HNode);p=p->link;p->key=k;p-

35、>link=NULL;printf("n inserted %lun ",k);return(1);getch();return 0;HNode *linksearch(HNode *t,char k)/*在用拉鏈法處理沖突的散列表t中查找關(guān)鍵字為給定值k的記錄*/HNode *p;int i;i=h(k);if(ti=NULL)return(NULL);p=ti;while(p!=NULL)if(p->key=k)printf("%lun",p->key);return(p);else p=p->link;return(NULL

36、);search() /*查找模塊*/int i,n,k,w1=1,w2,w3,w4; struct student s; n=load(); do do k=-1; printf("nn輸入查找學(xué)號! NO.:"); scanf("%s",s.num); /*輸入要修改的數(shù)據(jù)的學(xué)號*/ printf_face(); /*調(diào)用顯示數(shù)據(jù)結(jié)構(gòu)項目函數(shù)*/ for(i=0;i<n;i+) /*查找要修改的數(shù)據(jù)*/ if(strcmp(s.num,stui.num)=0) k=i; /*找到要修改的記錄*/ printf_one(k);break; /*調(diào)

37、用顯示一個記錄的函數(shù)*/ if(k=-1) printf("nn不存在! 請重新輸入"); printf("nn是否確定?nt1).是 2).否且返回 bb"); scanf("%d",&w1);system("cls"); while(k=-1&&w1=1); /*如果w1不等于1則直接返回*/ w4=0;w3=0; if(k!=-1) /*k不等于-1表示找到,如果找到則選擇操作*/ printf("nn請選擇:nt1).查找另一個數(shù)據(jù) 2).修改 3).刪除 4).返回目錄

38、bb"); scanf("%d",&w2); switch(w2) case 2:w3=modify_data(k,n);break; /*調(diào)用修改數(shù)據(jù)函數(shù)*/ case 3:printf("n是否確定?nt1).是 2).否且返回 bb"); scanf("%d",&w4); if(w4=1) stuk.ave=0; /*表示刪除*/ break; if(w3=1|w4=1) save(n); printf("nn - 成功 -."); printf("nn請選擇:nt1).查

39、找另一個數(shù)據(jù) 2).返回 bb"); scanf("%d",&w2);system("cls"); while(w2=1); teacher(); return 0;/*插入模塊*/insert() /*插入模塊*/int i,j,n,c; struct student s; n=load(); puts("n輸入一個數(shù)據(jù).n"); do input(n); /*輸入到第n個記錄,即插入到最后*/ printf_face(); printf_one(n); printf("nn是否確定?nnt1).是t2)

40、.取消重輸t3).不保存返回 bb"); scanf("%d",&c); if(c=1) for(j=0;j<n;j+) /*用起泡法排序*/ for(i=n;i>j;i-) if(stui.ave>stui-1.ave) s=stui-1;stui-1=stui;stui=s; save(n+1); printf_back(); else if(c!=2) teacher(); while(c=2); return 0;/*排序模塊(按平均成績)*/void sift(RecNode r,int t,int w) /*用篩選法調(diào)整堆*/

41、int i,j;RecNode x;i=t;x=ri;j=2*i+1;while(j<=w)if(j<w)&&(rj.key>rj+1.key)j+;if(x.key>rj.key)ri=rj;i=j;j=2*j+1;else break;ri=x;void heapsort(RecNode r,int n) /*堆排序*/int i;RecNode x;for(i=n/2-1;i>=0;i-)sift(r,i,n-1);for(i=n-1;i>0;i-)x=r0;r0=ri;ri=x;sift(r,0,i-1);/*排序模塊(按平均成績)*

42、/order() /*排序模塊(按平均成績)*/int i,j,k,n; struct student s; n=load(); for(i=0;i<n-1;i+) /*選擇法排序*/ k=i; for(j=i+1;j<n;j+) if(stuj.ave<stuk.ave) k=j; s=stui;stui=stuk;stuk=s; save(n); puts("nn"); printf_back(); return 0;/*統(tǒng)計模塊*/void fenduantongji()int k,u,n,i,w1=1,x;int a,b,c,d,e;a=0;b=0

43、;c=0;d=0;e=0;printf(" 1.英語 2.數(shù)學(xué) 3.C語言 4.管理學(xué) 5.信檢 6.體育 7.近代史 8.線性代數(shù)n"); printf("請輸入要統(tǒng)計的科目:");scanf("%d",&u);system("cls");if(u<=8)n=u; x=load(); for(i=0;i<x;i+)k=stui.scorex-1;if(k>=90&&k<100)a=a+1;else if(k<90&&k>=80)b=b+1

44、;else if(k<80&&k>=70)c=c+1;else if(k<70&&k>=60)d=d+1;else if(k>=0&&k<60)e=e+1;printf("學(xué)生成績在 90100 間有:n %dn",a);printf("學(xué)生成績在 8089 間有 :n %dn",b);printf("學(xué)生成績在 7079 間有 :n %dn",c);printf("學(xué)生成績在 6069 間有 :n %dn",d);printf(&

45、quot;低于60的有:n %dn",e); printf("n是否繼續(xù)?nnt1).是 2).否 bb"); scanf("%d",&w1);system("cls");if(w1=1) fenduantongji(); elseteacher(); menu();/*教師界面*/teacher() /*教師界面*/int n,w1; do system("cls"); /*清屏*/ puts("tt*MENU*nn"); puts("tttt1.輸入新數(shù)據(jù)&quo

46、t;); puts("tttt2.添加數(shù)據(jù)"); puts("tttt3.修改數(shù)據(jù)"); puts("tttt4.刪除數(shù)據(jù)"); puts("tttt5.瀏覽全部"); puts("tttt6.學(xué)號查詢"); puts("tttt7.插入數(shù)據(jù)"); puts("tttt8.按平均分排序"); puts("tttt9.分段統(tǒng)計"); puts("tttt10.退出"); puts("tttt11.返回主界面&

47、quot;); puts("nntt*n"); printf("請選擇序號:(1-11): bb"); scanf("%d",&n); system("cls"); if(n<1|n>11) /*對選擇的數(shù)字作判斷*/ w1=1;getchar(); else w1=0; while(w1=1); /*選擇功能*/ switch(n) case 1:enter();break; /*輸入模塊*/ case 2:add();break; /*追加模塊*/ case 3:modify();break; /*修改模塊*/ case 4:del();break; /*刪除模塊*/ case 5:browse();break; /*瀏覽模塊*/ case 6:search();

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論