課程設計學生管理系統(tǒng)_第1頁
課程設計學生管理系統(tǒng)_第2頁
課程設計學生管理系統(tǒng)_第3頁
課程設計學生管理系統(tǒng)_第4頁
課程設計學生管理系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.1 課程設計背景學生成績管理系統(tǒng)能有效地管理每個學生的各科成績,還可以管理學生的基本信息以及課程信息。該系統(tǒng)能簡便地實行相關(guān)記錄的查詢,添加,修改,刪除操作。目前,學校工作繁雜、資料重多,管理信息系統(tǒng)已進入高校,但還未普及,而對于學生成績管理來說,還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適合大眾的、兼容性好的系統(tǒng)是很有必要的。根據(jù)開發(fā)要求,它主要應用于教育系統(tǒng),完成對日常學生成績的錄入查詢和更新刪除等管理操作,實現(xiàn)學生成績管理的計算機化。開發(fā)學生成績管理系統(tǒng)可使學院教職員工減輕工作壓力,比較系統(tǒng)地對教務、教學上的各項服務和信息進行管理,同時,可以減少勞動力的使用,加快查詢速度、加強管理

2、。本文敘述了現(xiàn)在高校學生成績管理的現(xiàn)狀以及C+語言和一些開源框架的概況。重點介紹了學生成績管理系統(tǒng)的實現(xiàn)過程:包括系統(tǒng)分析、 系統(tǒng)調(diào)查、 數(shù)據(jù)庫設計、功能設計、系統(tǒng)物理配置方案、 系統(tǒng)實現(xiàn)、系統(tǒng)測試以及系統(tǒng)功能簡介。1.2 課程設計目標建立學生成績管理系統(tǒng),采用計算機對學生成績進行管理,進一步提高辦學效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,實現(xiàn)學生成績維護工作流程的系統(tǒng)化、規(guī)范化和自動化。為了使系統(tǒng)在學院的管理中發(fā)揮更大的作用,實現(xiàn)工作過程的計算機化,提高工作效率和工作質(zhì)量,現(xiàn)提出如下的系統(tǒng)開發(fā)目標:(1)提高學生管理次序,節(jié)約管理成績,增強學生管理的安全性。(2)系統(tǒng)應具有實用性、可靠性

3、和適用性,同時注意到先進性。(3)對各個數(shù)據(jù)庫進行動態(tài)管理,防止混亂。(4)能夠?qū)Σ樵兘Y(jié)果進行分類匯總,實現(xiàn)報表打印和下載。(5)方便用戶的操作,盡量減少用戶的操作。2 系統(tǒng)需求分析2.1 系統(tǒng)調(diào)查21世紀以來,人類經(jīng)濟高速發(fā)展,人們的生活發(fā)生了日新月異的變化,特別是計算機的應用及普及到經(jīng)濟和社會生活的各個領域,使原本的舊的管理方法越來越不適應現(xiàn)在社會的發(fā)展,許多人還停留在以前的手工操作,這大大地阻礙了人類經(jīng)濟的發(fā)展。為了適應現(xiàn)代社會人們高度強烈的時間觀念,我對陜西科技大學理學院的原有的學生成績管理系統(tǒng)進行了調(diào)查研究,并對一些教師和學生進行了調(diào)查,聽取他們對學生成績管理的一些建議和要求以及他們

4、對這方面的一些需求,根據(jù)我所具有的知識,決定開發(fā)的這個系統(tǒng)采用當前較為流行的編程軟件C+作為實現(xiàn)語言,以實現(xiàn)學生成績管理信息系統(tǒng)的設計與開發(fā)。為了實現(xiàn)數(shù)據(jù)錄入、數(shù)據(jù)刪除、數(shù)據(jù)瀏覽以及數(shù)據(jù)查詢等功能,該學生成績管理系統(tǒng)主要劃分為學生信息的載入、創(chuàng)建、查詢、修改、統(tǒng)計、顯示以及保存等內(nèi)容,這些管理職能統(tǒng)一由管理者負責。在學生管理系統(tǒng)開發(fā)時應該滿足以下具體的系統(tǒng)要求:學生成績管理系統(tǒng)中不同使用單位(用戶)的學生人數(shù)事先無法確定(1)該學生成績管理系統(tǒng)要求有學生成績錄入,查詢,修改,刪除,保存文件(2)系統(tǒng)使用文字菜單,用戶通過選擇菜單項的編號,實現(xiàn)系統(tǒng)對子模塊的調(diào)用也可用windows界面下的菜單欄

