學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn) 高級程序設(shè)計語言課程設(shè)計報告
《學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn) 高級程序設(shè)計語言課程設(shè)計報告》由會員分享,可在線閱讀,更多相關(guān)《學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn) 高級程序設(shè)計語言課程設(shè)計報告(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、河南工程學(xué)院高級程序設(shè)計語言課程設(shè)計成果報告學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)學(xué)生學(xué)號: 學(xué)生姓名: 學(xué) 院: 計算機學(xué)院 專業(yè)班級: 軟件工程1341 專業(yè)課程: 高級程序設(shè)計語言指導(dǎo)教師: 2014 年 6 月 27 日題 目學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)考核項目考核內(nèi)容得分平時考核(30分)出勤情況、態(tài)度、效率;知識掌握情況、基本操作技能、知識應(yīng)用能力、獲取知識能力系統(tǒng)設(shè)計(30分)分析系統(tǒng)的功能模塊編程調(diào)試(30分)實現(xiàn)系統(tǒng)的各個功能模塊,并完成調(diào)試回答問題(15分)回答老師針對課程設(shè)計提出的問題課程設(shè)計報告撰寫(10分)嚴格按照規(guī)范要求完成課程設(shè)計報告源代碼(5分)按照規(guī)范要求完成課程設(shè)計源代碼
2、的排版總 評 成 績指導(dǎo)教師評語: 日期: 年 月 日目 錄第1章 系統(tǒng)設(shè)計目的11.1 設(shè)計目的11.2設(shè)計任務(wù)11.3 課程設(shè)計要求1第2章 系統(tǒng)實現(xiàn)思路22.1 需求分析22.2 系統(tǒng)功能模塊以及性能要求22.3 模塊框架圖3第3章 系統(tǒng)詳細設(shè)計43.1 關(guān)鍵類的設(shè)計43.2 界面設(shè)計43.3 主要功能函數(shù)的設(shè)計5第4章 系統(tǒng)調(diào)試運行94.1 程序運行結(jié)果94.2 程序結(jié)果分析12課程設(shè)計體會13參考文獻14附 錄15第1章 系統(tǒng)設(shè)計目的1.1 設(shè)計目的進一步深化掌握C+語言的基本知識;掌握結(jié)構(gòu)化程序設(shè)計的基本方法和設(shè)計技巧,初步了解算法分析與設(shè)計概念;理解面向?qū)ο蟪绦蛟O(shè)計思想,初步具備
3、運用面向?qū)ο蟪绦蛟O(shè)計方法進行程序設(shè)計的能力。能熟練應(yīng)用VC+集成環(huán)境進行C+語言程序的編寫、編譯與調(diào)試,提高對本課程知識綜合運用能力。通過本課程設(shè)計的實踐,將學(xué)到的面向?qū)ο蟮某绦蛟O(shè)計思想用到具體的工作學(xué)習(xí)中,加深對類與對象的理解,提高分析問題、解決問題、從而運用所學(xué)知識解決實際問題的能力。1.2設(shè)計任務(wù)1.設(shè)計四個類,包括學(xué)生類(描述學(xué)生基本信息);成績類;班級類;課程類(描述課程信息:課程編號,科目名稱,如高等數(shù)學(xué),大學(xué)英語等)。2.學(xué)生成績及課程信息用文件保存,程序執(zhí)行時從文件讀入。3.能按學(xué)期,按班級完成對學(xué)生成績的錄入、修改,能按班級統(tǒng)計學(xué)生的成績。4.求學(xué)生的總分及平均分,并能根據(jù)學(xué)
4、生的平均成績進行排序,能查詢學(xué)生成績,不及格科目及學(xué)生名單;能按班級輸出學(xué)生的成績單。5. 設(shè)置學(xué)生的成績信息:學(xué)生學(xué)號、姓名、所選課程名稱、平時成績、期末成績、平時成績所占百分比。 6.計算學(xué)生總評成績:總評成績=平時成績*平時成績所占百分比+期末成績*(1-平時成績所占百分比)。 7. 顯示學(xué)生的姓名、所選課程名稱以及平時成績、期末成績和總評成績信息。分單人顯示和以班輸出(班成績單格式輸出到文件) 注意,至少應(yīng)包含一個班、30人、三門課。 1.3設(shè)計要求根據(jù)C+課程所學(xué)的概念、理論和方法,按照C+程序設(shè)計的基本步驟,設(shè)計出一個適當規(guī)模的程序來實現(xiàn)設(shè)計課程內(nèi)容中的全部功能;設(shè)計主控模塊程序?qū)?/p>
5、給出的程序源代碼要給出各部分的詳細注釋自己根據(jù)能力及需要添加相應(yīng)功能模塊,增強模擬系統(tǒng)功能。包括系統(tǒng)的功能分析、系統(tǒng)的功能模塊設(shè)計、程序流程圖或結(jié)構(gòu)框圖、邏輯結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫中的表、視圖(如果使用)、索引的結(jié)構(gòu)和定義、觸發(fā)器、存儲過程、課程設(shè)計體會。第2章 系統(tǒng)實現(xiàn)思路2.1 需求分析學(xué)生教務(wù)管理系統(tǒng)是一個教學(xué)單位中教學(xué)管理不可缺少的一部分,它的內(nèi)容對學(xué)生情況管理來說至關(guān)重要。一直以來,人們使用人工的管理方式,其效率低,時間長。為提高教務(wù)管理的效率和水平,與時俱進,對一個擁有如下功能的學(xué)生教務(wù)管理系統(tǒng)需求日益迫切。能對學(xué)生各科成績進行錄入:。能對學(xué)生的成績進行增加。能對學(xué)生的成績進行刪除。能對
6、學(xué)生的成績進行修改。能對學(xué)生的成績按總成績,姓名,進行查詢。能輸出學(xué)生的所有數(shù)據(jù)。能進行成績統(tǒng)計。能進行總分查詢排名。2.2 系統(tǒng)功能模塊以及性能要求學(xué)生成績查詢系統(tǒng)有:成績錄入、增加、刪除、修改,數(shù)據(jù)查詢,排序顯示構(gòu)成。(1)磁盤容量要求:存儲容量嬌小,數(shù)據(jù)庫系統(tǒng)也不是很大,系統(tǒng)文件占一些磁盤空間,需要足夠大磁盤空間以容納系統(tǒng),倘若空間不足,應(yīng)該即使清理系統(tǒng)中過期文件。(2)安全性要求:系統(tǒng)有著權(quán)限設(shè)置,不同的用戶有著不同的權(quán)限,非相關(guān)人員不可越權(quán)進行學(xué)生的操作,學(xué)生也不可越權(quán)修改或訪問,教師可賦予管理員的權(quán)限,可以對網(wǎng)站進行任何操作。同時對于非法用戶,不能夠根據(jù)用戶的相對網(wǎng)址來訪問網(wǎng)站和對
7、網(wǎng)站進行任何操作。(3)適應(yīng)性要求:要求界面菜單清楚,學(xué)生和老師都能很快熟悉網(wǎng)站。2.3 模塊框架圖根據(jù)該程序設(shè)計的任務(wù)和目的畫出模塊框架圖2-3。 學(xué)生成績管理系統(tǒng)操作查詢成績統(tǒng)計按總成績排名錄入增加刪除修改總成績查詢姓名每個學(xué)生的平均成績各科不及格的人數(shù)輸出所有學(xué)生的成績 圖2-3 模塊框架圖 第3章 系統(tǒng)詳細設(shè)計3.1關(guān)鍵類的設(shè)計創(chuàng)建Stu類,在其中公用部分定義構(gòu)造函數(shù),成為類與外部的接口,而數(shù)據(jù)私有,形成接口與實現(xiàn)的分離,主函數(shù)定義為友元函數(shù),方便訪問類成員。class Stu /通過定義一個類來定義數(shù)據(jù)錄入的函數(shù) 。 char name30; int number; float ma
8、th,cpp,english,average,sum; public: Stu() ; Stu ( char n30, int num,float ma,float cj,float eng ) ; float getsum();/得到總分的函數(shù) float getaver(); /得到平均分的函數(shù) friend void main(); /將主函數(shù)定義為友元函數(shù),方便訪問類中的成員 ;3.2 界面設(shè)計主函數(shù)中運用ASCII字符以及endl換行符構(gòu)造一個友好而簡潔的界面。void main() cout*歡迎來到學(xué)生成績查詢系統(tǒng)*endl; cout請選擇您需要的操作!endl; /菜單的輸出
9、 cout操作:endl; cout(1)數(shù)據(jù)錄入endl; cout(2)增加學(xué)生endl; cout(3)刪除學(xué)生endl; cout(4)修改數(shù)據(jù)endl; cout查詢:endl; cout(5)按總成績查詢endl; cout(6)按姓名查詢endl; cout(7)輸出所有學(xué)生的數(shù)據(jù)endl; cout成績統(tǒng)計:endl; cout(8)每個學(xué)生的平均成績endl;cout(9)各科不及格人數(shù)endl;cout排名:endl; cout(10)按總分查詢排名endl; cout(11)退出endl;cout選擇相關(guān)操作請輸入相對的括號里的阿拉伯數(shù)字及字母!endl; 3.3主要功能
10、函數(shù)的設(shè)計主函數(shù)中通過switch()函數(shù)調(diào)用不同的功能,同時采用對文件的輸入輸出進而來保存刪除查找數(shù)據(jù)。(1)此函數(shù)為數(shù)據(jù)錄入的實現(xiàn)過程,程序用fstream類定義文件流對outfile,infile調(diào)用結(jié)構(gòu)函數(shù)打開磁盤文件f1.txt,用if語句判斷文件是否打開。case 1: /數(shù)據(jù)的錄入 char c; /用于在小項中選擇是否繼續(xù)操作 char name20; int number; float math,cpp,english; do cout請輸入姓名:name; cout請輸入學(xué)號:number; cout請輸入數(shù)學(xué)成績:math; cout請輸入C+成績:cpp; cout請輸
11、入英語成績:english; fstream outfile,infile; /作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) outfile.open(f1.txt,ios:out|ios:app); if(!file) coutf1.txt can not open.n; return; outfilename 學(xué)號:number 數(shù)學(xué)成績:math C+成績:cpp 外語成績:englishendl; outfile.close(); infile.open(f1.txt,ios:in); if(!file) /判斷文件是否打開 coutf1.txt can not open.n; ret
12、urn; char ch; while(infile.get(ch) coutch; coutendl; infile.close(); j+; si=new Tstu(name, number,math, cpp, english); i+; cout數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)c; chris1=0; do if(c!=y&c!=n) cout指令錯誤!請重新輸入!c; else chris1=1; while(chris1=0); while(c=y); /重復(fù)輸入 break; (2)此函數(shù)為按總分查詢的實現(xiàn)過程巧妙運用字母i,定義i的值為零時數(shù)據(jù)不存在, 1為是數(shù)據(jù)存在的情況
13、,查詢時考慮數(shù)據(jù)是否存在;然后利用指針調(diào)用分數(shù)。case 5:/按總分查詢 int j=0;float SUM;char c;int flag; if(i=0)cout系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!endl;break; do flag=0; cout請輸入您要查詢的學(xué)生的總成績:SUM; for(int j=0;jgetsum()=SUM) flag=1;cout您要查詢的學(xué)生是:(*sj).nameendl;cout該生的信息為:endl;cout 學(xué)號:(*sj).number 數(shù)學(xué)分數(shù):(*sj).math c+分數(shù):(*sj).cpp 英語分數(shù)(*sj).englishendl;
14、if(flag=0)cout對不起!您要查詢的學(xué)生不存在!endl;coutc;if(c!=y&c!=n)cout指令錯誤!請重新輸入!c; ;while(c=y);break;(3)此函數(shù)為按總分排名的實現(xiàn)過程,先利用指針調(diào)用總分函數(shù)sum,然后利用冒泡法進行總分的排序。case 10:/按總分排名 if(i=0)cout系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!endl;break; int h,g,n;int j=0;float a100,temp; for(g=0;gi;g+) aj=(*sg).getsum();j+; for(h=0;hi;h+) for(n=0;nan+1) temp=a
15、n;an=an+1;an+1=temp; for(n=1;n=i;n+) coutanendl;break;第4章 系統(tǒng)調(diào)試運行4.1程序運行結(jié)果通過單步跟蹤,動態(tài)調(diào)試,程序成功運行,運行和測試的一些結(jié)果如圖4-1到4-5所示。圖4-1系統(tǒng)的主界面圖4-2學(xué)生成績的錄入 圖4-3系統(tǒng)的主界面圖4-4各科不及格人數(shù)統(tǒng)計圖4-5 所有學(xué)生成績輸出 4.2程序結(jié)果分析系統(tǒng)性能相對穩(wěn)定,能達到要求的操作,根據(jù)界面的要求輸入數(shù)字,以及相關(guān)的信息,便可以對學(xué)生成績進行管理。每一個case都能執(zhí)行,但是有很多的地方都不夠完善,例如:在總成績排序中,只能輸出總成績,不能單獨的輸出學(xué)生的相應(yīng)的信息;每次進行別的
16、操作之前都要在進行一次數(shù)據(jù)的錄入,不能直接對原有的文件進行讀取。課程設(shè)計體會這次實習(xí)讓我意識到了自身知識的欠缺,原本以為掌握的不錯的知識,到了這時卻發(fā)現(xiàn)了欠缺,很多很簡單的語法,像do while 也可以變得如此復(fù)雜神奇。讓我明白了掌握一門計算機語言的語法僅僅是最基本的要求,更重要的是運用去綜合,而語言的綜合則要求對各個知識點的良好掌握。 通過這次明白了C+等語言只是工具,重要的是思路,但僅僅有思路,工具掌握的不好,又會無從下手。同時也要加強自己的讀寫長代碼的能力。只有通過不斷讀,不斷的寫,才能把語言運用到實際,而不是僅僅停留在膚淺的理論層次。同時感謝老師貫穿實習(xí)過程的不厭其煩的指導(dǎo)。參考文獻
17、1譚浩強著,c+面向?qū)ο蟪绦蛟O(shè)計,清華大學(xué)出版社1譚浩強著, C+面向?qū)ο蟪绦蛟O(shè)計題解與上機指導(dǎo)清華大學(xué)出版社3錢能編著,c+程序設(shè)計教程,清華大學(xué)出版社4譚浩強編著,c程序設(shè)計題解與上機指導(dǎo),清華大學(xué)出版社5呂鳳煮著,C+語言基礎(chǔ)教程,清華大學(xué)出版社6RobertL.Kruse著,C+數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計,清華大學(xué)出版社 附錄:原程序#include #include #include#include#includeusing namespace std; class Tstu /通過定義一個類來定義數(shù)據(jù)錄入的函數(shù) char name20; int number; float math,cpp
18、,english,average,sum; public: Tstu() ; Tstu ( char n20, int num,float ma,float cj,float eng ) ; float getsum();/得到總分的函數(shù) float getaver(); /得到平均分的函數(shù) friend void main(); /將主函數(shù)定義為友元函數(shù),方便訪問類中的成員 ; Tstu:Tstu ( char n20, int num,float ma,float cj,float eng ) strcpy(name,n); /得到姓名 number=num; /得到學(xué)號 math=ma;
19、 /得到數(shù)學(xué)成績 cpp=cj; /得到c+成績 english=eng; /得到英語成績 float Tstu:getsum() /得到總分的函數(shù) sum=cpp+english+math; return sum; float Tstu:getaver() /得到平均分的函數(shù) average=getsum()/3; return average; void main() cout*歡迎來到學(xué)生成績查詢系統(tǒng)*endl; cout請選擇您需要的操作!endl; /菜單的輸出 cout操作:endl; cout(1)數(shù)據(jù)錄入endl; cout(2)增加學(xué)生endl; cout(3)刪除學(xué)生end
20、l; cout(4)修改數(shù)據(jù)endl; cout查詢:endl; cout(5)按總成績查詢endl; cout(6)按姓名查詢endl; cout(7)輸出所有學(xué)生的數(shù)據(jù)endl; cout成績統(tǒng)計:endl; cout(8)每個學(xué)生的平均成績endl; cout(9)各科不及格人數(shù)endl; cout排名:endl; cout(10)按總分查詢排名endl; cout(11)退出endl; cout選擇相關(guān)操作請輸入相對的括號里的阿拉伯數(shù)字及字母!p; if(p=1&p=11) chris1=1; else cout指令錯誤!請重新輸入:endl; while(chris1=0); do
21、switch(p) case 1: /數(shù)據(jù)的錄入 char c; /用于在小項中選擇是否繼續(xù)操作 char name20; int number; float math,cpp,english; do cout請輸入姓名:name; cout請輸入學(xué)號:number; cout請輸入數(shù)學(xué)成績:math; cout請輸入C+成績:cpp; cout請輸入英語成績:english; fstream outfile,infile; /作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) outfile.open(f1.txt,ios:out|ios:app); if(!file) coutf1.txt ca
22、n not open.n; return; outfilename 學(xué)號:number 數(shù)學(xué)成績:math C+成績:cpp 外語成績:englishendl; outfile.close(); infile.open(f1.txt,ios:in); if(!file) /判斷文件是否打開 coutf1.txt can not open.n; return; char ch; while(infile.get(ch) coutch; coutendl; infile.close(); j+; si=new Tstu(name, number,math, cpp, english); i+; c
23、out數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)c; chris1=0; do if(c!=y&c!=n) cout指令錯誤!請重新輸入!c; else chris1=1; while(chris1=0); while(c=y); /重復(fù)輸入 break; case 2: /增加學(xué)生數(shù)據(jù) char name20; int number; float math,cpp,english; char c; do cout請輸入您要增加的學(xué)生的姓名:name; cout請輸入你要增加的學(xué)生的學(xué)號:number; cout請輸入數(shù)學(xué)成績:math; cout請輸入C+成績:cpp; cout請輸入英語成績:e
24、nglish; fstream outfile,infile; outfile.open(f1.txt,ios:out|ios:app); if(!file) coutf1.txt can not open.n; return; outfilename 學(xué)號:number 數(shù)學(xué)成績:math C+成績:cpp 外語成績:englishendl; outfile.close(); infile.open(f1.txt,ios:in); if(!file) coutf1.txt can not open.n; return; char h; while(infile.get(h) couth; c
25、outendl; infile.close(); j+; si=new Tstu(name,number, math, cpp, english); i+; cout數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)c; if(c!=y&c!=n) cout指令錯誤!請重新輸入!c; while(c=y); break; case 3:/刪除學(xué)生信息 char c; string xingming,line,str,name; do ifstream fin(f1.txt); fstream outfile(f2.txt,ios:trunc|ios:out); /作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù)
26、 cout請輸入您要刪除的學(xué)生的姓名:xingming; while(!fin.eof() ) getline(fin,line); istringstream stream(line); name = line.substr(0,line.find( ,0);/找到名字,判斷是否相等 if(name != xingming) outfilelineendl; outfile.close(); fin.close(); fstream f(f1.txt,ios:trunc|ios:out); ifstream outf(f2.txt); foutf.rdbuf(); outf.close();
27、 f.close(); cout數(shù)據(jù)刪除成功,想繼續(xù)刪除嗎(y/n)c; if(c!=y&c!=n) cout指令錯誤!請重新輸入!c; while(c=y); break; case 4:/修改數(shù)據(jù) string sname,line,str,name; int nu;float eng,ma,com;int flag;char c;if(i=0)cout系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!endl;break;do flag=0; coutname; fstream fin(f1.txt,ios:in); ofstream outfile(f.txt,ios:trunc|ios:out);
28、coutendl; while(!fin.eof() ) /在文件中查找 getline(fin,line); istringstream stream(line); sname = line.substr(0,line.find( ,0);if(name!=sname)outfilelineendl;else flag=1; fin.close(); if(flag=1) coutnamenumacomeng;coutendl;outfilename 學(xué)號:nu 數(shù)學(xué)成績:ma C+成績:com 外語成績:engendl; outfile.close();fstream outf(f1.tx
29、t,ios:trunc|ios:out);fstream inf(f.txt,ios:in);outfinf.rdbuf()endl;outf.close();inf.close(); if(flag=0)cout對不起,您要修改的學(xué)生不存在!請查證后輸入!endl; coutc; coutendl; if(c!=y&c!=n) cout 指令錯誤!請重新輸入!endlc; while(c=y);break; case 5:/按總分查詢 int j=0;float SUM;char c;int flag; if(i=0)cout系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!endl;break; do f
30、lag=0; cout請輸入您要查詢的學(xué)生的總成績:SUM; for(int j=0;jgetsum()=SUM) flag=1;cout您要查詢的學(xué)生是:(*sj).nameendl;cout該生的信息為:endl;cout 學(xué)號:(*sj).number 數(shù)學(xué)分數(shù):(*sj).math c+分數(shù):(*sj).cpp 英語分數(shù)(*sj).englishendl; if(flag=0)cout對不起!您要查詢的學(xué)生不存在!endl;coutc;if(c!=y&c!=n)cout指令錯誤!請重新輸入!c; ; while(c=y); break; case 6:/按姓名查詢 char n20;c
31、har c;int j=0;int flag; if(i=0)cout系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!endl;break; do flag=0; cout請輸入要查詢的名字: n; for(int j=0;ji;j+) if(strcmp(n,(*sj).name)=0)flag=1;cout您要查詢的學(xué)生是:(*sj).nameendl;cout該生的信息是:學(xué)號:(*sj).number 數(shù)學(xué)分數(shù):(*sj).mathc+分數(shù):(*sj).cpp英語分數(shù):(*sj).englishendl; if(flag=0)cout對不起您要查詢的學(xué)生不存在,請查證后再輸入!endl;coutc;
32、if(c!=y&c!=n)cout指令錯誤!請重新輸入:c; while(c=y); break; case 7:/輸出所有學(xué)生數(shù)據(jù) cout所有學(xué)生數(shù)據(jù)如下:endl; ifstream file; file.open(f1.txt,ios:in); coutfile.rdbuf(); file.close(); break; case 8:/統(tǒng)計每個學(xué)生的平均成績 if(i=0) cout系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!endl;break; for(int m=0;mi;m+) cout(*sm).name 學(xué)號:(*sm).number 總分:(*sm).getsum() 均分:(*
33、sm).getaver()endl; break; case 9:/統(tǒng)計各學(xué)科不及格人數(shù) if(i=0) cout系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!endl;break; int m,n,k,j;m=0;n=0;k=0; for(j=0;jmathcppenglish60)k+; cout數(shù)學(xué)不及格人數(shù)為:mendl; coutc+不及格人數(shù)為:nendl; cout英語不及格人數(shù)為:kendl; break; case 10:/按總分排名 if(i=0)cout系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!endl;break; int h,g,n;int j=0;float a100,temp; fo
34、r(g=0;gi;g+) aj=(*sg).getsum();j+; for(h=0;hi;h+) for(n=0;nan+1) temp=an;an=an+1;an+1=temp; for(n=1;n=i;n+) coutanendl; break; coutw; coutendl; if(w!=y&w!=n) cout 指令錯誤!請重新輸入!endl; else flag=1; while(flag=0); if(w=y) cout*歡迎來到學(xué)生成績查詢系統(tǒng)*endl; cout請選擇您需要的操作!endl; /菜單的輸出 cout操作:endl; cout(1)數(shù)據(jù)錄入endl; cou
35、t(2)增加學(xué)生endl; cout(3)刪除學(xué)生endl; cout(4)修改數(shù)據(jù)endl; cout查詢:endl; cout(5)按總成績查詢endl; cout(6)按姓名查詢endl; cout(7)輸出所有學(xué)生的數(shù)據(jù)endl; cout成績統(tǒng)計:endl; cout(8)每個學(xué)生的平均成績endl; cout(9)各科不及格人數(shù)endl; cout排名:endl; cout(10)按總分查詢排名endl; cout(11)退出endl; cout選擇相關(guān)操作請輸入相對的括號里的阿拉伯數(shù)字及字母!p; while(w=y); #include #include #include#in
36、clude#includeusing namespace std; class Tstu /通過定義一個類來定義數(shù)據(jù)錄入的函數(shù) char name20; int number; float math,cpp,english,average,sum; public: Tstu() ; Tstu ( char n20, int num,float ma,float cj,float eng ) ; float getsum();/得到總分的函數(shù) float getaver(); /得到平均分的函數(shù) friend void main(); /將主函數(shù)定義為友元函數(shù),方便訪問類中的成員 ; Tstu:
37、Tstu ( char n20, int num,float ma,float cj,float eng ) strcpy(name,n); /得到姓名 number=num; /得到學(xué)號 math=ma; /得到數(shù)學(xué)成績 cpp=cj; /得到c+成績 english=eng; /得到英語成績 float Tstu:getsum() /得到總分的函數(shù) sum=cpp+english+math; return sum; float Tstu:getaver() /得到平均分的函數(shù) average=getsum()/3; return average; void main() cout*歡迎來到
38、學(xué)生成績查詢系統(tǒng)*endl; cout請選擇您需要的操作!endl; /菜單的輸出 cout操作:endl; cout(1)數(shù)據(jù)錄入endl; cout(2)增加學(xué)生endl; cout(3)刪除學(xué)生endl; cout(4)修改數(shù)據(jù)endl; cout查詢:endl; cout(5)按總成績查詢endl; cout(6)按姓名查詢endl; cout(7)輸出所有學(xué)生的數(shù)據(jù)endl; cout成績統(tǒng)計:endl; cout(8)每個學(xué)生的平均成績endl; cout(9)各科不及格人數(shù)endl; cout排名:endl; cout(10)按總分查詢排名endl; cout(11)退出endl; cout選擇相關(guān)操作請輸入相對的括號里的阿拉伯數(shù)字及字母!p; if(p=1&p=11) chris1=1; else cout指令錯誤!請重新輸入:endl; while(chris1=0); do switch(p) case 1: /數(shù)據(jù)的錄入 char c; /用于在小項中選擇是否繼續(xù)操作 char name20; int number; float math,cpp,english;
- 溫馨提示:
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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 同濟六版高等數(shù)學(xué)第一章第八節(jié)
- 市場細分目標市場選擇
- ada-關(guān)于供配電變壓器高壓側(cè)過流保護兼做低壓側(cè)故障的靈敏性校驗問題的分析
- 咨詢常見思想誤區(qū)及常用咨詢技巧課件
- 每周講堂:眾籌課件
- 公司治理內(nèi)部控制
- 金屬活動性順序?qū)n}復(fù)習(xí)
- 10.2二元一次方程組 (2)(精品)
- 《邊城》人物形象分析
- 《論文綜述》寫法PPT課件
- 廣州物流人才分析報告
- 數(shù)碼管靜態(tài)顯示及定時器和中斷應(yīng)
- 同步電機的基本類型和基本結(jié)構(gòu)
- BI基礎(chǔ)概念培訓(xùn)教材
- 商品的使用價值和價值課件