《高級(jí)程序設(shè)計(jì)語言》課程設(shè)計(jì)- 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
《《高級(jí)程序設(shè)計(jì)語言》課程設(shè)計(jì)- 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《高級(jí)程序設(shè)計(jì)語言》課程設(shè)計(jì)- 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(38頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 河南工程學(xué)院《高級(jí)程序設(shè)計(jì)語言》課程設(shè)計(jì) 成果報(bào)告 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生學(xué)號(hào): 學(xué)生姓名: 學(xué) 院: 計(jì)算機(jī)學(xué)院 專業(yè)班級(jí): 軟件工程1341班 專業(yè)課程: 《高級(jí)程序設(shè)計(jì)語言》 指導(dǎo)教師: 2014 年 6 月 27 日 題 目 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 考核項(xiàng)目 考核內(nèi)容 得分 平時(shí)考核 (30分)出勤情況、態(tài)度、效率;知識(shí)掌握情況、基
2、本操作技能、知識(shí)應(yīng)用能力、獲取知識(shí)能力 系統(tǒng)設(shè)計(jì) (20分)分析系統(tǒng)的功能模塊 編程調(diào)試 (20分)實(shí)現(xiàn)系統(tǒng)的各個(gè)功能模塊,并完成調(diào)試 回答問題 (15分)回答老師針對(duì)課程設(shè)計(jì)提出的問題 課程設(shè)計(jì)報(bào)告撰寫 (10分)嚴(yán)格按照規(guī)范要求完成課程設(shè)計(jì)報(bào)告 源代碼 (5分)按照規(guī)范要求完成課程設(shè)計(jì)源代碼的排版 總 評(píng) 成 績(jī) 指導(dǎo)教師評(píng)語: 日期: 年 月 日 目 錄 第1章 系統(tǒng)設(shè)計(jì)的概述和目的 1 1.1系統(tǒng)設(shè)計(jì)的目的 1 1.2 系統(tǒng)設(shè)計(jì)的任務(wù) 1 第2章 系統(tǒng)實(shí)現(xiàn)思路 2
3、 2.1 系統(tǒng)需求分析 2 2.2 系統(tǒng)功能分析 2 2.3 系統(tǒng)性能要求 3 第3章 系統(tǒng)詳細(xì)設(shè)計(jì) 4 3.1模塊設(shè)計(jì)與分析 4 3.2主函數(shù)設(shè)計(jì) 5 3.3特色算法分析 6 第4章 系統(tǒng)調(diào)試運(yùn)行 15 課程設(shè)計(jì)體會(huì) 19 參考文獻(xiàn) 20 第1章 系統(tǒng)設(shè)計(jì)的概述和目的 在計(jì)算機(jī)領(lǐng)域中,任何好的創(chuàng)意和設(shè)計(jì)最終都需要通過高水平的程序設(shè)計(jì)實(shí)現(xiàn),因此學(xué)習(xí)程序設(shè)計(jì)是計(jì)算機(jī)及相關(guān)專業(yè)學(xué)生必備的基本技能之一。 1.1系統(tǒng)設(shè)計(jì)的目的 C++課程設(shè)計(jì)是計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)的重要實(shí)踐性環(huán)節(jié)之一,是學(xué)生學(xué)習(xí)該課程后的一次全面綜合訓(xùn)練。通過本課程設(shè)計(jì)的實(shí)踐,更進(jìn)一步總結(jié)C+
4、+課程學(xué)習(xí)中的的數(shù)據(jù)類型、程序結(jié)構(gòu)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體等基本概念,掌握其使用方法。掌握面向?qū)ο蟪绦蛟O(shè)計(jì)中有關(guān)類、對(duì)象、繼承、重載、多態(tài)性、輸入輸出流類體系、文件操作的基本概念,初步學(xué)會(huì)用類與對(duì)象這種面向?qū)ο蟮某绦蛟O(shè)計(jì)方法編寫應(yīng)用程序。培養(yǎng)使用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法編寫計(jì)算機(jī)程序的能力。同時(shí),也鍛煉學(xué)生的團(tuán)隊(duì)分工、協(xié)作能力,讓同學(xué)們?cè)趯?shí)踐的過程中,提高發(fā)現(xiàn)問題、分析問題、解決問題的能力。學(xué)會(huì)團(tuán)結(jié)互助,共同合作,培養(yǎng)良好的團(tuán)隊(duì)精神。 1.2 系統(tǒng)設(shè)計(jì)的任務(wù) (1)設(shè)計(jì)四個(gè)類,包括學(xué)生類(描述學(xué)生基本信息)、成績(jī)類、班級(jí)類、課程類(描述課程信息:課程編號(hào),科目名稱,如高等數(shù)學(xué),大學(xué)英語等)
5、; (2)學(xué)生成績(jī)及課程信息用文件保存,程序執(zhí)行時(shí)從文件讀入; (3)能按學(xué)期、按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入、修改,能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī); (4)求學(xué)生的總分及平均分,并能根據(jù)學(xué)生的平均成績(jī)進(jìn)行排序,能查詢學(xué)生成績(jī),不及格科目及學(xué)生名單;能按班級(jí)輸出學(xué)生的成績(jī)單。 ① 設(shè)置學(xué)生的成績(jī)信息:學(xué)生學(xué)號(hào)、姓名、所選課程名稱、平時(shí)成績(jī)、期末成績(jī)、平時(shí)成績(jī)所占百分比 ②計(jì)算學(xué)生總評(píng)成績(jī):總評(píng)成績(jī)=平時(shí)成績(jī)*平時(shí)成績(jī)所占百分比+期末成績(jī)*(1-平時(shí)成績(jī)所占百分比) ③顯示學(xué)生的姓名、所選課程名稱以及平時(shí)成績(jī)、期末成績(jī)和總評(píng)成績(jī)信息。分單人顯示和以班輸出(班成績(jī)單格式輸出到文件)
6、 ④注意:至少應(yīng)包含一個(gè)班、30人、三門課 第2章 系統(tǒng)實(shí)現(xiàn)思路 系統(tǒng)主要根據(jù)學(xué)生成績(jī)管理的需要,而建立一個(gè)“學(xué)生成績(jī)管理系統(tǒng)”,以方便對(duì)成績(jī)的各項(xiàng)管理操作。 2.1 系統(tǒng)需求分析 學(xué)生成績(jī)管理系統(tǒng)可以用來管理規(guī)模較大的成績(jī)信息,對(duì)學(xué)生的成績(jī)信息進(jìn)行維護(hù)和統(tǒng)計(jì)。系統(tǒng)的目標(biāo)用戶為老師或其他需要統(tǒng)計(jì)各種信息的人員。系統(tǒng)可以極大的減少用戶的工作量,為用戶節(jié)省更多的時(shí)間,讓用戶在幾秒鐘內(nèi)獲得各種統(tǒng)計(jì)信息,在第一時(shí)間對(duì)學(xué)生成績(jī)有全面的了解。系統(tǒng)給用戶提供了簡(jiǎn)單而實(shí)用的功能,如圖2-1所示。 學(xué)生成績(jī)管理系統(tǒng) 操作 查詢 成績(jī)統(tǒng)計(jì) 按總成績(jī)排名 錄入 增加 刪除 修改
7、 總成績(jī)查詢 姓名、平均分查詢 每個(gè)學(xué)生的平均成績(jī) 各科不及格的人數(shù) 輸出所有學(xué)生的成績(jī) 2-1模塊框架圖 2.2 系統(tǒng)功能分析 根據(jù)課程設(shè)計(jì)題目的要求,以及我們小組成員的討論,最終確定此程序有 以下功能: 1、資料維護(hù): 系統(tǒng)維護(hù)包括對(duì)各個(gè)學(xué)生姓名、成績(jī)、學(xué)號(hào)的錄入操作,對(duì)數(shù)據(jù)表中的信息進(jìn)行瀏覽。 2、成績(jī)查詢:可以對(duì)學(xué)生成績(jī)進(jìn)行詳細(xì)查詢。 3、排列顯示:包括統(tǒng)計(jì)學(xué)生排名成績(jī)等。 (1)能夠?qū)崿F(xiàn)學(xué)生學(xué)號(hào)、姓名、成績(jī)的錄入 (2)能夠?qū)崿F(xiàn)對(duì)學(xué)生信息的瀏覽、查找、刪除 (3)能夠?qū)崿F(xiàn)對(duì)學(xué)生信
8、息按學(xué)號(hào)順序顯示,成績(jī)排名 (4)能夠?qū)Ω骺瞥煽?jī)統(tǒng)計(jì)情況輸出 2.3 系統(tǒng)性能要求 根據(jù)學(xué)生成績(jī)管理系統(tǒng)的標(biāo)準(zhǔn),以及考慮到用戶的需求,所以我們?cè)诰帉懴到y(tǒng)程序時(shí)注意其實(shí)用性如下: (1)系統(tǒng)安全、可靠 (2)功能齊全 (3)操作方便 (4)易于維護(hù)和擴(kuò)充 第3章 系統(tǒng)詳細(xì)設(shè)計(jì) 要開發(fā)學(xué)生成績(jī)管理信息系統(tǒng),首先需要進(jìn)行需求分析和總體設(shè)計(jì),分析系統(tǒng)的使用對(duì)象和用戶需求,設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu),決定使用的開發(fā)工具和后臺(tái)數(shù)據(jù)庫,規(guī)劃項(xiàng)目開發(fā)進(jìn)程。 3.1模塊設(shè)計(jì)與分析 (1)輸入學(xué)生資料模塊 主要功能用來對(duì)學(xué)生的成績(jī)進(jìn)行收集和輸入。在學(xué)生信息保存在系統(tǒng)中的前提下,成績(jī)錄入需要
9、輸入學(xué)生資料,比如班級(jí),學(xué)號(hào),姓名。在準(zhǔn)確輸入學(xué)生資料后,就可以對(duì)該學(xué)生的各科成績(jī)進(jìn)行錄入。該學(xué)生各科成績(jī)輸入成功后,系統(tǒng)會(huì)提示是否繼續(xù)進(jìn)行操作,如果想繼續(xù)輸入學(xué)生成績(jī)就輸入y,不想再輸入學(xué)生成績(jī)的話就輸入n,再輸入n之后,系統(tǒng)返回到主菜單。 (2)輸出學(xué)生資料模塊 主要功能用來對(duì)學(xué)生的成績(jī)進(jìn)行輸出。在系統(tǒng)已經(jīng)錄入了學(xué)生資料成績(jī)的前提下,使用該功能可以顯示所有學(xué)生的信息,資料等等。具體包括學(xué)生的班級(jí),學(xué)號(hào),姓名和各科成績(jī)。在查看學(xué)生的資料,成績(jī)各方面的信息后,按任意鍵就可以返回到主菜單。 (3) 按學(xué)生姓名進(jìn)行排列模塊 主要功能是用來對(duì)學(xué)生的資料按姓名進(jìn)行排序。在系統(tǒng)保存學(xué)生資料
10、,成績(jī)的前提下,使用此功能可以對(duì)學(xué)生的資料按姓名進(jìn)行排序,這樣就方便查找姓氏相同或是相近的同學(xué)的資料。 (4) 添加學(xué)生資料模塊 主要功能是用來添加學(xué)生資料,成績(jī)。如果系統(tǒng)有保存學(xué)生資料的情況下,想錄入學(xué)生成績(jī)的話,就不用添加學(xué)生資料這模塊。如果系統(tǒng)沒有保存該學(xué)生信息的話,就要使用此模塊,在成功添加學(xué)生資料后,就可以對(duì)該學(xué)生進(jìn)行其他的操作。 (5)按姓名查找,刪除該學(xué)生資料模塊 主要功能是用來刪除學(xué)生資料。在系統(tǒng)保存學(xué)生資料的前提下,想刪除某學(xué)生的資料,可以輸入學(xué)生姓名,系統(tǒng)查找該學(xué)生資料后,就可以刪除了。由于學(xué)生輟學(xué),畢業(yè)等原因,及時(shí)對(duì)系統(tǒng)進(jìn)行更新,刪除一些沒用的信息,可以使系統(tǒng)更
11、加優(yōu)化。 (6)查找并顯示學(xué)生資料模塊 主要功能是用來查找學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要查找該學(xué)生資料,可以輸入該學(xué)生姓名,這樣系統(tǒng)就會(huì)顯示該學(xué)生資料和各科成績(jī)等信息。 (7)按姓名查找,修改學(xué)生資料模塊 主要功能是用來修改學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要查找該學(xué)生資料,可以輸入該學(xué)生姓名,系統(tǒng)就會(huì)顯示該學(xué)生資料和各科成績(jī)等信息,這樣就可以修改該學(xué)生的資料,成績(jī)等信息。 (8)從文件中讀入數(shù)據(jù)模塊 主要功能是用來從文件中讀入學(xué)生數(shù)據(jù)。由于一些資料可以用Word文檔或Excel表格輸入,故在此模塊中增加了導(dǎo)入數(shù)據(jù)的功能。這樣就方便很多,不用把學(xué)生資
12、料一個(gè)一個(gè)添加,節(jié)省了很多時(shí)間精力。 (9)儲(chǔ)存學(xué)生資料并退出系統(tǒng)模塊 主要功能是用來儲(chǔ)存學(xué)生資料。在對(duì)系統(tǒng)進(jìn)行一系列操作,比如添加、刪除、修改學(xué)生資料后,對(duì)系統(tǒng)的最新操作進(jìn)行保存,及時(shí)更新系統(tǒng),方便下一次的操作。 3.2主函數(shù)設(shè)計(jì) 在main()函數(shù)中主要是通過”switch(menu())”選擇判斷來調(diào)用相關(guān)功能模塊。系統(tǒng)的運(yùn)行是在一個(gè)永真的循環(huán)里進(jìn)行的,只有在主界面并選擇“退出本系統(tǒng)”時(shí),才會(huì)跳出永真循環(huán),并退出程序。主函數(shù)在程序中起核心作用,本程序的主函數(shù)主要完成了界面的設(shè)計(jì)、調(diào)用成績(jī)類的函數(shù)計(jì)算總成績(jī)、平均成績(jī)和總評(píng)成績(jī),然后是定義指針方便后面調(diào)用類的數(shù)據(jù)成員,還定義了全局
13、變量用于輸入數(shù)據(jù)的下標(biāo)。
(1)首先是介紹界面設(shè)計(jì)和選擇操作的設(shè)計(jì):
void main()
{
cout<<" 歡迎進(jìn)入學(xué)生成績(jī)管理系統(tǒng) "< 14、< 15、色算法分析
功能:定義菜單函數(shù),通過輸出函數(shù)顯示系統(tǒng)功能。利用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。
1.算法思路:switch語句的執(zhí)行流程是:首先計(jì)算switch后面圓括號(hào)中表達(dá)式的值,然后用此值依次與各個(gè)case的常量表達(dá)式比較,若圓括號(hào)中表達(dá)式的值與某個(gè)case后面的常量表達(dá)式的值相等,就執(zhí)行此case后面的語句,執(zhí)行后遇break語句就退出switch語句。
代碼:
void main() //主函數(shù)調(diào)用。
{
int n=0;
for(;;)
{
switch(menu())
{
case 1: 輸入學(xué)生資料
16、cout< 17、etw(15)<<" "<<"插入學(xué)生資料"< 18、<"查找學(xué)生"< 19、ext(stu,n);
break;
case 9: 將所有資料寫入文件
cout< 20、()
{};
Tstu ( char n[20], int num,float ma,float cj,float eng ) ;
float getsum();
float getaver();
friend void main();
};
Tstu::Tstu ( char n[20], int num,float ma,float cj,float eng )
{
strcpy(name,n);
number=num;
math=ma;
cpp=cj;
english=eng;
}
float 21、Tstu::getsum() //得到總分的函數(shù)
{
sum=cpp+english+math;
return sum;
}
float Tstu::getaver()
{
average=getsum()/3;
return average;
}
(3)然后用switch函數(shù)判斷和選擇
case 1: 數(shù)據(jù)的錄入
case 2: 增加學(xué)生數(shù)據(jù)
case 3:刪除學(xué)生信息
case 4:修改數(shù)據(jù)
case 5:按總分查詢
case 6:按姓名查詢
case 7:輸出所有學(xué)生數(shù)據(jù)
case 8:統(tǒng)計(jì)每個(gè)學(xué)生的平均成績(jī)
c 22、ase 9:統(tǒng)計(jì)各學(xué)科不及格人數(shù)
case 10:按總分排名
2.下面是操作選項(xiàng)的選擇下標(biāo)的設(shè)計(jì),設(shè)計(jì)全局變量可以很好的控制下標(biāo)的選擇,而且定義的指向各個(gè)類的指針可以方便后面操作程序的編寫。
(1)cout<<"選擇操作請(qǐng)選擇相應(yīng)操作前的阿拉伯?dāng)?shù)字!"< 23、000];
int i=0;//全局變量,用于做每個(gè)錄入數(shù)據(jù)的下標(biāo)
int j=0;
int chrisl=0;//用于判斷do-while語句
do//判斷輸入是否正確
{
cin>>p;
if((p>=1&&p<=12))
chrisl=1;
else
cout<<"!!輸入錯(cuò)誤,請(qǐng)重新輸入:"< 24、1://數(shù)據(jù)錄入
{char c;//用于在小項(xiàng)中選擇是否繼續(xù)操作
char name[30];//定義各個(gè)數(shù)據(jù)
int number;
float math,cpp,chinese;
float pingshicj;
float zpcj;
上面是數(shù)據(jù)成員的定義,接下來是具體操作的編譯:
do{
cout<<"請(qǐng)輸入姓名"< 25、l;
cin>>cpp;
cout<<"請(qǐng)輸入語文成績(jī)"< 26、
do{
flag=0;
cout<<"請(qǐng)輸入你要查詢的學(xué)生的總成績(jī):"< 27、語文分?jǐn)?shù):"<<(*d[j]).chinese<<"平時(shí)成績(jī):"<<(*f[j]).pingshicj< 28、方便的查詢到你所希望的平均分的學(xué)生輸出所以學(xué)生數(shù)據(jù)操作
case 6://輸出所有學(xué)生數(shù)據(jù)
{
cout<<"所有學(xué)生數(shù)據(jù)如下:"< 29、m=0;m
30、=0;n=0;k=0;
for(j=0;jmath<60)m++;
if(d[j]->cpp<60)n++;
if(d[j]->chinese<60)k++;
}
cout<<"數(shù)學(xué)不及格人數(shù)為:"< 31、來測(cè)試,從而保證每個(gè)模塊作為一個(gè)單元能正確運(yùn)行。進(jìn)而進(jìn)行子系統(tǒng)測(cè)試,子系統(tǒng)測(cè)試是把經(jīng)過單元測(cè)試的模塊放在一起形成一個(gè)子系統(tǒng)來測(cè)試。模塊相互間的協(xié) 行系統(tǒng)測(cè)試,系統(tǒng)測(cè)試是把經(jīng)過測(cè)試的子系統(tǒng)裝配成一個(gè)完整的系統(tǒng)來測(cè)試,在這個(gè)過程中我發(fā)現(xiàn)設(shè)計(jì)和編碼的一些錯(cuò)誤,并改正。
進(jìn)入主界面,首先可以看到,主界面共有11個(gè)操作選項(xiàng),11個(gè)小選項(xiàng)又分為4個(gè)大的選項(xiàng):操作、查詢、成績(jī)統(tǒng)計(jì)和排名,當(dāng)用戶看完操作選項(xiàng)以后是一條溫馨的提示:選擇操作請(qǐng)選擇相應(yīng)的阿拉伯?dāng)?shù)字。如圖4-1所示。
用戶選擇的是數(shù)字“1”,接下來就是輸入學(xué)生姓名等信息了。
4-1 登陸界面圖
輸入完學(xué)生信息以后界面顯示的信息,可以看到 32、,當(dāng)輸入完成時(shí)系統(tǒng)會(huì)自動(dòng)顯示出學(xué)生信息,如圖4-2所示。
4-2學(xué)生數(shù)據(jù)的錄入圖
選擇刪除操作,可以發(fā)現(xiàn)當(dāng)完成刪除操作后都會(huì)提醒您是否要繼續(xù),如圖4-3。
4-3學(xué)生數(shù)據(jù)的刪除圖
數(shù)據(jù)的修改操作,您可以發(fā)現(xiàn)當(dāng)完成刪除操作后都會(huì)提醒您是否要繼續(xù),如圖4-4所示。
4-4學(xué)生數(shù)據(jù)的修改圖
執(zhí)行按總成績(jī)查詢操作,需要先輸入總成績(jī),如圖4-5所示。
4-5按總成績(jī)查詢圖
執(zhí)行按學(xué)生姓名操作,需要先輸入學(xué)生姓名,如圖4-6所示。
4-6按姓名查詢圖
每個(gè)學(xué)生平均成績(jī)的輸出,如圖4-7所示。
4-7每個(gè)學(xué)生的平均成績(jī)圖
各科不及格人數(shù)的輸出如圖4-8所 33、示。
4-8各科不及格的人數(shù)圖
系統(tǒng)的退出,如圖4-9所示。
4-9退出圖
課程設(shè)計(jì)體會(huì)
通過這次的實(shí)訓(xùn)我深刻的體會(huì)到了要想把程序做好要有清晰的思路有較強(qiáng)的語言組織能力,一絲的馬虎否則會(huì)前功盡棄。程序的檢查和系統(tǒng)的調(diào)用程序?qū)懲旰蟛⒉荒鼙WC它一定能運(yùn)行,所以要對(duì)它進(jìn)行調(diào)試發(fā)現(xiàn)其中的弊端并作出相應(yīng)的修改以完善程序的目的。經(jīng)過努力,課程設(shè)計(jì)基本完成了。通過本次實(shí)訓(xùn),我對(duì)所學(xué)的C++語言知識(shí)有同學(xué)請(qǐng)教,借助網(wǎng)絡(luò)等等。實(shí)驗(yàn)過程中也走了很多的彎路,由于在開始設(shè)計(jì)的時(shí)候思路不時(shí)很清晰,對(duì)于一些問題不能很好的提出解決問題的方法,在設(shè)計(jì)過程中,代碼總是重復(fù)的修改,在很多問題上,代 34、碼并不時(shí)最優(yōu)的。相信在以后的學(xué)習(xí)中,隨著知識(shí)的增多,問題會(huì)逐漸得到解決。在課程設(shè)計(jì)的實(shí)踐中,學(xué)到很多有用的知識(shí),也積累了不少寶貴的經(jīng)驗(yàn)。我相信本次的課程設(shè)計(jì)會(huì)使我以后再各種方面都有很大的提高。
參考文獻(xiàn)
[1] 譚浩強(qiáng).《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》.清華大學(xué)出版社
[2] 譚浩強(qiáng).《C++面向?qū)ο蟪绦蛟O(shè)計(jì)習(xí)題上機(jī)指導(dǎo)》.清華大學(xué)出版社
[3] Kenneth C.Louden.《編譯原理及實(shí)踐》.機(jī)械工業(yè)出版社
[4] H.M.Deitel(美) P.J.Deitel(美).《C++大學(xué)教程》.電子工業(yè)出版社
[5] Herbert Schildt.《C++編譯藝術(shù)》.清華大學(xué)出版 35、社?
[6] Al Stevens Clayton Walnum(美).《標(biāo)準(zhǔn)C++寶典》.電子工業(yè)出版社
#include 36、 Tstu()
{};
Tstu ( char n[20], int num,float ma,float cj,float eng ) ;
float getsum();//得到總分的函數(shù)
float getaver(); //得到平均分的函數(shù)
friend void main(); //將主函數(shù)定義為友元函數(shù),方便訪問類中的成員
};
Tstu::Tstu ( char n[20], int num,float ma,float cj,float eng )
{
strcpy(name,n); //得到姓名
numbe 37、r=num; //得到學(xué)號(hào)
math=ma; //得到數(shù)學(xué)成績(jī)
cpp=cj; //得到c++成績(jī)
english=eng; //得到英語成績(jī)
}
float Tstu::getsum() //得到總分的函數(shù)
{
sum=cpp+english+math;
return sum;
}
float Tstu::getaver() //得到平均分的函數(shù)
{
average=getsum()/3;
return average;
}
void main()
{
cout<<" 38、*****************歡迎來到學(xué)生成績(jī)查詢系統(tǒng)*****************"< 39、ut<<"(7)輸出所有學(xué)生的數(shù)據(jù)"< 40、s[100]; //類定義的指針將所錄入的數(shù)據(jù)按類中的形式分別存儲(chǔ)
ofstream *file[100];
int i=0; //全局變量,用于做每個(gè)錄入數(shù)據(jù)的下標(biāo)
int j=0;
int chris1=0; //用于判斷do—while語句
do //判斷輸入是否正確
{
cin>>p;
if((p>=1&&p<=11))
chris1=1;
else
cout<<"指令錯(cuò)誤!請(qǐng)重新輸入:"< 41、 case 1: //數(shù)據(jù)的錄入
{
char c; //用于在小項(xiàng)中選擇是否繼續(xù)操作
char name[20];
int number;
float math,cpp,english;
do{
cout<<"請(qǐng)輸入姓名:"< 42、<"請(qǐng)輸入數(shù)學(xué)成績(jī):"< 43、
{ cout<<"f1.txt can not open.\n";
return;
}
outfile< 44、1.txt can not open.\n";
return;
}
char ch;
while(infile.get(ch))
cout< 45、 cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"< 46、;
}
case 2: //增加學(xué)生數(shù)據(jù)
{
char name[20];
int number;
float math,cpp,english;
char c;
do
{
cout<<"請(qǐng)輸入您要增加的學(xué)生的姓名:"< 47、< 48、file.open("f1.txt",ios::out|ios::app);
if(!file)
{
cout<<"f1.txt can not open.\n";
return;
}
outfile< 49、 outfile.close();
infile.open("f1.txt",ios::in);
if(!file)
{
cout<<"f1.txt can not open.\n";
return;
}
char h;
while(infile.get(h))
cout< 50、< 51、cout<<"指令錯(cuò)誤!請(qǐng)重新輸入!"< 52、.txt",ios::trunc|ios::out); //作一個(gè)文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù)
cout<<"請(qǐng)輸入您要?jiǎng)h除的學(xué)生的姓名:"< 53、 name = line.substr(0,line.find(" ",0));//找到名字,判斷是否相等
if(name != xingming)
outfile< 54、::out);
ifstream outf("f2.txt");
f< 55、
{
cout<<"指令錯(cuò)誤!請(qǐng)重新輸入!"< 56、ut<<"系統(tǒng)中沒有輸入數(shù)據(jù),請(qǐng)先輸入數(shù)據(jù)!"< 57、line);
istringstream stream(line);
sname = line.substr(0,line.find(" ",0));
if(name!=sname)
{
outfile< 58、nu>>ma>>com>>eng;
cout< 59、lose();
inf.close();
}
if(flag=0)cout<<"對(duì)不起,您要修改的學(xué)生不存在!請(qǐng)查證后輸入!"< 60、}
case 5://按總分查詢
{
int j=0;float SUM;char c;int flag;
if(i==0)
{
cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請(qǐng)先輸入數(shù)據(jù)!"< 61、 {
flag=1;
cout<<"您要查詢的學(xué)生是:"<<(*s[j]).name< 62、<<"是否繼續(xù)查?(y/n):";
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯(cuò)誤!請(qǐng)重新輸入!"< 63、l;break;
}
do
{
flag=0;
cout<<"請(qǐng)輸入要查詢的名字: "< 64、s[j]).math<<"c++分?jǐn)?shù):"<<(*s[j]).cpp<<"英語分?jǐn)?shù):"<<(*s[j]).english< 65、le(c=='y');
break;
}
case 7://輸出所有學(xué)生數(shù)據(jù)
{
cout<<"所有學(xué)生數(shù)據(jù)如下:"< 66、i==0)
{
cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請(qǐng)先輸入數(shù)據(jù)!"<
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中語文作文素材:30篇文學(xué)名著開場(chǎng)白
- 初中語文答題技巧:現(xiàn)代文閱讀-說明文閱讀知識(shí)點(diǎn)總結(jié)
- 初中語文作文十大常考話題+素材
- 初中語文作文素材:描寫冬天的好詞、好句、好段總結(jié)
- 初中語文必考名著總結(jié)
- 初中語文作文常見主題總結(jié)
- 初中語文考試??济偨Y(jié)
- 初中語文必考50篇古詩文默寫
- 初中語文易錯(cuò)易混詞總結(jié)
- 初中語文228條文學(xué)常識(shí)
- 初中語文作文素材:30組可以用古詩詞當(dāng)作文標(biāo)題
- 初中語文古代文化常識(shí)七大類別總結(jié)
- 初中語文作文素材:100個(gè)文藝韻味小短句
- 初中語文閱讀理解33套答題公式
- 初中語文228條文學(xué)常識(shí)總結(jié)