5、、彈出式菜單、下拉菜單。(3)每個班級每門課程的成績可以從學生的成績總表提取出子表并存儲成一個文本文件,以便在windows的notebook或者Microsoft word下打印,規(guī)定該文本文件名由班級號和課程名拼音字符串構(gòu)成輸入班級號和課程名字符串后自動生成文件名如班,語文,則文件名為:c1yuwen.txt (4)每個學生學習的課程有語文,英語,數(shù)學,物理,化學,生物(5)學生的成績總表結(jié)構(gòu)約定為(學號,姓名,課程名,平時成績,期末成績,總評成績)總評成績由程序自動計算,總評成績平時成績30期末成績70(6)學號是一個9位整數(shù)構(gòu)成的字符串, 學號的編碼規(guī)則:入學年份+在讀年級+在讀班級+

6、班內(nèi)編號;入學年份用4位整數(shù)構(gòu)成字符串,如2003年入學則表示為:”2003”;在讀年級用1位整數(shù)構(gòu)成字符串,如正在1年級讀書則表示為:”1”;在讀班級用2位整數(shù)構(gòu)成字符串,如正在1班讀書則表示為:”01”;班內(nèi)編號用2位整數(shù)構(gòu)成字符串,如在班內(nèi)編號為23號則表示為:”23”.2.3 功能需求基于系統(tǒng)需求分析,該系統(tǒng)需要實現(xiàn)以下基本功能:(1)查詢所有學生的所有成績(包括各科成績,平時成績以及總評成績);(2)查詢所有學生某一單科的成績;(3)修改學生的成績;(4)刪除學生的成績;(5)對學生的成績進行保存,并可以在windows的notebook或者Microsoft word下打印。2.4

7、 開發(fā)環(huán)境軟件環(huán)境:windows98/windowsXP/windows2000,Visual C+硬件環(huán)境:計算機(Pen4CPU, 256MRAM,60G以上硬盤,輸入輸出設備)3系統(tǒng)概要設計3.1 系統(tǒng)的功能模塊劃分“學生成績管理信息系統(tǒng)”包括九個模塊:信息載入,信息創(chuàng)建,信息查詢,信息修改,信息統(tǒng)計,信息顯示,保存信息,感謝使用以及退出程序。這九個模塊既相互聯(lián)系又相互獨立,其中信息查詢,信息修改,信息統(tǒng)計,信息顯示,保存信息這五個模塊必須以信息載入或信息創(chuàng)建為基礎。(1)信息載入模塊:主要是將已有的學生成績總表提入到系統(tǒng),以此為基礎,再進行必要的操作;(2)信息創(chuàng)建模塊:對學生的成績

8、進行錄入,然后通過其他的操作,保存為所需的文件;(3)信息查詢:在信息載入和信息創(chuàng)建的基礎上,對學生的成績進行查詢;(4)信息修改:在信息載入和信息創(chuàng)建的基礎上,對所需學生的成績進行修改;(5)信息統(tǒng)計:在信息載入和信息創(chuàng)建的基礎上,對學生的相關(guān)成績進行統(tǒng)計,輸出平均分及排名;(6)信息顯示:在信息載入和信息創(chuàng)建的基礎上,顯示出系統(tǒng)所有學生的成績;(7)保存信息:在信息載入和信息創(chuàng)建的基礎上,對學生的成績進行必要的編輯后,保存所需的文件;(8)感謝使用:顯示系統(tǒng)的創(chuàng)建者,并提示在退出程序前是否進行相關(guān)的操作;(9)退出程序:退出該程序。3.2 系統(tǒng)結(jié)構(gòu)圖(1)學生成績管理信息系統(tǒng)主模塊如圖 3

