學(xué)生成績(jī)管理c課程設(shè)計(jì)_第1頁(yè)
學(xué)生成績(jī)管理c課程設(shè)計(jì)_第2頁(yè)
學(xué)生成績(jī)管理c課程設(shè)計(jì)_第3頁(yè)
學(xué)生成績(jī)管理c課程設(shè)計(jì)_第4頁(yè)
學(xué)生成績(jī)管理c課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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)介

1、Taiyuan University of Science and Technology經(jīng)濟(jì)與管理學(xué)院C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(2013/2014學(xué)年 第一學(xué)期)1專(zhuān)業(yè)班級(jí):信1學(xué)生學(xué)號(hào):20121指導(dǎo)教師:12014年1月9日課 程 設(shè) 計(jì) 任 務(wù) 書(shū)4第一章 功能需求描述51.1功能列表與說(shuō)明51.2操作界面61.3操作方法8第二章 設(shè)計(jì)描述82.1編寫(xiě)目的:82.2任務(wù)概述92.3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)9 字段名9表的名稱9學(xué)生表9學(xué)生姓名9學(xué)生學(xué)號(hào)9班級(jí)號(hào)9學(xué)生學(xué)號(hào)為主鍵9班級(jí)表9班級(jí)號(hào)9時(shí)間9課程名稱9班級(jí)號(hào)為主鍵9成績(jī)表9學(xué)生學(xué)號(hào)9課程名稱9平時(shí)成績(jī)9考試成績(jī)9總成績(jī)92.3.2物理結(jié)構(gòu)設(shè)

2、計(jì)102.3.3數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系102.4接口設(shè)計(jì)102.5 安全保密設(shè)計(jì)112.6維護(hù)設(shè)計(jì)11第三章 算法描述123.1系統(tǒng)模塊圖123.2程序流程圖12第四章 開(kāi)發(fā)過(guò)程描述224.1源代碼22Register();/call function調(diào)用函數(shù)24第五章 心得體會(huì)40經(jīng)濟(jì)與管理學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程設(shè)計(jì)名稱C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)一章 功能需求描述1.1功能列表與說(shuō)明1.1.1系統(tǒng)的錄入功能: 1)用戶可將學(xué)生的姓名、性別、學(xué)號(hào)、班級(jí)和各科成績(jī)等信息錄入該系統(tǒng)。 2)可以在系統(tǒng)中對(duì)一個(gè)或多個(gè)學(xué)生的信息進(jìn)行修改。 3)可以在系統(tǒng)中插入一個(gè)或多個(gè)學(xué)生的信息。 4)可以在系統(tǒng)

3、中刪除一個(gè)或多個(gè)學(xué)生的信息。1.1.2系統(tǒng)的查詢功能: 1)可按學(xué)號(hào)查詢學(xué)生成績(jī)。 2)可按姓名查詢學(xué)生成績(jī)。 3)可瀏覽所有學(xué)生的成績(jī)。 4)可查詢某一學(xué)科的最高、最低成績(jī)、總成績(jī)和平均成績(jī)。 5)可查詢一個(gè)班級(jí)的最高、最低成績(jī)、總成績(jī)和平均成績(jī)。6)可查詢某一分?jǐn)?shù)段的人數(shù)和及格率等。1.1.3系統(tǒng)的保存功能: 1)學(xué)生信息可以按班級(jí)或個(gè)人存為數(shù)據(jù)文件,并且數(shù)據(jù)文件可在程序中打開(kāi)、編輯和重新保存。 2)用戶輸入的學(xué)生信息可隨時(shí)保存數(shù)據(jù)文件。1.1.4系統(tǒng)的打開(kāi)功能: 1)在系統(tǒng)中可以打開(kāi)指定的數(shù)據(jù)文件且能對(duì)其進(jìn)行編輯。1.1.5系統(tǒng)的報(bào)表生成功能: 1) 按學(xué)號(hào)輸出一個(gè)班學(xué)生信息:學(xué)號(hào)、姓名

