高級程序設(shè)計(jì)語言課程設(shè)計(jì)- 學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
《高級程序設(shè)計(jì)語言課程設(shè)計(jì)- 學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《高級程序設(shè)計(jì)語言課程設(shè)計(jì)- 學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(51頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 河南工程學(xué)院《高級程序設(shè)計(jì)語言》課程設(shè)計(jì) 成果報(bào)告 學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生學(xué)號: 學(xué)生姓名: 學(xué) 院: 計(jì)算機(jī)學(xué)院 專業(yè)班級: 軟件工程1341班 專業(yè)課程: 《高級程序設(shè)計(jì)語言》 指導(dǎo)教師: 2014 年 6 月 27 日 題 目 學(xué)生成績管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 考核項(xiàng)目 考核內(nèi)容 得分 平時(shí)考核 (30分)出勤情況、態(tài)度、效率;知識掌握情況、基本操作技能、知識應(yīng)用能力、獲取知識能力 系
2、統(tǒng)設(shè)計(jì) (20分)分析系統(tǒng)的功能模塊 編程調(diào)試 (20分)實(shí)現(xiàn)系統(tǒng)的各個(gè)功能模塊,并完成調(diào)試 回答問題 (15分)回答老師針對課程設(shè)計(jì)提出的問題 課程設(shè)計(jì)報(bào)告撰寫 (10分)嚴(yán)格按照規(guī)范要求完成課程設(shè)計(jì)報(bào)告 源代碼 (5分)按照規(guī)范要求完成課程設(shè)計(jì)源代碼的排版 總 評 成 績 指導(dǎo)教師評語: 日期: 年 月 日 目 錄 第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ì)體會 28 參考文獻(xiàn) 29 第1章 系統(tǒng)設(shè)計(jì)目的 1.1?課程設(shè)計(jì)目的 (1)通過《高級程序設(shè)計(jì)語言》課程設(shè)計(jì),將學(xué)到的面向?qū)ο蟮某绦蛟O(shè)計(jì)思想用到具體的工作和學(xué)習(xí)中,加深對類與對象的理解,是將計(jì)算機(jī)課程與實(shí)際問題相聯(lián)接的關(guān)鍵步驟。通過課程設(shè)計(jì),能夠提高學(xué)生分析問題、解決問題,從而運(yùn)用所學(xué)知識解決實(shí)際問題的能力。 (2)通過本課程設(shè)計(jì),進(jìn)一步深化掌握C++語言的基本知識;掌握結(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é)生對本課程知識綜合運(yùn)用能力。 1.2課程設(shè)計(jì)要求 根據(jù)提供的實(shí)習(xí)題目,認(rèn)真完成軟件設(shè)計(jì)的全部過程,并以最終軟件設(shè)計(jì)成果來證明其獨(dú)立完成實(shí)際任務(wù)的能力,從而,反映出理解和運(yùn)用C++程序知識的水平和能力,最后完成軟件設(shè)計(jì)和程序調(diào)試并提交文檔:課程設(shè)計(jì)報(bào)告書,報(bào)告書中包含設(shè)計(jì)的算法及部分程序代碼。 1.3課程設(shè)計(jì)題目 (1)設(shè)計(jì)四個(gè)類;學(xué)生類(描述學(xué)生基本信息);成績類:班級類;課程類(描述課程信息:課程編號,科目名稱(如高等數(shù)學(xué),大學(xué)英語等);學(xué)生成績及課程信息用文件保存,每個(gè)類一個(gè)文件,程序執(zhí)行時(shí)從文件讀入;? (2)能按學(xué)期,按班級完成對學(xué)生成績的錄入
6、,修改,能按班級統(tǒng)計(jì)學(xué)生的成績;求學(xué)生的總分及平均分;并能根據(jù)學(xué)生的平均成績進(jìn)行排序,能查詢學(xué)生成績,不及格科目及學(xué)生名單;能按班級輸出學(xué)生的成績單。? 設(shè)置學(xué)生的成績信息:學(xué)生學(xué)號、姓名、所選課程名稱、平時(shí)成績、期末成績、平時(shí)成績所占百分比? 計(jì)算學(xué)生總評成績:總評成績=平時(shí)成績*平時(shí)成績所占百分比+期末成績*(1-平時(shí)成績所占百分比)? 顯示學(xué)生的姓名、所選課程名稱以及平時(shí)成績、期末成績和總評成績信息。分單人顯示和以班輸出(班成績單格式輸出到文件)? ? 注意,至少一個(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{ };//成績類(對學(xué)生成績的操作) class classes{ };//學(xué)生的班級信息 class subject{ };//學(xué)科的分類。 void main(){ }……//主函數(shù)。 2.2進(jìn)行內(nèi)容填充 根據(jù)自己構(gòu)造的框架,給對應(yīng)的類和函數(shù)加入需要實(shí)現(xiàn)的功能。如LR類就是為了實(shí)現(xiàn)對函數(shù)的錄入和功能函數(shù)(求均分,總分)的聲明。調(diào)理清楚的編程才會讓工作量最簡化,錯(cuò)誤最少化。 第3章 系統(tǒng)詳細(xì)設(shè)計(jì) 3.1根據(jù)所包含的內(nèi)容確定頭文件 一個(gè)程序里面要用到什么樣的
9、數(shù)據(jù),程序員必須要有一個(gè)清晰的認(rèn)識。所以程序員寫上必要的頭文件是很重要的一個(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è)生動的用戶執(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)然里面也會插入do-while條件句進(jìn)行循環(huán)。
3.5錄入操作
進(jìn)行對學(xué)生信息和成績的存入操作。
case 1://數(shù)據(jù)存入
{char c; //用于在小項(xiàng)中選擇是否繼續(xù)操作
char name[20]; int number;
float math,cpp,english;
do{ cout<<"請輸入姓名:"< 16、ndl; cin>>number;
cout<<"請輸入數(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ò)誤!請重新輸入!"< 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<<"請輸入您要?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)行對已知錯(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ù),請先輸入數(shù)據(jù)!"< 25、stream outfile("f.txt",ios::trunc|ios::out);
cout< 26、e flag=1;
}
fin.close();
if(flag=1)
{
cout<<"請輸入修改學(xué)生姓名及其新學(xué)號,數(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ò)誤!請重新輸入!"< 29、 {
flag=0;
cout<<"請輸入要查詢的名字: "< 30、]).cpp<<"英語分?jǐn)?shù):"<<(*s[j]).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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 造林密度(共28張PPT)
- 皮膚的色斑與美白祛斑化妝品2022優(yōu)秀文檔
- Module+3+My+schoolUnit+3+Language+in+use(共21張PPT)
- 三年級語文上冊 鹿柴 3課件 人教
- 根管長度的確定方法---電測法
- 看云識天氣 (4)(教育精品)
- 人教部編版二年級上冊語文課件坐井觀天
- 人教部編版二年級《媽媽睡了》課件1
- 護(hù)士執(zhí)照模擬考試 專業(yè)務(wù)實(shí)
- 焦?fàn)t-焦炭的生產(chǎn)
- 集團(tuán)財(cái)務(wù)軟件解決方案
- 蘇教版五上8成語故事2(教育精品)
- 七八九乘法口決求商
- 四年級英語下冊Unit3BankorBeach
- 土壤重金屬污染修復(fù)課件