9、-1所示學生成績管理系統(tǒng)學生信息載入學生信息創(chuàng)建學生信息查詢學生信息修改退出程序鳴謝學生信息保存學生信息顯示學生信息統(tǒng)計圖3-1學生成績管理信息系統(tǒng)主模塊(2)學生信息查詢模塊如圖3-2所示學生信息查詢按學號查找按課程查找返回上一級按姓名查詢圖3-2學生信息查詢模塊(3)學生信息修改模塊如圖3-3所示學生信息修改返回上一級修改學生信息添加學生信息顯示學生信息刪除學生信息圖3-3 學生信息修改模塊(4)學生信息統(tǒng)計模塊如圖3-4所示學生信息統(tǒng)計返回上一級排序?qū)W生信息查找學生平均成績查找學生單科平均成績圖3-4學生信息統(tǒng)計模塊4系統(tǒng)詳細設計4.1 系統(tǒng)登錄模塊設計學生成績管理信息系統(tǒng)可以分為九個模

10、塊:(1)學生信息載入(2)學生信息創(chuàng)建(3)學生信息查詢(4)學生信息修改(5)學生信息統(tǒng)計(6)學生信息顯示(7)學生信息保存(8)鳴謝(9)退出程序系統(tǒng)業(yè)務處理結(jié)構(gòu)如圖4-1所示學生成績管理系統(tǒng)學生信息載入學生信息創(chuàng)建保存學生信息學生信息修改學生信息顯示學生信息統(tǒng)計學生信息查詢鳴謝退出程序圖4-1系統(tǒng)業(yè)務處理流程4.2 系統(tǒng)主界面設計系統(tǒng)主界面設計如圖4-2所示圖4-2系統(tǒng)主界面設計4.3 學生信息管理模塊設計(1)學生信息載入模塊如圖4-3所示圖4-3學生信息載入模塊(2)學生信息創(chuàng)建模塊如圖4-4所示圖4-4學生信息創(chuàng)建模塊(1)按姓名查找模塊如圖4-5所示圖4-5 按姓名查找模塊(

11、2)按學號查找模塊如圖4-6所示圖4-6 按學號查找模塊(3) 按課程查找模塊如圖4-7所示圖4-7按課程查找模塊(1)添加學生信息模塊如圖4-8所示圖4-8 添加學生信息模塊(2)修改學生信息模塊如圖4-9所示圖4-9修改學生信息模塊(3)刪除學生信息模塊如圖4-10所示圖4-10刪除學生信息模塊(4)顯示學生信息模塊如圖4-11所示圖4-11顯示學生信息模塊(1)查找學生平均成績?nèi)鐖D4-12所示圖4-12查找學生平均成績(2)查找單科平均成績?nèi)鐖D4-13所示圖4-13查找單科平均成績(1)感謝使用模塊如圖4-14所示(顯示系統(tǒng)的設計者)圖4-14 感謝使用模塊(2)退出程序模塊如圖4-15

12、所示圖4-15退出程序模塊5 測試5.1 測試目的測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程,測試的目的就是在軟件投入生產(chǎn)運行之前,盡可能的發(fā)現(xiàn)軟件中的錯誤。成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。5.2 測試方案為了提高測試效率,降低測試成本,本測試方案采用黑盒法設計基本的測試方案,再用白盒法補充一些方案。在黑盒法測試方案中,采用等價劃分技術(shù),把所有可能的數(shù)據(jù)劃分成幾個等價類。5.3 測試項目(1)登錄測試(2)學生信息載入測試(3)學生信息創(chuàng)建測試(4)學生信息查詢測試(5)學生信息修改測試(6)學生信息統(tǒng)計測試5.4 測試結(jié)果經(jīng)過以上測試,可知各模塊的測試過程都沒有出現(xiàn)異常情況,

13、程序在系統(tǒng)的要求下,能夠?qū)崿F(xiàn)所要求的各種功能。C+是一門魅力四射的課程,而編程實踐更是檢驗自己學習成果的必修課,經(jīng)過一個多月的努力,我終于完成了這次學生成績管理系統(tǒng)的設計與開發(fā)。剛開始拿到這個題目確實讓我感覺無從下手,之后在網(wǎng)上參考了一下其他人的設計流程,然后慢慢一步步的自己開始著手做,在設計的過程中,我遇到了很多的問題,起初是程序的設計,自己經(jīng)過一個學期的C+的學習,獨立編寫的C+程序的總行數(shù)不過兩百多行,而這次一下子要編寫一個幾百多行的程序,實在是一個巨大的挑戰(zhàn)。就這方面來說,這是此次課程帶給我的最大的收獲,它讓我明白了自身的不足之處,讓我懂得在學習的過程更加虛心,認真,努力。另外此次課程