4、、性別、各科成績(jī)及總成績(jī)。 2) 按總成績(jī)輸出從高到低輸出學(xué)號(hào)、姓名信息。注:以上功能以菜單形式供用戶使用,并有一定的容錯(cuò)功能。1.2操作界面 1.2.1主程序操作界面1.2.2錄入學(xué)生基本成績(jī)信息操作界面1.2.3保存學(xué)生成績(jī)基本信息界面1.2.4查詢學(xué)生成績(jī)操作界面1.2.5修改學(xué)生成績(jī)信息操作界面1.2.6提取學(xué)生成績(jī)操作界面1.3操作方法用戶根據(jù)需要選擇相應(yīng)功能并鍵入對(duì)應(yīng)的數(shù)字鍵并回車(chē),若操作正確則顯示相應(yīng)子界面并可以根據(jù)接下去的提示進(jìn)行進(jìn)一步操作:若同時(shí)按下多鍵,則提示“輸入錯(cuò)誤!只能按下一個(gè)數(shù)字鍵”,然后仍顯示主界面,讓用戶再次選擇,再次進(jìn)行想要進(jìn)行的操作,若主界面連續(xù)輸入錯(cuò)誤達(dá)

5、3 次則退出主界面。在相應(yīng)子界面中仍然按照相關(guān)提示進(jìn)行操作,若操作正確,用戶會(huì)得到所想要的信息:若操作錯(cuò)誤,則會(huì)顯示“對(duì)不起,您的操作有誤,請(qǐng)返回上一步重新進(jìn)行輸入!”第二章 設(shè)計(jì)描述2.1編寫(xiě)目的: 根據(jù)需求分析文檔,初步提出問(wèn)題的解決方案,以及軟件系統(tǒng)的體系結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方案并寫(xiě)出書(shū)面文檔總體設(shè)計(jì)說(shuō)明書(shū),為下一步進(jìn)行詳細(xì)設(shè)計(jì)做準(zhǔn)備2.2任務(wù)概述1)用戶輸入:用戶可以根據(jù)系統(tǒng)提示輸入相關(guān)指令進(jìn)行操作,實(shí)現(xiàn)相關(guān)功能,并將相關(guān)指令存儲(chǔ)在某個(gè)值中。2)錄入功能:用戶可以利用鍵盤(pán)向系統(tǒng)中輸入學(xué)生的姓名、性別、學(xué)號(hào)、班級(jí)以及各科成績(jī)等信息。并對(duì)信息進(jìn)行修改3)文件保存:用戶在確定錄入的

6、成績(jī)準(zhǔn)確無(wú)誤后,可以將學(xué)生信息以班級(jí)為單位存為一個(gè)數(shù)據(jù)文件,同時(shí)用戶輸入的學(xué)生信息可隨時(shí)保存數(shù)據(jù)文件。4)文件打開(kāi):用戶可以將系統(tǒng)中的數(shù)據(jù)文件在程序中打開(kāi)、編輯,但程序只能對(duì)當(dāng)前打開(kāi)的數(shù)據(jù)文件進(jìn)行編輯5)查詢功能:可按學(xué)號(hào)查詢學(xué)生成績(jī)??砂葱彰樵儗W(xué)生成績(jī)。可瀏覽學(xué)生所有的成績(jī)。6)報(bào)表輸出:按學(xué)號(hào)輸出一個(gè)班學(xué)生信息:學(xué)號(hào)、姓名、性別、各科成績(jī)及總成績(jī)。按總成績(jī)輸出從高到低輸出學(xué)號(hào)、姓名信息。 在系統(tǒng)程序的設(shè)計(jì)中,利用C+的各種工具和方法,如:指針,函數(shù),數(shù)組,鏈表等進(jìn)行設(shè)計(jì),來(lái)實(shí)現(xiàn)上述所需要的功能。2.3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)2.3.1邏輯結(jié)構(gòu)設(shè)計(jì) 字段名表的名稱 學(xué)生表學(xué)生姓名學(xué)生學(xué)號(hào)班級(jí)號(hào)學(xué)生學(xué)號(hào)

