學(xué)生綜合測(cè)評(píng)系統(tǒng)_第1頁
學(xué)生綜合測(cè)評(píng)系統(tǒng)_第2頁
學(xué)生綜合測(cè)評(píng)系統(tǒng)_第3頁
學(xué)生綜合測(cè)評(píng)系統(tǒng)_第4頁
學(xué)生綜合測(cè)評(píng)系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、# include # include stdlib.h # include string.h#include struct student *Read();void save(struct student *head);void sinput(struct student *p);struct student *input();void paixu_num(struct student *head);struct student *insert();struct student *alter();struct student *del();void find_num(struct stude

2、nt *phead);void find_name(struct student *phead);void output();void min_student(struct student *phead);void max_student(struct student *phead);void ave_student(struct student *phead);void every_student(struct student *phead);void score_paixu(struct student *head);void help();void tj_menu(struct stud

3、ent *head);void find_menu(struct student *head);void menu();struct student/定義學(xué)生信息結(jié)構(gòu)數(shù)組,用于學(xué)生信息輸入 char number13;char name13;char sex4;char adds15;char phone14; char qq14;float chinese,math,english,txhp,pinde,teacher;int zcmc,ksmc;double ave,zc;struct student *next;#define Len sizeof(struct student)int

4、len; /鏈表長(zhǎng)度int a=0,b=0,c=0,d=0,e=0;/用來存放成績(jī)各階的人數(shù)char stu10;struct student *Read() /讀取數(shù)據(jù)文件保存到鏈表中,返回指向此鏈表頭指針struct student *head=NULL;struct student *p1, *p2;FILE *fp;cout請(qǐng)輸入你要打開的文件(.dat)stu;if(fp=fopen(stu,rb+)=NULL)cout打開文件出錯(cuò)!endl;exit(0);while(!feof(fp) if( (p1=(struct student*)malloc(Len)=NULL )cout

5、內(nèi)存申請(qǐng)出錯(cuò)next=p1;p2=p1;fclose(fp);return head;void save(struct student *head)/數(shù)據(jù)存盤FILE *fp;struct student *p;p=head;cout請(qǐng)輸入你要存進(jìn)去的文件(.dat)stu;if(fp = fopen(stu, wb)=NULL)cout無法打開文件!endl;system(pause);menu();while(p) if(fwrite(p,Len,1,fp)!=1)cout寫入數(shù)據(jù)出錯(cuò)next;cout數(shù)據(jù)存入成功!請(qǐng)按任意鍵繼續(xù)!endl;getchar();fclose(fp);/單次

6、輸入void sinput(struct student *p)cout請(qǐng)輸入學(xué)號(hào):p-number;cout請(qǐng)輸入姓名: p-name;cout請(qǐng)輸入性別: p-sex;cout請(qǐng)輸入家庭住址: p-adds;cout請(qǐng)輸入聯(lián)系電話: p-phone;cout請(qǐng)輸入qq: p-qq;cout請(qǐng)輸入語文成績(jī):p-chinese;if(p-chinese100|p-chinese0)cout成績(jī)輸入不符合規(guī)定,請(qǐng)重新輸入:p-chinese;cout請(qǐng)輸入數(shù)學(xué)成績(jī):p-math;if(p-math100|p-math0)cout成績(jī)輸入不符合規(guī)定,請(qǐng)重新輸入:p-math;cout請(qǐng)輸入英語成績(jī)

7、:p-english;if(p-english100|p-english0)cout成績(jī)輸入不符合規(guī)定,請(qǐng)重新輸入:p-english;cout請(qǐng)輸入同學(xué)互評(píng)分:p-txhp;if(p-txhp100|p-txhp0)cout成績(jī)輸入不符合規(guī)定,請(qǐng)重新輸入:p-txhp;cout請(qǐng)輸入品德成績(jī):p-pinde;if(p-pinde100|p-pinde0)cout成績(jī)輸入不符合規(guī)定,請(qǐng)重新輸入:p-pinde;cout請(qǐng)輸入任課教師評(píng)分:p-teacher;if(p-teacher100|p-teacher0)cout成績(jī)輸入不符合規(guī)定,請(qǐng)重新輸入:p-teacher;p-ave=(p-chi

8、nese+p-math+p-english)/3.0;p-zc=(p-ave*0.6+p-txhp*0.1+p-pinde*0.2+p-teacher*0.1);coutendl;coutendl;cout你剛輸入的信息為:endl;couttt學(xué)號(hào):numberendl;couttt姓名:nameendl;couttt性別:sexendl;couttt家庭住址:addsendl;couttt聯(lián)系電話:phoneendl;coutttQQ號(hào):qqendl;couttt語文成績(jī):chineseendl;couttt數(shù)學(xué)成績(jī):mathendl;couttt英語成績(jī):englishendl;cout

9、tt品德成績(jī):pindeendl;couttt教師評(píng)分:teacherendl;coutendl;return;/學(xué)生成績(jī)錄入函數(shù)struct student *input()struct student *head=NULL,*p1,*p2;/輸入p1,p2鏈表最后節(jié)點(diǎn)char ch=y;len=1; p2=p1=(struct student *)malloc(sizeof(struct student);cout請(qǐng)輸入第len個(gè)學(xué)生的信息:endl;sinput(p1);coutendl;cout按n退出或按任意鍵繼續(xù)ch;while(1)if(len=1)/作為頭結(jié)點(diǎn) head=p1;

10、else p2-next=p1;p2=p1;if(ch=N|ch=n)break;p1=(struct student *)malloc(sizeof(struct student);system(cls);len+;cout請(qǐng)輸入第len個(gè)學(xué)生的信息:endl;sinput(p1);coutendl;cout按n退出或按任意鍵繼續(xù)ch;p2-next=NULL;paixu_num(head);cout輸入學(xué)生信息完成!請(qǐng)按任意鍵返回主菜單!endl;getchar();return head;/學(xué)號(hào)排序void paixu_num(struct student *head) struct s

11、tudent t,*r,*p,*q;/t交換p、q,r頭結(jié)點(diǎn) r=head; if(r=NULL) cout學(xué)生信息不存在,請(qǐng)先輸入學(xué)生信息!next;while(q) if(strcmp(q-number,p-number)0) /qnumber);strcpy(,q-name); strcpy(t.sex,q-sex); strcpy(t.adds,q-adds); strcpy(t.phone,q-phone); strcpy(t.qq,q-qq); t.chinese=q-chinese; t.math=q-math; t.english=q-english; t.txhp

12、=q-txhp; t.pinde=q-pinde; t.teacher=q-teacher;strcpy(q-number,p-number);strcpy(q-name,p-name); strcpy(q-sex,p-sex); strcpy(q-adds,p-adds); strcpy(q-phone,p-phone); strcpy(q-qq,p-qq); q-chinese=p-chinese; q-math=p-math; q-english=p-english; q-txhp=p-txhp; q-pinde=p-pinde; q-teacher=p-teacher;strcpy(p

13、-number,t.number);strcpy(p-name,); strcpy(p-sex,t.sex); strcpy(p-adds,t.adds); strcpy(p-phone,t.phone); strcpy(p-qq,t.qq); p-chinese=t.chinese; p-math=t.math; p-english=t.english; p-txhp=t.txhp; p-pinde=t.pinde; p-teacher=t.teacher; q=q-next; r=r-next; /插入函數(shù)struct student *insert()struct stude

14、nt *p,*p1,*head;head=Read();p1=head;p=(struct student *)malloc(sizeof(struct student);char num14,ch;cout請(qǐng)輸入你要插入的前一個(gè)學(xué)生的學(xué)號(hào):num;while(p1)if(!strcmp(p1-number,num)sinput(p);p-next=p1-next;p1-next=p;len+;elsep1=p1-next;cout按n退出或按任意鍵繼續(xù)ch;if(ch=N|ch=n)break;cout學(xué)生信息插入成功!請(qǐng)按任意鍵返回!endl;getchar();return head;/

15、修改學(xué)生信息struct student *alter()char temp13; struct student *p,*head;head=Read();p=head;couttemp;while(p)if(!strcmp(p-number,temp)sinput(p);p=p-next;coutendl;cout學(xué)生信息修改成功!請(qǐng)按任意鍵返回!endl;coutendl;system(pause);return head;/刪除學(xué)生信息struct student *del() char temp13;int m=0;struct student *p1,*p,*head;/p1刪除he

16、ad=Read();p1=p=head;cout請(qǐng)輸入你要?jiǎng)h除學(xué)生的學(xué)號(hào):temp;while(p)if(strcmp(p1-number,temp)=0)if(p1=head)/刪除的頭結(jié)點(diǎn)head=p1-next;else p-next=p1-next;len-;m=1;cout學(xué)生信息刪除成功!請(qǐng)按任意鍵返回主菜單.next;if(!m)cout查找不到這個(gè)信息!endl;return head;void find_num(struct student *head)/按學(xué)號(hào)查找 struct student *p=head;char temp9;int m = 0;cout請(qǐng)輸入要查找的

17、學(xué)生的學(xué)號(hào)temp;while(p!=NULL) if(strcmp(p-number,temp) = 0) cout該學(xué)生的具體信息為:endl;coutendl;coutendl;couttt學(xué)號(hào):numberendl;couttt姓名:nameendl;couttt性別:sexendl;couttt家庭住址:addsendl;couttt聯(lián)系電話:phoneendl;coutttQQ號(hào):qqendl;couttt語文成績(jī):chineseendl;couttt數(shù)學(xué)成績(jī)mathendl;couttt英語成績(jī)englishendl;couttt平均成績(jī)aveendl;couttt品德成績(jī)pin

18、deendl;couttt老師評(píng)分teacherendl;couttt綜合成績(jī)zcendl;score_paixu(head);couttt考試名次ksmcendl;couttt綜測(cè)名次zcmcendl;coutendl;coutnext;/繼續(xù)向下尋找if(!m)cout查找不到這個(gè)學(xué)號(hào)的信息!endl;cout按任意鍵返回主菜單endl;getchar();return ;void find_name(struct student *head)/按姓名查找 struct student *p= head;char temp9;int m = 0;cout請(qǐng)輸入要查找的學(xué)生的姓名temp;w

19、hile(p)if(strcmp(p-name,temp) = 0)cout該學(xué)生的具體信息為:endl;coutendl;coutendl;cout學(xué)號(hào):numberendl;couttt姓名:nameendl;couttt性別:sexendl;couttt家庭住址:addsendl;couttt聯(lián)系電話:phoneendl;coutttQQ號(hào):qqendl;couttt語文成績(jī):chineseendl;couttt數(shù)學(xué)成績(jī)mathendl;couttt英語成績(jī)englishendl;couttt平均成績(jī)aveendl;couttt品德成績(jī)pindeendl;couttt老師評(píng)分teache

20、rendl;couttt綜合成績(jī)zcendl;score_paixu(head);couttt考試名次ksmcendl;couttt綜測(cè)名次zcmcendl;coutendl;coutnext;if(!m)cout查找不到這個(gè)學(xué)號(hào)的信息!endl;cout按任意鍵返回主菜單endl;getchar();return ;void output()struct student *p,*head;head=Read();p=head;int i=1; while(p) coutendl;couttt學(xué)號(hào):numberendl;couttt姓名:nameendl;couttt性別:sexendl;co

21、uttt家庭住址:addsendl;couttt聯(lián)系電話:phoneendl;coutttQQ號(hào):qqendl;couttt語文成績(jī):chineseendl;couttt數(shù)學(xué)成績(jī):mathendl;couttt英語成績(jī):englishendl;couttt品德成績(jī):pindeendl;couttt老師評(píng)分:teacherendl;couttt平均成績(jī):aveendl;couttt綜合成績(jī):zcendl;score_paixu(head);couttt考試名次ksmcendl;couttt綜合測(cè)評(píng)名次zcmcnext;i+; coutendl;coutendl;cout請(qǐng)按任意鍵返回主菜單chi

22、nesec2) c2=p-chinese;if(p-mathm2) m2=p-math;if(p-englishe2) e2=p-english;if(p-chinese+p-math+p-english)s2) s2=(p-chinese+p-math+p-english);if(p-pindep2) p2=p-pinde;if(p-txhpstu2) stu2=p-txhp;if(p-teachert2) t2=p-teacher;if(p-avea2)a2=p-ave;if(p-zczc2)zc2=p-zc;p=p-next;coutendl;couttt語文最高分:c2endl;cou

23、ttt數(shù)學(xué)最高分:m2endl;couttt英語最高分:e2endl;couttt總成績(jī)最高分:s2endl;couttt品德最高分:p2endl;couttt同學(xué)互評(píng)分最高:stu2endl;couttt教師評(píng)分最高:t2endl;couttt平均分最高:a2endl;couttt綜測(cè)最高分:zc2endl;coutendl;coutendl;cout請(qǐng)按任意鍵返回.chinesechinese;if(p-mathmath;if(p-englishenglish;if(p-chinese+p-math+p-english)chinese+p-math+p-english);if(p-pind

24、epinde;if(p-txhptxhp;if(p-teacherteacher;if(p-aveave;if(p-zczc; p=p-next;coutendl;couttt語文最低分:c1endl;couttt數(shù)學(xué)最低分:m1endl;couttt英語最低分:e1endl;couttt總成績(jī)最低分:s1endl;couttt品德最低分:p1endl;couttt同學(xué)互評(píng)分最低分:stu1endl;couttt教師評(píng)分最低分:t1endl;couttt平均分最低分:a1endl;couttt綜測(cè)最低分:zc1endl;coutendl;coutendl;cout請(qǐng)按任意鍵返回.chinese

25、; m_sum+=p-math; e_sum+=p-english;p_sum+=p-pinde;stu_sum+=p-txhp;t_sum+=p-teacher;zc_sum+=p-zc;p=p-next;c_ave=c_sum/len;m_ave=m_sum/len;e_ave=e_sum/len;all_ave=(c_ave+m_ave+e_ave)/3;p_ave=p_sum/len;stu_ave=stu_sum/len;t_ave=t_sum/len;zc_ave=zc_sum/len;coutttendl;couttt語文平均分為:c_aveendl;couttt數(shù)學(xué)平均分為:m

26、_aveendl;couttt英語平均分為:e_aveendl;couttt總成績(jī)平均為:all_aveendl;couttt品德平均分為:p_aveendl;couttt同學(xué)互評(píng)平均分為:stu_aveendl;couttt教師評(píng)分平均分為:t_aveendl;couttt綜測(cè)平均分為:zc_aveendl;coutttendl;coutendl;cout請(qǐng)按任意鍵返回.ave/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout

27、平均成績(jī)?cè)?0分以上的有:aendl;cout平均成績(jī)?cè)?0分以上的有:bendl;cout平均成績(jī)?cè)?0分以上的有:cendl;cout平均成績(jī)?cè)?0分以上的有:dendl;cout平均成績(jī)?cè)?0分以下的有:echinese/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout語文成績(jī)?cè)?0分以上的有:aendl;cout語文成績(jī)?cè)?0分以上的有:bendl;cout語文成績(jī)?cè)?0分以上的有:cendl;cout語文成績(jī)?cè)?0分以