14、設計增加了自己編程的能力,將自己所學的理論知識與實踐結(jié)合在一塊,提高了自己對這門課程的興趣。 經(jīng)過一番努力,終于初步編寫出了程序,但是它的功能還不是很完善,有些地方自己還沒有徹底搞明白,以后必定要加強對程序設計的學習,不斷完善自己的編程能力。參 考 文 獻1+程序設計M.北京:清華大學出版社.2005.102+程序設計題解與上機指導(第三版)M.北京:清華大學出版社.2005.063M.西安:交通大學出版社.2004.054 羅斌.Visual C+編程技巧M.北京:中國水利水電出版社.2005.08附 錄附錄1.1 源程序清單void Sort() struct STUDENT * head

15、sa=NULL;struct STUDENT *current;struct STUDENT *p1,*p2,*p3,*max;p1=p2=(struct STUDENT *)malloc(LEN);max=(struct STUDENT *)malloc(LEN);max->average =1000;while(1)p1->average=0.078;current=head;while(current!=NULL) current->average =(current->chineseRecord +current->englishRecord +curre

16、nt->mathematicsRecord +current->physicalRecord +current->chemistryRecord +current->biologicalRecord )/6;if(p1->average <=current->average && current->average <=max->average && current!=max )p1=current;current=current->next;elsecurrent=current->next

17、;max=p1;if(headsa=NULL)p2->number=p1->number;strcpy(p2->name,p1->name);strcpy(p2->sex,p1->sex); p2->age=p1->age;p2->chineseRecord=p1->chineseRecord;p2->englishRecord=p1->englishRecord;p2->mathematicsRecord=p1->mathematicsRecord;p2->physicalRecord=p1->p

18、hysicalRecord;p2->chemistryRecord =p1->chemistryRecord ;p2->biologicalRecord=p1->biologicalRecord;headsa=p2;elsep2->number=p1->number;strcpy(p2->name,p1->name);strcpy(p2->sex,p1->sex); p2->age=p1->age;p2->chineseRecord=p1->chineseRecord; p2->englishRecord

19、=p1->englishRecord;p2->mathematicsRecord=p1->mathematicsRecord; p2->physicalRecord=p1->physicalRecord;p2->chemistryRecord =p1->chemistryRecord ; p2->biologicalRecord=p1->biologicalRecord; if(p1->average =0.078)p3->next =NULL;break; p1=(struct STUDENT *)malloc(LEN); p

20、2->next =p1;p3=p2; p2=p1;struct STUDENT *q; cout<<"n排序所有學生的成績:"<<endl; q=headsa; if(headsa!=NULL) cout << setw(0) << "學號" << setw(8) << "姓名" << setw(8)<<"性別"<<setw(8)<<"年齡" << setw(

21、8) << "語文" << setw(8) << "英語" << setw(8) << "數(shù)學" << setw(8) << "物理" <<setw(8)<<"化學" <<setw(8)<<"生物"<<setw(12)<<"平均分"<<endl; do cout<< setw(0

22、) << q->number << setw(8) << q->name << setw(8)<<q->sex<<setw(8)<<q->age << setw(8) << q->chineseRecord << setw(8) << q->englishRecord << setw(8) << q->mathematicsRecord << setw(8) << q->

23、;physicalRecord <<setw(8)<<q->chemistryRecord <<setw(8)<<q->biologicalRecord<<setw(12)<<q->average<<endl; q=q->next; while(q != NULL); else cout<<"n學生成績?yōu)榭?,請確認。"<<endl;char filename20;cout<<"請輸入保存的文件名: " cin&g

24、t;>filename; ofstream fout(filename,ios:app); if(!fout)cout<<"文件不能打開!"<<endl; else struct STUDENT *p;p=headsa;fout << setw(0) <<"學號"<< setw(8) <<"姓名"<< setw(8)<<"性別"<<setw(8)<<"年齡" <&l

25、t; setw(8) << "語文"<< setw(8) <<"英語"<< setw(8) <<"數(shù)學"<< setw(8) <<"物理"<<setw(8)<<"化學" <<setw(8)<<"生物"<<endl;do fout << setw(0) << p->number << setw(

26、8) << p->name << setw(8)<<p->sex<<setw(8)<<p->age << setw(8) << p->chineseRecord << setw(8) << p->englishRecord << setw(8) << p->mathematicsRecord << setw(8) << p->physicalRecord <<setw(8)<<