7、為主鍵班級(jí)表班級(jí)號(hào)時(shí)間課程名稱班級(jí)號(hào)為主鍵成績(jī)表學(xué)生學(xué)號(hào)課程名稱平時(shí)成績(jī)考試成績(jī)總成績(jī)2.3.2物理結(jié)構(gòu)設(shè)計(jì)每個(gè)數(shù)據(jù)項(xiàng)都可以直接通過(guò)網(wǎng)頁(yè)的相關(guān)文本框來(lái)添加、更新。同時(shí)要查詢時(shí),也可以直觀的在頁(yè)面輸入查詢條件,就可地到結(jié)果。2.3.3數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系成績(jī)錄入修改成績(jī)刪除記錄查詢成績(jī)計(jì)算總評(píng)分計(jì)算全班平均總評(píng)分統(tǒng)計(jì)各等級(jí)學(xué)生學(xué)生表課程表班級(jí)表成績(jī)表2.4接口設(shè)計(jì)用圖的形式說(shuō)明本程序所隸屬的上一層模塊及隸屬于本程序的下一層模塊、子程序,說(shuō)明參數(shù)賦值和調(diào)用方式,說(shuō)明與本程序相直接關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)庫(kù)、數(shù)據(jù)文卷)。2.5 安全保密設(shè)計(jì)設(shè)置相應(yīng)的措施,以防止不發(fā)事故的出現(xiàn)。用戶權(quán)限。用戶只能在其權(quán)限

8、內(nèi)操作。2.6維護(hù)設(shè)計(jì)各個(gè)模塊都有一定的聯(lián)系,然而又是相互獨(dú)立的。假如一塊出現(xiàn)故障,則直接修改就好,不會(huì)影響其他功能。第三章 算法描述3.1系統(tǒng)模塊圖本程序包括9個(gè)模塊,分別是注冊(cè)、登錄、錄入、修改、刪除、查詢、提取、保存、退出模塊,如下圖:注冊(cè)登錄錄入修改查詢刪除提取保存退出3.2程序流程圖3.2.1登錄,注冊(cè)界面流程圖1)注冊(cè)界面流程圖開(kāi)始是否注冊(cè)Y輸入注冊(cè)信息N注冊(cè)成功結(jié)束2)登錄界面流程圖開(kāi)始輸入用戶名用戶名是否正確Y輸入密碼登陸成功結(jié)束N密碼是否正確YN3.2.2子流程圖1)錄入程序流程圖開(kāi)始輸入學(xué)生信息是否繼續(xù)輸入Y繼續(xù)輸入學(xué)生信息結(jié)束 N2)刪除程序流程圖開(kāi)始輸入要?jiǎng)h除的學(xué)生的姓

9、名或?qū)W號(hào)判斷系統(tǒng)中是否存在此學(xué)生的信息N輸出“對(duì)不起!您所查詢的人不存在!”結(jié)束刪除此人所有的信息Y3)查詢程序流程圖開(kāi)始輸入索要查詢學(xué)生的姓名或?qū)W號(hào)判斷該學(xué)生是否存在與系統(tǒng)中N輸出“對(duì)不起!您所查詢的學(xué)生信息不存在!”結(jié)束Y顯示該學(xué)生的所有信息4)修改程序流程圖開(kāi)始輸入索要修改的學(xué)生的姓名或?qū)W號(hào)判斷系統(tǒng)中是否存在此學(xué)生的信息N輸出“對(duì)不起!您所查詢的學(xué)生信息不存在!”結(jié)束輸入所要修改的信息并保存4)保存程序流程圖開(kāi)始輸入想要盡行保存對(duì)象的學(xué)號(hào)或姓名判斷輸入的信息是否存在N輸出“對(duì)不起!您所查詢的學(xué)生信息不存在!”結(jié)束Y輸入索要保存的信息并進(jìn)行保存5)提取程序流程圖開(kāi)始輸入想要提取的班級(jí)或?qū)W生

10、信心判斷輸入的信息是否存在N輸出“對(duì)不起!您所查詢的學(xué)生信息不存在!”結(jié)束Y想要提取的信息成功被提取6)退出程序流程圖開(kāi)始相關(guān)操作已經(jīng)完成是否退出系統(tǒng)輸出“您已經(jīng)成功退出該系統(tǒng),謝謝使用!”結(jié)束Y繼續(xù)輸入其他指令進(jìn)行操作N第四章 開(kāi)發(fā)過(guò)程描述4.1源代碼#include<iostream>#include<fstream>#include<string> #include<iomanip>using namespace std;void Display();/調(diào)用display顯示switch()菜單void Register();/注冊(cè)void

