高級(jí)程序設(shè)計(jì)語言課程設(shè)計(jì)- 學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
《高級(jí)程序設(shè)計(jì)語言課程設(shè)計(jì)- 學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《高級(jí)程序設(shè)計(jì)語言課程設(shè)計(jì)- 學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(51頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 河南工程學(xué)院《高級(jí)程序設(shè)計(jì)語言》課程設(shè)計(jì) 成果報(bào)告 學(xué)生成績管理系統(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é)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 考核項(xiàng)目 考核內(nèi)容 得分 平時(shí)考核 (30分)出勤情況、態(tài)度、效率;知識(shí)掌握情況、基本操作技能、知識(shí)應(yīng)用能力、獲取知識(shí)能力 系
2、統(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) 成 績 指導(dǎo)教師評(píng)語: 日期: 年 月 日 目 錄 第1章 系統(tǒng)設(shè)計(jì)目的 1 1.1?課程設(shè)計(jì)目的 1 1.2課程設(shè)計(jì)要求 1 1
3、.3課程設(shè)計(jì)題目 1 第2章 系統(tǒng)實(shí)現(xiàn)思路 3 2.1構(gòu)造系統(tǒng)框架 3 2.2進(jìn)行內(nèi)容填充 3 第3章 系統(tǒng)詳細(xì)設(shè)計(jì) 4 3.1根據(jù)所包含的內(nèi)容確定頭文件 4 3.2構(gòu)造一個(gè)類存放功能函數(shù) 4 3.3設(shè)計(jì)一個(gè)讓用戶執(zhí)行操作的界面 4 3.4用do-while語句進(jìn)行主函數(shù)循環(huán) 6 3.5錄入操作 6 3.6刪除操作 8 3.7修改操作 9 3.8查詢操作 11 3.9輸出成績操作 12 3.10平均成績輸出操作 13 3.11掛科人數(shù)統(tǒng)計(jì)操作 14 3.12輸出名次操作 15 第4章 系統(tǒng)調(diào)試運(yùn)行 16 4.1分步驟調(diào)試 16 4.2總調(diào)試結(jié)果 17 課
4、程設(shè)計(jì)體會(huì) 28 參考文獻(xiàn) 29 第1章 系統(tǒng)設(shè)計(jì)目的 1.1?課程設(shè)計(jì)目的 (1)通過《高級(jí)程序設(shè)計(jì)語言》課程設(shè)計(jì),將學(xué)到的面向?qū)ο蟮某绦蛟O(shè)計(jì)思想用到具體的工作和學(xué)習(xí)中,加深對(duì)類與對(duì)象的理解,是將計(jì)算機(jī)課程與實(shí)際問題相聯(lián)接的關(guān)鍵步驟。通過課程設(shè)計(jì),能夠提高學(xué)生分析問題、解決問題,從而運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的能力。 (2)通過本課程設(shè)計(jì),進(jìn)一步深化掌握C++語言的基本知識(shí);掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本方法和設(shè)計(jì)技巧,初步了解算法分析與設(shè)計(jì)概念;理解面向?qū)ο蟪绦蛟O(shè)計(jì)思想,初步具備運(yùn)用面向?qū)ο蟪绦蛟O(shè)計(jì)方法進(jìn)行程序設(shè)計(jì)的能力。能熟練應(yīng)用VC++集成環(huán)境進(jìn)行C++語言程序
5、的編寫、編譯與調(diào)試,提高學(xué)生對(duì)本課程知識(shí)綜合運(yùn)用能力。 1.2課程設(shè)計(jì)要求 根據(jù)提供的實(shí)習(xí)題目,認(rèn)真完成軟件設(shè)計(jì)的全部過程,并以最終軟件設(shè)計(jì)成果來證明其獨(dú)立完成實(shí)際任務(wù)的能力,從而,反映出理解和運(yùn)用C++程序知識(shí)的水平和能力,最后完成軟件設(shè)計(jì)和程序調(diào)試并提交文檔:課程設(shè)計(jì)報(bào)告書,報(bào)告書中包含設(shè)計(jì)的算法及部分程序代碼。 1.3課程設(shè)計(jì)題目 (1)設(shè)計(jì)四個(gè)類;學(xué)生類(描述學(xué)生基本信息);成績類:班級(jí)類;課程類(描述課程信息:課程編號(hào),科目名稱(如高等數(shù)學(xué),大學(xué)英語等);學(xué)生成績及課程信息用文件保存,每個(gè)類一個(gè)文件,程序執(zhí)行時(shí)從文件讀入;? (2)能按學(xué)期,按班級(jí)完成對(duì)學(xué)生成績的錄入
6、,修改,能按班級(jí)統(tǒng)計(jì)學(xué)生的成績;求學(xué)生的總分及平均分;并能根據(jù)學(xué)生的平均成績進(jìn)行排序,能查詢學(xué)生成績,不及格科目及學(xué)生名單;能按班級(jí)輸出學(xué)生的成績單。? 設(shè)置學(xué)生的成績信息:學(xué)生學(xué)號(hào)、姓名、所選課程名稱、平時(shí)成績、期末成績、平時(shí)成績所占百分比? 計(jì)算學(xué)生總評(píng)成績:總評(píng)成績=平時(shí)成績*平時(shí)成績所占百分比+期末成績*(1-平時(shí)成績所占百分比)? 顯示學(xué)生的姓名、所選課程名稱以及平時(shí)成績、期末成績和總評(píng)成績信息。分單人顯示和以班輸出(班成績單格式輸出到文件)? ? 注意,至少一個(gè)班,30人三門課。 第2章 系統(tǒng)實(shí)現(xiàn)思路 2
7、.1構(gòu)造系統(tǒng)框架
根據(jù)給的成績系統(tǒng)的題目,自己設(shè)計(jì)一個(gè)框架,頭文件、功能函數(shù)類、功能類、函數(shù)、主函數(shù)等。
#include
8、 class student{ };//學(xué)生類(查詢學(xué)生信息) class grade{ };//成績類(對(duì)學(xué)生成績的操作) class classes{ };//學(xué)生的班級(jí)信息 class subject{ };//學(xué)科的分類。 void main(){ }……//主函數(shù)。 2.2進(jìn)行內(nèi)容填充 根據(jù)自己構(gòu)造的框架,給對(duì)應(yīng)的類和函數(shù)加入需要實(shí)現(xiàn)的功能。如LR類就是為了實(shí)現(xiàn)對(duì)函數(shù)的錄入和功能函數(shù)(求均分,總分)的聲明。調(diào)理清楚的編程才會(huì)讓工作量最簡化,錯(cuò)誤最少化。 第3章 系統(tǒng)詳細(xì)設(shè)計(jì) 3.1根據(jù)所包含的內(nèi)容確定頭文件 一個(gè)程序里面要用到什么樣的
9、數(shù)據(jù),程序員必須要有一個(gè)清晰的認(rèn)識(shí)。所以程序員寫上必要的頭文件是很重要的一個(gè)步驟。
#include
10、LR //通過定義一個(gè)類來定義數(shù)據(jù)錄入的函數(shù) { private: char name[20]; int number; float math,cpp,english,average,sum; public: LR() {}; LR ( char n[20], int num,float ma,float cj,float eng ) ; float getsum();//得到總分. float getaver(); //得到平均分. friend void main(); //將主函數(shù)定義為友元函數(shù),方便訪問類中的成員 . }; 3.3設(shè)計(jì)
11、一個(gè)讓用戶執(zhí)行操作的界面
成功的程序員就是要用戶不懂程序的情況下能看得懂編寫程序的用意,所以設(shè)計(jì)一個(gè)生動(dòng)的用戶執(zhí)行操作界面是很重要的一個(gè)環(huán)節(jié)。
cout<<"**********************歡迎來到成績查詢系統(tǒng)***********************"< 12、endl;
cout<<"(2)刪除信息"< 13、dl;
cout<<"(6)平均成績"< 14、***********歡迎來到成績查詢系統(tǒng)***********************"< 15、e(chris1=0);
do{
switch(p){
}while(w=='y');
};
當(dāng)然里面也會(huì)插入do-while條件句進(jìn)行循環(huán)。
3.5錄入操作
進(jìn)行對(duì)學(xué)生信息和成績的存入操作。
case 1://數(shù)據(jù)存入
{char c; //用于在小項(xiàng)中選擇是否繼續(xù)操作
char name[20]; int number;
float math,cpp,english;
do{ cout<<"請(qǐng)輸入姓名:"< 16、ndl; cin>>number;
cout<<"請(qǐng)輸入數(shù)學(xué)成績:"< 17、en.\n";
return; }
outfile< 18、 return;}
char ch;
while(infile.get(ch))
cout< 19、l;
cin>>c;
chris1=0;
do{
if(c!='y'&&c!='n')
{ cout<<"指令錯(cuò)誤!請(qǐng)重新輸入!"< 20、//數(shù)據(jù)刪除
{ char c;
string xingming,line,str,name;
do { ifstream fin("f1.txt");
fstream outfile("f2.txt",ios::trunc|ios::out); //作一個(gè)文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù)
cout<<"請(qǐng)輸入您要?jiǎng)h除的學(xué)生的姓名:"< 21、in>>xingming;
while(!fin.eof() )
{
getline(fin,line);
istringstream stream(line);
name = line.substr(0,line.find(" ",0));//找到名字,判斷是否相等
if(name != xingming)
outfil 22、e< 23、 f.close();
cout<<"數(shù)據(jù)刪除成功,想繼續(xù)刪除嗎(y/n)"< 24、修改操作
進(jìn)行對(duì)已知錯(cuò)誤信息的修改操作:
case 3://修改數(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ù),請(qǐng)先輸入數(shù)據(jù)!"< 25、stream outfile("f.txt",ios::trunc|ios::out);
cout< 26、e flag=1;
}
fin.close();
if(flag=1)
{
cout<<"請(qǐng)輸入修改學(xué)生姓名及其新學(xué)號(hào),數(shù)學(xué),c++和英語成績:";
cin>>name>>nu>>ma>>com>>eng;
cout< 27、 fstream outf("f1.txt",ios::trunc|ios::out);
fstream inf("f.txt",ios::in);
outf< 28、(c!='y'&&c!='n')
{
cout<<" 指令錯(cuò)誤!請(qǐng)重新輸入!"< 29、 {
flag=0;
cout<<"請(qǐng)輸入要查詢的名字: "< 30、]).cpp<<"英語分?jǐn)?shù):"<<(*s[j]).english<
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識(shí)與測(cè)量1平面圖形的認(rèn)識(shí)練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識(shí)作業(yè)課件新人教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)期末豐收?qǐng)@作業(yè)課件蘇教版
- 2023年六年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級(jí)語文上冊(cè)第六單元知識(shí)要點(diǎn)習(xí)題課件新人教版
- 2022春一年級(jí)語文下冊(cè)課文5識(shí)字測(cè)評(píng)習(xí)題課件新人教版
- 2023年六年級(jí)數(shù)學(xué)下冊(cè)6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版