27、;p->chemistryRecord <<setw(8)<<p->biologicalRecord<<endl; p=p->next;while(p != NULL);cout<<"保存成功!"<<endl;fout.close();cout<<"現(xiàn)在返回上一級。"<<endl; void FindStudentAverage() long num; struct STUDENT * p;char flag='y'do cout<

28、<" 輸入你要查找的學號: " cin>>num; p=head; while(p!=NULL) if(p->number=num)cout<<num<<"學號同學的平均分為:"p->average =(p->chineseRecord +p->englishRecord +p->mathematicsRecord +p->physicalRecord +p->chemistryRecord +p->biologicalRecord )/6; cout<<

29、;p->average<<endl;break; else p=p->next; if(p=NULL) cout<<"沒有該學號同學的信息,請確認。"<<endl; cout<<" 要繼續(xù)查找嗎(y/n)" cin>>flag;while(flag != 'y' && flag != 'n')cout<<"輸入錯誤,請輸入(y/n)"<<endl;cin>>flag;if(flag

30、='n')break;while(flag='y');cout<<"現(xiàn)在返回上一級。"<<endl; void FindClassAverage() struct STUDENT * p; char flag='y' char it; do double sum=0; double average=0; p=head; cout<<"請輸入要查找科目所對應的序號:"<<endl; cout<<"1-語文"<<setw

31、(12)<<"2-英語"<<setw(12)<<"3-數(shù)學"<<setw(12)<<"4-物理"<<setw(12)<<"5-化學"<<setw(12)<<"6-生物"<<endl; cin>>it; cout<<it; int n=0; switch(it) case '1': while (p!=NULL) sum=sum+p->

32、;chineseRecord; n+; p=p->next; average = sum/n; cout << "語文平均成績:" << average << endl; break; case '2': while (p!=NULL) sum=sum+p->englishRecord; n+; p=p->next; average = sum/n; cout << "英語平均成績:" << average << endl; break; case

33、'3': while (p!=NULL) sum=sum+p->mathematicsRecord; n+; p=p->next; average = sum/n; cout << "數(shù)學平均成績:" << average << endl; break; case '4': while (p!=NULL) sum=sum+p->physicalRecord; n+; p=p->next; average = sum/n; cout << "物理平均成績:&quo

34、t; << average << endl; break; case '5': while (p!=NULL) sum=sum+p->chemistryRecord; n+; p=p->next; average = sum/n; cout << "化學平均成績:" << average << endl; break; case '6': while (p!=NULL) sum=sum+p->biologicalRecord;n+; p=p->next; av

35、erage = sum/n; cout << "生物平均成績:" << average << endl; default: cout<<"選擇錯誤,請選擇1 - 6 號"<<endl; cout<<" 要繼續(xù)查找嗎(y/n)" cin>>flag;while(flag != 'y' && flag != 'n')cout<<"輸入錯誤,請輸入(y/n)"<<en

36、dl;cin>>flag;if(flag='n')break;while(flag='y'); cout<<"現(xiàn)在返回上一級。"<<endl; void AboutMe() cout<<"*"<<endl; cout<<"* 感謝使用本程序 *"<<endl; cout<<"* 陜西科技大學 *"<<endl; cout<<"* 理學院信息專業(yè)102班 *

37、"<<endl; cout<<"* 感謝幫助調(diào)試本程序的人 *"<<endl; cout<<"* 現(xiàn)在返回上一級 *"<<endl; cout<<"*"<<endl; void main()int q=1;char k;while (q)system("cls");cout << "-n"cout << " 學生成績管理 n"cout << &qu

38、ot;-n"cout << " 1 學生信息載入 n"cout << " 2 學生信息創(chuàng)建 n"cout << " 3 學生信息查詢 n"cout << " 4 學生信息修改 n"cout << " 5 學生信息統(tǒng)計 n"cout << " 6 學生信息顯示 n"cout << " 7 學生信息保存 n"cout << " 8 鳴謝 n&qu