11、 Enter();/登錄 void work();int amount=0; /記錄學(xué)生個(gè)數(shù)ofstream *file50;struct score float yw; float sx; float yy; float wl; float hx; float sw; struct score *next;class student public: string mun; string name; score sc1; score sc2; score sc3;/平時(shí)成績(jī),期末成績(jī),總成績(jī); class student *next; ;void input(student *head); /

12、錄入void search1(student *head); /姓名查詢void search2(student *head); /學(xué)號(hào)查詢void change(student *head); /修改void shanchu(student *head); /刪除void get(student *head); /取數(shù)據(jù)void display(); /顯示菜單void show(student *head); /顯示數(shù)據(jù)void readin(student *head); /保存數(shù)據(jù)int main() Display();/顯示菜單注冊(cè);登錄 cin.get(); return 0;v

13、oid Register()/注冊(cè) ofstream outFile; outFile.open("web1.txt",ios_base:out|ios_base:app);/把注冊(cè)的ID、code保存到web1.txt文件當(dāng)中 if(!outFile.is_open()/如果沒(méi)有成功打開(kāi)文件 cout<<"很遺憾,連接不上服務(wù)器" cout<<"程序結(jié)束" cin.get(); exit(EXIT_FAILURE); string name; string code; cout<<"請(qǐng)輸

14、入用戶名名稱: " cin.get();/吃掉空字符 getline(cin,name); outFile<<name<<endl;/記錄注冊(cè)的資料到web1.txt文件中 cout<<"請(qǐng)輸入密碼: " getline(cin,code); outFile<<code<<endl;/記錄注冊(cè)的資料到web1.txt文件中 cout<<"注冊(cè)成功!" outFile.close(); Display();void Enter()/登錄 cin.get(); ifstream

15、 inFile;/定義ifstream對(duì)象 inFile.open("web1.txt");/讀取web1.txt文件中的注冊(cè)資料 if(!inFile.is_open()/如果文件沒(méi)有成功打開(kāi) cout<<"很遺憾,連接不上服務(wù)器" exit(EXIT_FAILURE); string name; string code; string temp; cout<<"請(qǐng)輸入用戶名名稱: " getline(cin,name); while(getline(inFile,temp)/匹配用戶名 if(temp=na

16、me)/如果匹配用戶名成功 cout<<"請(qǐng)輸入密碼: "/請(qǐng)輸入密碼 getline(cin,code);/code getline(inFile,temp);/匹配code if(temp=code)/如果密碼正確,登錄成功 cout<<"登錄成功" work(); else cout<<"密碼錯(cuò)誤" Display();/返回! void Display()/菜單 cout<<"1)Register注冊(cè)2)Enter登錄n3)Exit退出nnChoice:" i

17、nt choice;/選擇菜單 cin>>choice; switch(choice) case 1:/注冊(cè) Register();/call function調(diào)用函數(shù) break;case 2:/登錄 Enter();/call function調(diào)頭函數(shù) break;case 3:/退出 exit(EXIT_FAILURE); void work() /主函數(shù) system("color f0"); char x; bool flag2=0; student *head=new student; /初始離散生數(shù)據(jù) head->next=NULL; cou

18、t<<" 歡迎使用學(xué)生成績(jī)管理系統(tǒng) n " display(); /顯示菜單 do do cin>>x; if(x>='0'&&x<='8') flag2=1; else cout<<" 請(qǐng)選擇相應(yīng)的數(shù)字進(jìn)行操作:n " while(flag2=0); switch(x) case '0':cout<<"*現(xiàn)在進(jìn)行學(xué)生信息錄入*n" input(head); cout<<"輸入的學(xué)生信息為:

19、n" show(head); cout<<"*n" display(); break; case '1': char z; cout<<"*現(xiàn)在進(jìn)行學(xué)生信息查詢*n" cout<<"請(qǐng)選擇查詢方式:" cout<<"(0).姓名查詢;(1).學(xué)號(hào)查詢:" cin>>z; while(z!='0'&&z!='1') cout<<"指令錯(cuò)誤<請(qǐng)選擇(0)或者(

20、1)!>!"<<endl; cout<<"請(qǐng)選擇查詢方式:(0).姓名查詢;(1).學(xué)號(hào)查詢:" cin>>z; switch(z) case '0': search1(head);break;/按姓名查詢 case '1': search2(head);break;/按學(xué)號(hào)查詢 cout<<"*n" display(); break; case '2': cout<<"*現(xiàn)在進(jìn)行學(xué)生信息修改*n" change

21、(head); cout<<"*n" display(); break; /按姓名修改 case '3': cout<<"*現(xiàn)在進(jìn)行學(xué)生信息刪除*n" shanchu(head); show(head); cout<<"*n" display(); break; /刪除 case '4':cout<<"*現(xiàn)在進(jìn)行提取學(xué)生信息*n" get(head); cout<<"*n" display(); brea

22、k; case '5':cout<<"*現(xiàn)在進(jìn)行保存學(xué)生信息*n" readin(head); cout<<"*n" display(); break; case '6': cout<<"*n" cout<<" ¤ 您已退出學(xué)生成績(jī)管理系統(tǒng), 謝謝使用! ¤ n" cout<<"*n" cout<<endl; exit(0); break; while(flag2=1);v

23、oid display() cout<<" +*+*+n" cout<<" $ 菜 單 $n" cout<<" $ $n" cout<<" $ 請(qǐng)選擇: $n" cout<<" $ 0-錄入; 1-查詢; 2-修改; $n" cout<<" $ 3-刪除; 4-提取; 5-保存; $n" cout<<" $ 6-退出; $n" cout<<" *+*+

24、*n" cout<<" 請(qǐng)選擇相應(yīng)的數(shù)字進(jìn)行操作: "void chushihua(student *head) int j=0;char c; cout<<"注意:初始化操作將刪除<總評(píng)成績(jī).txt>文件中的所有信息!n" cout<<"是否繼續(xù)操作?(y/n):"cin>>c; if (c='y') amount=1; filej=new ofstream("F:課設(shè)總評(píng)成績(jī).txt",ios:out); cout<&l

25、t;".成功清除<總評(píng)成績(jī).txt>的信息n "void show(student *head) student *stu=head; cout<<"| 學(xué)號(hào) | 姓名 | C+ | 信息資源管理 | 英語(yǔ) | 馬克思 | 形勢(shì)政策 | 概率 |"<<endl; while(stu->next!=NULL) (*stu).sc3.yw=(*stu).sc1.yw)*0.30+(*stu).sc2.yw)*0.70;/總成績(jī)計(jì)算 (*stu).sc3.sx=(*stu).sc1.sx)*0.30+(*stu).sc