28、上的有:dendl;cout語文成績(jī)?cè)?0分以下的有:emath/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout數(shù)學(xué)成績(jī)?cè)?0分以上的有:aendl;cout數(shù)學(xué)成績(jī)?cè)?0分以上的有:bendl;cout數(shù)學(xué)成績(jī)?cè)?0分以上的有:cendl;cout數(shù)學(xué)成績(jī)?cè)?0分以上的有:dendl;cout數(shù)學(xué)成績(jī)?cè)?0分以下的有:eenglish/10)case 10:case 9:a+;break;case 8:b+;break;ca

29、se 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout英語成績(jī)?cè)?0分以上的有:aendl;cout英語成績(jī)?cè)?0分以上的有:bendl;cout英語成績(jī)?cè)?0分以上的有:cendl;cout英語成績(jī)?cè)?0分以上的有:dendl;cout英語成績(jī)?cè)?0分以下的有:epinde/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout品德成績(jī)?cè)?0分以上的有:aend

30、l;cout品德成績(jī)?cè)?0分以上的有:bendl;cout品德成績(jī)?cè)?0分以上的有:cendl;cout品德成績(jī)?cè)?0分以上的有:dendl;cout品德成績(jī)?cè)?0分以下的有:etxhp/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout同學(xué)互評(píng)在90分以上的有:aendl;cout同學(xué)互評(píng)在80分以上的有:bendl;cout同學(xué)互評(píng)在70分以上的有:cendl;cout同學(xué)互評(píng)在60分以上的有:dendl;cout同學(xué)互評(píng)在6