39、ot;cout << " 0 退出程序 n"cout << "-n"cout << "n"cout << "n 請輸入選擇的功能序號: n"cin>> k;while(k !='1' && k!='2' && k!='3' && k!='4'&& k!='5'&& k!='6'&am

40、p;& k!='7' && k!='8' && k!='0')cout<<"輸入錯誤,請重新輸入"<<endl;cin>>k; char x;if(k='0')cout<<"退出前請確定沒有忘記保存數(shù)據(jù)。"<<endl;cout<<"確定退出 按y ,取消退出按n"<<endl;cin>>x;while(x !='y' &

41、amp;& x !='n' )cout<<"輸入錯誤,請重新輸入"<<endl;cin>>x;if(x='n')continue;switch(k)case '1':system("cls"); LoadData();Show();getchar();break;case '2':system("cls");Input();getchar();break;case '3':while(q)system("

42、;cls");cout << "-n" cout << " 1 按姓名查找 n" cout << " 2 按學號查找 n" cout << " 3 按課程查找 n"cout << " 0 返回上一級 n"cout << "-n"cout << "n 請輸入選擇的功能序號: n"cin>>k;while(k!='1' &&

43、 k!='2' && k!='3'&& k!='0')cout<<"輸入錯誤,請重新輸入"<<endl;cin>>k;switch(k)case '1': FindName();getchar();break;case '2': FindNumber();getchar();break;case '3': FindClass(); getchar();break;case '0':q=0;brea

44、k;q=1;break;case '4':while(q)system("cls");cout << "-n" cout << " 1 添加學生信息 n" cout << " 2 修改學生信息 n" cout << " 3 刪除學生信息 n"cout << " 4 顯示學生信息 n"cout << " 0 返回上一級 n"cout << "-n&q

45、uot;cout << "n 請輸入選擇的功能序號: n"cin>>k;while(k!='1' && k!='2' && k!='3' && k!='4'&&k!='0')cout<<"輸入錯誤,請重新輸入"<<endl;cin>>k;switch(k)case '1': Add(); getchar();break;case '

46、;2': Modify();getchar();break;case '3': Del();getchar();break;case '4':Show();getchar();break;case '0':q=0;break;q=1;break;case '5':while(q)system("cls");cout << "-n"cout << " 1 查找學生平均成績 n"cout << " 2 查找單科平均成績 n

47、"cout << " 3 排序?qū)W生信息 n"cout << " 0 返回上一級 n"cout << "-n"cout << "n 請輸入選擇的功能序號: n"cin>>k;while(k!='1' && k!='2' && k!='3' && k!='0')cout<<"輸入錯誤,請重新輸入"<&l

48、t;endl;cin>>k;switch(k)case '1':FindStudentAverage();getchar();break;case '2':FindClassAverage();getchar(); break;case '3':Sort();getchar();break;case '0':q=0;break;q=1;break;case '6':system("cls");Show();getchar();break;case '7':system

49、("cls");SaveData();getchar();break;case '8':system("cls");AboutMe();getchar();break;case '0':q=0;break;學生信息管理模塊源程序#include "iostream.h"#include "string.h"#include "malloc.h"#include "stdlib.h"#include "fstream.h"#i

50、nclude "stdio.h"#include "iomanip.h" #include "conio.h"#define NULL 0#define LEN sizeof(struct STUDENT)struct STUDENTlong number;char name20;char sex10;int age;int chineseRecord;int mathematicsRecord;int englishRecord;int physicalRecord; int chemistryRecord;int biologic

51、alRecord;double average;struct STUDENT *next;struct STUDENT * head=NULL;void LoadData();void SaveData();void Add();void Input();void Show();void FindName();void FindNumber();void FindClass();void Modify();void Del();void Sort();void FindStudentAverage();void FindClassAverage();void AboutMe();void Lo

52、adData() char filename20; cout<<"請輸入文件編號: " cin>>filename; ifstream fin(filename,ios:in); if(!fin)cout<<"文件打不開 !"<<endl; else struct STUDENT *p1,*p2;p1=p2=(struct STUDENT *)malloc(LEN);fin>>p1->number>>p1->name>>p1->sex >>