26、2.sx)*0.70; (*stu).sc3.yy=(*stu).sc1.yy)*0.30+(*stu).sc2.yy)*0.70; (*stu).sc3.wl=(*stu).sc1.wl)*0.30+(*stu).sc2.wl)*0.70; (*stu).sc3.hx=(*stu).sc1.hx)*0.30+(*stu).sc2.hx)*0.70; (*stu).sc3.sw=(*stu).sc1.sw)*0.30+(*stu).sc2.sw)*0.70; stu=stu->next; cout<<"| "<<setw(9)<<(

27、*stu).mun; cout<<" | "<<setw(6)<<(*stu).name; cout<<" | "<<setw(4)<<(*stu).sc3.yw; cout<<" | "<<setw(4)<<(*stu).sc3.sx; cout<<" | "<<setw(4)<<(*stu).sc3.yy; cout<<" | "<

28、<setw(4)<<(*stu).sc3.wl; cout<<" | "<<setw(4)<<(*stu).sc3.hx; cout<<" | "<<setw(4)<<(*stu).sc3.sw; cout<<" | "<<endl; void readin(student *head) char a; student *stu=head->next; cout<<"現(xiàn)在保存輸入學(xué)生數(shù)據(jù),是否繼

29、續(xù)操作?(y/n)" cin>>a; ofstream outfile("F:課設(shè)總評(píng)成績(jī).txt",ios:out); if(! outfile) cout<<"打開(kāi)文件錯(cuò)誤!n" exit(0); while(a!='n') while(stu!=NULL) outfile<<"*第"<<amount<<"個(gè)學(xué)生的數(shù)據(jù):*n" outfile<<"| 學(xué)號(hào) | 姓名 | C+ | 信息資源管理 | 英語(yǔ)