31、0分以下的有:eteacher/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d+;break;default:e+;p=p-next;coutendl;cout教師評(píng)分在90分以上的有:aendl;cout教師評(píng)分在80分以上的有:bendl;cout教師評(píng)分在70分以上的有:cendl;cout教師評(píng)分在60分以上的有:dendl;cout教師評(píng)分在60分以下的有:ezc/10)case 10:case 9:a+;break;case 8:b+;break;case 7:c+;break;case 6:d

32、+;break;default:e+;p=p-next;coutendl;cout綜測(cè)成績(jī)?cè)?0分以上的有:aendl;cout綜測(cè)成績(jī)?cè)?0分以上的有:bendl;cout綜測(cè)成績(jī)?cè)?0分以上的有:cendl;cout綜測(cè)成績(jī)?cè)?0分以上的有:dendl;cout綜測(cè)成績(jī)?cè)?0分以下的有:eendl;coutendl;cout請(qǐng)按任意鍵退出.next;double *ave1=new doublen;double *zc1=new doublen;for(int i=0;iave;zc1i=p1-zc;p1=p1-next; for(i=0;in;i+)/冒泡排序 for(int j=0;j

33、n;j+) if(ave1jave1j+1) double ave11=ave1j;ave1j=ave1j+1; ave1j+1=ave11; if(zc1jzc1j+1) double zc11=zc1j;zc1j=zc1j+1; zc1j+1=zc11; while(r)for(i=0;iave) r-ksmc=i+1;if(zc1i=r-zc) r-zcmc=i+1;r=r-next;cout排名完成!請(qǐng)按任意鍵返回主菜單的瀏覽學(xué)生信息查看!(如果是瀏覽學(xué)生信息則按任意鍵得到名次!)endl;delete ave1;delete zc1;getchar();return;/幫助void

34、help()system (cls);/清屏cout *歡迎使用學(xué)生綜合測(cè)評(píng)系統(tǒng)* endl;coutendl;cout本系統(tǒng)可以存儲(chǔ)學(xué)生的基本信息和數(shù)據(jù)信息,所有信息按學(xué)號(hào)以小到大的順序存入文件。endl;cout基本信息包括:學(xué)號(hào)、姓名、性別、家庭住址、聯(lián)系電話、qqendl;cout數(shù)據(jù)信息包括:語文、數(shù)學(xué)、外語三門單科成績(jī)、考試平均成績(jī)、考試名次、同學(xué)互評(píng)分、品德成績(jī)、任課教師評(píng)分、綜合測(cè)評(píng)分、綜合測(cè)評(píng)名次endl;cout綜合測(cè)評(píng)分(考試平均成績(jī))*0.6+(同學(xué)互評(píng)分)*0.1+品德成績(jī)*0.1+任課老師評(píng)分*0.2。endl;cout考試成績(jī)(語文+數(shù)學(xué)+外語)/3 endl;coutendl;cout該菜單分為三個(gè)菜單,一個(gè)主菜單,兩個(gè)子菜單。endl;cout主菜單提供基本信息操作,子菜單分別提供學(xué)生信息查找功能、學(xué)生數(shù)據(jù)統(tǒng)計(jì)功能。endl;coutendl;co

溫馨提示

  • 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)論