53、p1->age >> p1->chineseRecord >> p1->englishRecord >> p1->mathematicsRecord >> p1->physicalRecord>>p1->chemistryRecord >> p1->biologicalRecord ;int n=0;while(1)if(fin.eof()break;n+; if(n=1)head=p1; else p2->next=p1; p2=p1; p1=(struct STUDENT

54、 *)malloc(LEN);fin>>p1->number>>p1->name>>p1->sex >> p1->age >> p1->chineseRecord >> p1->englishRecord >> p1->mathematicsRecord >> p1->physicalRecord>>p1->chemistryRecord >> p1->biologicalRecord ; p2->next=N

55、ULL;cout<<"文件讀取成功!"<<endl;fin.close(); cout<<"顯示如下。"<<endl; void SaveData() /保存函數(shù) char filename20;cout<<"請輸入文件名: " cin>>filename; ofstream fout(filename); if(!fout)cout<<"文件不能打開!"<<endl; else struct STUDENT *p;p=

56、head;fout << setw(0) <<"學號"<< setw(8) <<"姓名"<< setw(8)<<"性別"<<setw(8)<<"年齡" << setw(8) << "語文"<< setw(8) <<"英語"<< setw(8) <<"數(shù)學"<< setw(8) &

57、lt;<"物理"<<setw(8)<<"化學" <<setw(8)<<"生物"<<endl;do fout << setw(0) << p->number << setw(8) << p->name << setw(8)<<p->sex<<setw(8)<<p->age << setw(8) << p->chineseRe

58、cord << setw(8) << p->englishRecord << setw(8) << p->mathematicsRecord << setw(8) << p->physicalRecord <<setw(8)<<p->chemistryRecord <<setw(8)<<p->biologicalRecord<<endl; p=p->next;while(p != NULL);cout<<"

59、保存成功!"<<endl;cout<<"將返回上一級。"<<endl;fout.close(); getchar(); int n=0;void Input()struct STUDENT *p1,*p2;char flag='y'p1=p2=(struct STUDENT *)malloc(LEN);cout << "請按照以下順序,輸入您要輸入的學生信息:"<< endl;cout << setw(0) << "學號" &

60、lt;< setw(8) << "姓名" << setw(8)<<"性別"<<setw(8)<<"年齡" << setw(8) << "語文" << setw(8) << "英語" << setw(8) << "數(shù)學" << setw(8) << "物理" <<setw(8)<&

61、lt;"化學" <<setw(8)<<"生物"<<endl; cin >> p1->number >> p1->name >>p1->sex>> p1->age >> p1->chineseRecord >> p1->englishRecord >> p1->mathematicsRecord>> p1->physicalRecord>>p1->chemist

62、ryRecord >> p1->biologicalRecord ;while(flag='y')n+; if(n=1)head=p1; else p2->next=p1; p2=p1;cout<<" 要繼續(xù)添加嗎(y/n)" cin>>flag;while(flag != 'y' && flag != 'n')cout<<"輸入錯誤,請輸入(y/n)"<<endl;cin>>flag;if(flag=

63、9;n')cout<<"請及時保存數(shù)據(jù),現(xiàn)在返回上一級"<<endl;break; p1=(struct STUDENT *)malloc(LEN);cout << "請按照以下順序,輸入您要輸入的學生信息:"<<endl; cout << setw(0) << "學號" << setw(8) << "姓名" << setw(8)<<"性別"<<setw(8

64、)<<"年齡" << setw(8) << "語文" << setw(8) << "英語" << setw(8) << "數(shù)學" << setw(8) << "物理" <<setw(8)<<"化學" <<setw(8)<<"生物"<<endl; cin >> p1->num

65、ber >> p1->name >>p1->sex >> p1->age>> p1->chineseRecord >> p1->englishRecord >> p1->mathematicsRecord>> p1->physicalRecord>>p1->chemistryRecord >> p1->biologicalRecord ; p2->next=NULL;void Add()struct STUDENT *p1,*p

66、;char flag='y'long num;dop1=(struct STUDENT *)malloc(LEN); p=head; cout<<" 輸入你要添加的學號: " cin>>num; while(p!=NULL) if(num<head->number ) cout << "請按照以下順序,輸入您要輸入的學生信息:"<< endl; cout << setw(0) << "姓名" << setw(8)<<"性別"<<setw(8)<<"年齡" << setw(8) << "語文" << setw(8) << "英語" << setw(8) << "

溫馨提示

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

提交評論