30、| 馬克思 | 形勢(shì)政策 | 概率 |"<<endl; outfile<<" 平時(shí)成績(jī): n" <<"| "<<setw(9)<<(*stu).mun<<" | "<<setw(6)<<(*stu).name<<" | "<<setw(4)<<(*stu).sc1.yw<< " | "<<setw(4)<<(*stu).

31、sc1.sx<<" | "<<setw(4)<<(*stu).sc1.yy<<" | "<<setw(4)<<(*stu).sc1.wl <<" | "<<setw(4)<<(*stu).sc1.hx<<" | "<<setw(4)<<(*stu).sc1.sw<<endl; outfile<<" 期末成績(jī): n" <<

32、;"| "<<setw(9)<<(*stu).mun<<" | "<<setw(6)<<(*stu).name<<" | "<<setw(4)<<(*stu).sc2.yw<< " | "<<setw(4)<<(*stu).sc2.sx<<" | "<<setw(4)<<(*stu).sc2.yy<<" |

33、"<<setw(4)<<(*stu).sc2.wl <<" | "<<setw(4)<<(*stu).sc2.hx<<" | "<<setw(4)<<(*stu).sc2.sw<<endl; outfile<<" 總評(píng)成績(jī): n" <<"| "<<setw(9)<<(*stu).mun<<" | "<<set

34、w(6)<<(*stu).name<<" | "<<setw(4)<<(*stu).sc3.yw<< " | "<<setw(4)<<(*stu).sc3.sx<<" | "<<setw(4)<<(*stu).sc3.yy<<" | "<<setw(4)<<(*stu).sc3.wl <<" | "<<setw(4)&

35、lt;<(*stu).sc3.hx<<" | "<<setw(4)<<(*stu).sc3.sw<<endl; amount+; stu=stu->next; break; cout<<".成功將學(xué)生數(shù)據(jù)保存到<總評(píng)成績(jī).txt>中! " outfile.close(); void input(student *head) char c; int j=0; student *p=head; filej=new ofstream("F:課設(shè)總評(píng)成績(jī).txt&quo

36、t;,ios:app); do student *stu=new student; cout<<"請(qǐng)輸入學(xué)號(hào)(12位數(shù)字):"<<setw(12); cin>>(*stu).mun; cout<<"請(qǐng)輸入姓名:"<<setw(20); cin>>(*stu).name; cout<<"請(qǐng)輸入C+成績(jī)(平時(shí)成績(jī)和期末成績(jī)):"<<setw(2); cin>>(*stu).sc1.yw>>(*stu).sc2.yw; c

37、out<<"請(qǐng)輸入信息資源管理成績(jī)(平時(shí)成績(jī)和期末成績(jī)):"<<setw(2); cin>>(*stu).sc1.sx>>(*stu).sc2.sx; cout<<"請(qǐng)輸入英語(yǔ)成績(jī)(平時(shí)成績(jī)和期末成績(jī)):"<<setw(2); cin>>(*stu).sc1.yy>>(*stu).sc2.yy; cout<<"請(qǐng)輸入馬克思成績(jī)(平時(shí)成績(jī)和期末成績(jī)):"<<setw(2); cin>>(*stu).sc1.

38、wl>>(*stu).sc2.wl; cout<<"請(qǐng)輸入形勢(shì)政策成績(jī)(平時(shí)成績(jī)和期末成績(jī)):"<<setw(2); cin>>(*stu).sc1.hx>>(*stu).sc2.hx; cout<<"請(qǐng)輸入概率成績(jī)(平時(shí)成績(jī)和期末成績(jī)):"<<setw(2); cin>>(*stu).sc1.sw>>(*stu).sc2.sw; (*stu).sc3.yw=(*stu).sc1.yw)*0.30+(*stu).sc2.yw)*0.70;/總成績(jī)計(jì)

39、算 (*stu).sc3.sx=(*stu).sc1.sx)*0.30+(*stu).sc2.sx)*0.70; (*stu).sc3.yy=(*stu).sc1.yy)*0.30+(*stu).sc2.yy)*0.70; (*stu).sc3.wl=(*stu).sc1.wl)*0.30+(*stu).sc2.wl)*0.70; (*stu).sc3.hx=(*stu).sc1.hx)*0.30+(*stu).sc2.hx)*0.70; (*stu).sc3.sw=(*stu).sc1.sw)*0.30+(*stu).sc2.sw)*0.70; stu->next=p->next

40、; p->next=stu; amount+; cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)" cin>>c; p=p->next; while(c!='y'&&c!='n') cout<<"指令錯(cuò)誤<請(qǐng)輸入y/n!>!"<<endl; cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)" cin>>c; while(c='y'); j+; cout<<&qu

41、ot;輸入了 "<<amount<<"個(gè)學(xué)生的信息."<<endl; void search1(student *head)/姓名查詢 char c; string name; do student *stu=head->next; bool flag=0; cout<<"請(qǐng)輸入你要查詢的學(xué)生姓名:" cin>>name; do if(stu!=NULL&&name=(*stu).name) /輸出總成績(jī) flag=1; cout<<"您要查

42、詢的學(xué)生是:"<<stu->name<<endl; cout<<"| 學(xué)號(hào) | 姓名 | C+ | 信息資源管理 | 英語(yǔ) | 馬克思 | 形勢(shì)政策 | 概率 |"<<endl; cout<<"| "<<setw(12)<<(*stu).mun; cout<<" | "<<setw(6)<<(*stu).name; cout<<" | "<<setw(4)&

43、lt;<(*stu).sc3.yw; cout<<" | "<<setw(4)<<(*stu).sc3.sx; cout<<" | "<<setw(4)<<(*stu).sc3.yy; cout<<" | "<<setw(4)<<(*stu).sc3.wl; cout<<" | "<<setw(4)<<(*stu).sc3.hx; cout<<"

44、 | "<<setw(4)<<(*stu).sc3.sw; cout<<" | "<<endl; stu=stu->next; while(stu!=NULL); if(flag=0) cout<<"對(duì)不起!您要查詢的學(xué)生不存在!"<<endl; cout<<"您想繼續(xù)查詢嗎?(y/n)" cin>>c; while(c!='y'&&c!='n') cout<<&q

45、uot;指令錯(cuò)誤<請(qǐng)輸入y/n!>!"<<endl; cout<<"您想繼續(xù)查詢嗎?(y/n)" cin>>c; while(c='y'); void search2(student *head)/學(xué)號(hào)查詢 char c;string no; do student *stu=head->next; int flag=0; cout<<"請(qǐng)輸入你要查詢的學(xué)生學(xué)號(hào):" cin>>no; do if(stu!=NULL&&no=(*stu).

46、mun) flag=1; cout<<"您要查詢的學(xué)生是:"<<stu->name<<endl; cout<<"| 學(xué)號(hào) | 姓名 | C+ | 信息資源管理 | 英語(yǔ) | 馬克思 | 形勢(shì)政策 | 概率 |"<<endl; cout<<"| "<<setw(9)<<(*stu).mun; cout<<" | "<<setw(6)<<(*stu).name; cout<&l

47、t;" | "<<setw(4)<<(*stu).sc3.yw; cout<<" | "<<setw(4)<<(*stu).sc3.sx; cout<<" | "<<setw(4)<<(*stu).sc3.yy; cout<<" | "<<setw(4)<<(*stu).sc3.wl; cout<<" | "<<setw(4)<<

48、(*stu).sc3.hx; cout<<" | "<<setw(4)<<(*stu).sc3.sw; cout<<" | "<<endl; stu=stu->next; while(stu!=NULL); if(flag=0) cout<<"對(duì)不起!您要查詢的學(xué)生不存在!"<<endl; cout<<"您想繼續(xù)查詢嗎?(y/n)" cin>>c; while(c!='y'&&a

49、mp;c!='n') cout<<"指令錯(cuò)誤<請(qǐng)輸入y/n!>!"<<endl; cout<<"您想繼續(xù)查詢嗎?(y/n)"<<endl; cin>>c; while(c='y'); void change(student *head) string name; char c; do bool flag2=0; student *stu=head ; score sc1; score sc2; score sc3; cout<<"

50、請(qǐng)輸入您要修改的學(xué)生的姓名:" cin>>name; do if(name=(*stu).name) flag2=1; cout<<"請(qǐng)輸入新的.C+.成績(jī)(平時(shí)成績(jī)和期末成績(jī)):" cin>>sc1.yw>>sc2.yw; cout<<"請(qǐng)輸入新的.信息資源管理.成績(jī)(平時(shí)成績(jī)和期末成績(jī)):" cin>>sc1.sx>>sc2.sx; cout<<"請(qǐng)輸入新的.英語(yǔ).成績(jī)(平時(shí)成績(jī)和期末成績(jī)):" cin>>sc1.

51、yy>>sc2.yy; cout<<"請(qǐng)輸入新的.馬克思.成績(jī)(平時(shí)成績(jī)和期末成績(jī)):" cin>>sc1.wl>>sc2.wl; cout<<"請(qǐng)輸入新的.形勢(shì)政策.成績(jī)(平時(shí)成績(jī)和期末成績(jī)):" cin>>sc1.hx>>sc2.hx; cout<<"請(qǐng)輸入新的.概率.成績(jī)(平時(shí)成績(jī)和期末成績(jī)):" cin>>sc1.sw>>sc2.sw; sc3.yw=sc1.yw*0.30+sc2.yw*0.70;/總成績(jī)計(jì)

52、算 sc3.sx=sc1.sx*0.30+sc2.sx*0.70; sc3.yy=sc1.yy*0.30+sc2.yy*0.70; sc3.wl=sc1.wl*0.30+sc2.wl*0.70; sc3.hx=sc1.hx*0.30+sc2.hx*0.70; sc3.sw=sc1.sw*0.30+sc2.sw*0.70; (*stu).sc3.yw=sc3.yw; (*stu).sc3.sx=sc3.sx; (*stu).sc3.yy=sc3.yy; (*stu).sc3.wl=sc3.wl; (*stu).sc3.hx=sc3.hx; (*stu).sc3.sw=sc3.sw; cout&l

53、t;<"| 學(xué)號(hào) | 姓名 | C+ | 信息資源管理 | 英語(yǔ) | 馬克思 | 形勢(shì)政策 | 概率 |"<<endl; cout<<"| "<<setw(9)<<(*stu).mun; cout<<" | "<<setw(6)<<(*stu).name; cout<<" | "<<setw(4)<<(*stu).sc3.yw; cout<<" | "<

54、<setw(4)<<(*stu).sc3.sx; cout<<" | "<<setw(4)<<(*stu).sc3.yy; cout<<" | "<<setw(4)<<(*stu).sc3.wl; cout<<" | "<<setw(4)<<(*stu).sc3.hx; cout<<" | "<<setw(4)<<(*stu).sc3.sw; cout&l

55、t;<" | "<<endl; cout<<".數(shù)據(jù)修改成功!n" break; stu=stu->next; while(stu!=NULL); if(flag2=0) cout<<"對(duì)不起!您要修改的學(xué)生不存在!請(qǐng)檢查重新輸入!"<<endl; cout<<"想繼續(xù)修改嗎?(y/n)" cin>>c; if(c!='y'&&c!='n') cout<<"指令錯(cuò)

56、誤!請(qǐng)重新輸入<y/n>!" cin>>c; while(c='y'); void shanchu(student *head)/學(xué)號(hào) char c;string no; do int flag=0; cout<<"請(qǐng)輸入你要?jiǎng)h除的學(xué)生學(xué)號(hào):" cin>>no; student *q,*p; q=head; while(q->next!=NULL&&q->next->mun!=no) q=q->next; if(q->next!=NULL) flag=1; p=q->next; q->next=q->next->next; amount-; free(p); cout<<".成功刪除! " if(flag=0) cout<<"對(duì)不起!您要?jiǎng)h除的學(xué)生不存在!"<<

溫馨提示

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