欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計報告

上傳人:na****u 文檔編號:61267301 上傳時間:2022-03-11 格式:DOC 頁數(shù):38 大?。?75KB
收藏 版權申訴 舉報 下載
學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計報告_第1頁
第1頁 / 共38頁
學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計報告_第2頁
第2頁 / 共38頁
學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計報告_第3頁
第3頁 / 共38頁

下載文檔到電腦,查找使用更方便

30 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計報告》由會員分享,可在線閱讀,更多相關《學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計報告(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 河南工程學院《高級程序設計語言》課程設計 成果報告 學生成績管理系統(tǒng)設計與實現(xiàn) 學生學號: 學生姓名: 學 院: 計算機學院 專業(yè)班級: 軟件工程 1341 專業(yè)課程: 《高級程序設計語言》 指導教師: 2014 年 6 月 27 日 題 目 學生成績管理系統(tǒng)設計與實現(xiàn) 考核項目 考核內容 得分 平時考核 (30分)出勤情況、態(tài)度、效率;知識掌握情況、基本操作技能、知識應用能力、獲取知識能力

2、系統(tǒng)設計 (20分)分析系統(tǒng)的功能模塊 編程調試 (20分)實現(xiàn)系統(tǒng)的各個功能模塊,并完成調試 回答問題 (15分)回答老師針對課程設計提出的問題 課程設計報告撰寫 (10分)嚴格按照規(guī)范要求完成課程設計報告 源代碼 (5分)按照規(guī)范要求完成課程設計源代碼的排版 總 評 成 績 指導教師評語: 日期: 年 月 日 目 錄 第1章 系統(tǒng)設計目的 1 1.1 課程設計目的 1 1.2 系統(tǒng)設計要求

3、 1 第2章 系統(tǒng)實現(xiàn)思路 2 2.1設計程序 2 2.2系統(tǒng)功能的分析 2 2.3程序流程圖 2 第3章 系統(tǒng)詳細設計 3 3.1 程序首頁 3 3.2錄入模塊 6 3.3 增加模塊 7 3.4刪除模塊 10 3.5修改模塊 11 3.6查詢模塊 12 3.7統(tǒng)計模塊 13 第4章 系統(tǒng)調試運行 14 4.1 程序運行 14 4.2 錄入功能 14 4.3增加功能 15 4.4刪除功能 16 課程設計體會 17 參考文獻 18 第1章 系統(tǒng)設計目的 1.1 課程設計目的 在計算機領域中,任何好的創(chuàng)意和設計最終都需要通過高水平的程

4、序設計實現(xiàn),因此學習程序設計是計算機及相關專業(yè)學生必備的基本技能之一。為了使學生更好的學習和掌握這一基本技能,必須系統(tǒng)而全面地的安排程序設計課程設計,目的是通過具體的課程設計,不僅使學生能夠進一步理解程序設計的基本概念,掌握基本的程序設計方法,培養(yǎng)良好的程序設計風格,同時還可以借助程序設計技巧的訓練,培養(yǎng)學生抽象思維、邏輯思維及統(tǒng)籌規(guī)劃的能力。 1.2 系統(tǒng)設計要求 (1)設計四個類,包括學生類(描述學生基本信息);成績類;班級類;課程類(描述課程信息:課程編號,科目名稱,如高等數(shù)學,大學英語等); (2)學生成績及課程信息用文件保存,程序執(zhí)行時從文件讀入; (3)能按學期,按班級完

5、成對學生成績的錄入、修改,能按班級統(tǒng)計學生的成績; (4)求學生的總分及平均分,并能根據(jù)學生的平均成績進行排序,能查詢學生成績,不及格科目及學生名單;能按班級輸出學生的成績單。 – 設置學生的成績信息:學生學號、姓名、所選課程名稱、平時成績、期末成績、平時成績所占百分比 – 計算學生總評成績:總評成績=平時成績*平時成績所占百分比+期末成績*(1-平時成績所占百分比) – 顯示學生的姓名、所選課程名稱以及平時成績、期末成績和總評成績信息。分單人顯示和以班輸出(班成績單格式輸出到文件) – 注意,至少應包含一個班、30人、三門課 第2章 系統(tǒng)實現(xiàn)思路 2

6、.1設計程序 采用現(xiàn)有的資源,先進的管理系統(tǒng)開發(fā)方案,充分利用學校現(xiàn)有的資源,減少開發(fā)中的時間和財力、物力、提高系統(tǒng)開發(fā)的水平和應用效果。系統(tǒng)就滿足學校的需求,例如學生信息的錄入、查詢、更新等。系統(tǒng)就具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)添加、刪除、修改等操作。 2.2系統(tǒng)功能的分析 錄入功能:為用戶提供相應的錄入功能。 查詢功能:為用戶提供查詢功能,可查詢允許范圍內的所有信息。 維護功能:為用戶提供查詢及相應的修改,刪除功能。 返回功能:為用戶提供相應操作后返回到主頁面。 2.3程序流程圖 流程程序圖是進行流程程序分析過程中最基本的工具,是程序分析中最基本、最重要的分

7、析技術。它運用工序圖標符號對生產現(xiàn)場的整個制造過程做詳細的記錄,以便對零部件、產品在整個制造過程中的生產、加工、檢驗、儲存等環(huán)節(jié)待作詳細的研究與分析,特別適用于分析生產過程中的成本浪費,提高經(jīng)濟效益。 流程圖:學生管理系統(tǒng) 操作 查詢 成績統(tǒng)計 按總成績排名 錄 入 增 加 成 績 刪 除 修 改 每個學生的平均成績 輸 出 姓. 名 各科不及格人數(shù) 圖2-3程序流程圖 第3章 系統(tǒng)詳細設計 3.1 程序首頁 程序運行后會出現(xiàn)一個間接地窗口,便于用戶查詢數(shù)據(jù)。 主函數(shù)用循環(huán)

8、體以及switch語句實現(xiàn)功能選擇。 主界面展示 **************歡迎來到學生成績查詢系統(tǒng)************** 請選擇需要的操作! (1)數(shù)據(jù)錄入 (2)增加學生 (3)刪除學生 (4)修改數(shù)據(jù) 查詢: (5)按總成績查詢 (6)按姓名查詢 (7)輸出所有學生的數(shù)據(jù) 成績統(tǒng)計: (8)每個學生的平均成績 (9)各個學科不及格人數(shù) 排名: (10)按總分查詢排名 (11)退出 選擇相關操作請輸入相對的括號里的阿拉伯數(shù)字及字母! 主程序代碼 void main() //

9、主函數(shù) { system("color 07e"); //設置當前窗口的背景色和前景色 0 = 黑色 8 = 灰色 // 1 = 藍色 9 = 淡藍色 // 2 = 綠色 A = 淡綠色 // 3 = 淺綠色 B = 淡淺綠色 // 4 = 紅色 C = 淡紅色 // 5 = 紫色 D = 淡紫色 // 6 = 黃色 E = 淡黃色 // 7 = 白色 F = 亮白色 cout<<"**********歡迎來到學生成績查詢系統(tǒng)**********"<

10、cout<<"(2)增加學生"<

11、out<<"(11)退出"<>p; if(p>=1&&p<=11) chris1=1; else cout<<"指令錯誤!請重新輸入:"<

12、 { switch(p) { case 1:{.............} //錄入功能 case 2:{.............} //增加功能 case 3:{.............} //刪除功能 case 4:{.............} //修改數(shù)據(jù)功能 case 5:{.............} //按成績查詢功能 case 6:{.............} //按姓名查詢功能 case 7:{.............} //輸出所有的數(shù)據(jù) case 8:{.............} //輸出學生的平均分 case 9:{..

13、...........} / /查詢不及格人數(shù) case 10:{.............} //總成績排名 }while(w=='y');//循環(huán)語句結束 } 3.2錄入模塊 根據(jù)程序的要求,我們建立了錄入功能的switch函數(shù),要求用戶輸入數(shù)據(jù),以便存入文檔,這就實現(xiàn)了數(shù)據(jù)的錄入。 case 1: //數(shù)據(jù)的錄入 char c; //用于在小項中選擇是否繼續(xù)操作 char name[20]; int number; int banji; float pmath,pcpp,penglish,psu

14、m,bl,sum,sump; float math,cpp,english; do{ cout<<"請輸入姓名:"<>name; cout<<"請輸入學號:"<>number; cout<<"請輸入班級:"<>banji; cout<<"請輸入數(shù)學成績:"<>math; co

15、ut<<"請輸入cpp成績:"<>cpp; cout<<"請輸入英語成績:"<>english; cout<<"請輸入平時數(shù)學成績:"<>pmath; cout<<"請輸入平時cpp成績:"<>pcpp; cout<<"請輸入平時英語成績:"<>penglish; cout<<

16、"平時成績所占比例"<>bl; sum=math+cpp+english; sump=pmath+pcpp+penglish; psum=sump*bl+sum*bl; fstream outfile,infile; //作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) 3.3 增加模塊 建立一個char的name的數(shù)組,用來對用戶實現(xiàn)數(shù)據(jù)的增加,即增加學生的姓名、學號、班級、成績等信息。 char name[20]; int numb

17、er; int banji; float math,cpp,english,bl,sum,sump,psum; float pmath,pcpp,penglish; char c; do { cout<<"請輸入您要增加的學生的姓名:"<>name; cout<<"請輸入你要增加的學生的學號:"<>

18、number; cout<<"請輸入班級:"<>banji; cout<<"請輸入數(shù)學成績:"<>math; cout<<"請輸入cpp成績:"<>cpp; cout<<"請輸入英語成績:"<>english; cout<<"請輸入平時數(shù)學成績:"<

19、 cin>>pmath; cout<<"請輸入平時cpp成績:"<>pcpp; cout<<"請輸入平時英語成績:"<>penglish; cout<<"平時成績所占比例"<>bl; sum=math+cpp+english; sump=pmath+pcpp+penglish; psum=sump*bl+s

20、um*bl; fstream outfile,infile; outfile.open("f1.txt",ios::out|ios::app); if(!file) { cout<<"f1.txt can not open.\n"; return; } outfile<

21、cpp成績:"<

22、 cout<<"f1.txt can not open.\n"; return; } char h; while(infile.get(h)) cout<

23、 banji,math, cpp, english,pmath, pcpp, penglish); i++; cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<

24、,name; do { ifstream fin("f1.txt"); fstream outfile("f2.txt",ios::trunc|ios::out); //作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) cout<<"請輸入您要刪除的學生的姓名:"<>xingming; while(!fin.eof() ) { getlin

25、e(fin,line); istringstream stream(line); name = line.substr(0,line.find(" ",0));//找到名字,判斷是否相等 if(name != xingming) outfile<

26、lose(); fstream f("f1.txt",ios::trunc|ios::out); ifstream outf("f2.txt"); f<

27、 為防止用戶不慎輸入錯誤信息,我們還建立了一個修改功能的文件,以實現(xiàn)用戶在輸入錯誤信息后可修改此信息。 string sname,line,str,name; int bj; int nu;float eng,ma,com,peng,pma,pcom,bl;int flag;char c; if(i==0){ cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<>name;

28、 fstream fin("f1.txt",ios::in); ofstream outfile("f.txt",ios::trunc|ios::out); cout<

29、<>name>>nu>>bj>>ma>>com>>eng>>pma>>pcom>>peng>>bl; cout<

30、<<"cpp成績:"<

31、 inf.close(); } if(flag=0)cout<<"對不起,您要修改的學生不存在!請查證后輸入!"<>c; 3.6查詢模塊 用戶既然可用程序進行信息的輸入、存檔,那么用戶便可對信息的查詢,用戶只需輸入相關的操作,便可查詢出學生的姓名、學號、成績等信息。 int j=0;float SUM;char c;int flag; if(i==0) { cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<

32、; } do { flag=0; cout<<"請輸入您要查詢的學生的總成績:"<>SUM; for(int j=0;jgetsum()==SUM) { flag=1; cout<<"您要查詢的學生是:"<<(*s[j]).name<

33、number<<"班級:"<<(*s[j]).banji<<" 數(shù)學分數(shù):"<<(*s[j]).math<<" cpp分數(shù):"<<(*s[j]).cpp<<" 英語分數(shù)"<<(*s[j]).english<<" 平時數(shù)學分數(shù):"<<(*s[j]).pmath<<" 平時cpp分數(shù):"<<(*s[j]).pcpp<<" 平時英語分數(shù)"<<(*s[j]).penglish<

34、 cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<

35、-1 系統(tǒng)主界面 4.2 錄入功能 當用戶進入到首頁面后,輸入1可進行數(shù)據(jù)的錄入功能,用戶可錄入學生的姓名、學號、成績等信息,并且儲存在文檔中。 圖4-3 錄入功能 4.3增加功能 在錄入學生信息后還想增加另一個學生的信息可選擇繼續(xù)錄入數(shù)據(jù),也可選擇增加學生,只需在首頁中輸入2即可進行增加操作。 圖4-3 增加功能 4.4刪除功能 進行數(shù)據(jù)的錄入或增加后,方可進行數(shù)據(jù)的刪除或修改,如需要對數(shù)據(jù)進行刪除只需輸入3即可進行此操作,在進行此操作時需輸入學生的姓名可刪除。 圖4-4 刪除功能 課程設計體會 長達一周的程序設計課程實

36、踐終于結束了,雖然整個過程不完全是自己一個人獨立完成的,而且做出來的結果也不是很好,但是在請教同學和老師的同時,對這方面也有了進一步的了解,對課程設計的內容也基本上進行了掌握。 通過這次實踐讓我認識到C++程序設計是一門實踐性很強的課程,學習程序設計不能僅限于紙上談兵,許多程序方法和技巧不是光靠聽課和看書就能學得到的,而是必須通過大量的上機實踐慢慢積累起來,程序設計能力的培養(yǎng)必須以實踐為重,近兩周的學習給了我鍛煉的機會。另外通過這次實踐,培養(yǎng)了自己做事認真,嚴謹?shù)膽B(tài)度。還有程序設計,程序編譯及運行過程中不可避免會出現(xiàn)不會、不懂的地方,出現(xiàn)程序錯誤以及不能編譯運行等種種困難,讓我必須非常嚴謹對

37、待每一個語句,鍛煉了嚴謹?shù)乃季S。 在這次設計程序中,我找出學習中的不足,以便為完善學習計劃,改變學習內容與方法提供實踐依據(jù)。 參考文獻 (1) 譚浩強.《C++面向對象程序設計》.清華大學出版社 (2) 譚浩強.《C++面向對象程序設計題解與上機指導》.清華大學出版社 (3) LippmanBarbara.《C++?Primer》.人民郵電出版社 (4) Bjarne Stroustrup.《The C++ Programming Language》.機械工業(yè)出版社 (5)《C++語言的設計和演化》,機械工業(yè)出版社 (6)《C++語言的設計和演化(英文版)》

38、,機械工業(yè)出版社 (7)《C++程序設計語言(特別版)》,機械工業(yè)出版社 #include #include #include #include #include using namespace std; class Student//設置學生類記錄學生基本信息 { public: char name[20]; int number; int banji; public: Student(char n[20],int num,int bj); friend

39、 void main(); //將主函數(shù)定義為友元函數(shù),方便訪問類中的成員 }; Student::Student(char n[20],int num,int bj) { strcpy(name,n); //得到姓名 number=num; //得到學號 banji=bj;//得到班級 } class chengji:public Student//設置成績類并繼承學生類記錄學生成績 { public: float math,cpp,english,average,sum; float pmath,pcpp,penglish,psum; floa

40、t bl; public: chengji(char n[20],int num,int bj,float ma,float cj,float eng, float pma,float pcj,float peng):Student(n,num,bj) { math=ma;//得到數(shù)學成績 cpp=cj;//得到C語言成績 english=eng;//得到英語成績 pmath=pma;//得到平時數(shù)學成績 pcpp=pcj;//得到平時C語言成績 penglish=peng;//得到平時英語成績 } float ge

41、tsum();//得到總分的函數(shù) float getaver(); //得到平均分的函數(shù) float getpsum();//得到總評成績的函數(shù) friend void main(); //將主函數(shù)定義為友元函數(shù),方便訪問類中的成員 }; float chengji::getsum() //得到總分的函數(shù) { sum=cpp+english+math; return sum; } float chengji::getaver() //得到平均分的函數(shù) { average=getsum()/3; return aver

42、age; } float chengji::getpsum()//得到總評成績的函數(shù) { psum=(pcpp+penglish+pmath)*bl+getsum()*(1-bl); return psum; } void main() { cout<<"*****************歡迎來到學生成績查詢系統(tǒng)*****************"<

43、 cout<<"*******(2)增加學生"<

44、平均成績"<

45、分別存儲 ofstream *file[100]; int i=0; //全局變量,用于做每個錄入數(shù)據(jù)的下標 int j=0; int chris1=0; //用于判斷do—while語句 do //判斷輸入是否正確 { cin>>p; if((p>=1&&p<=11)) chris1=1; else cout<<"指令錯誤!請重新輸入:"<

46、 char c; //用于在小項中選擇是否繼續(xù)操作 char name[20]; int number; int banji; float pmath,pcpp,penglish,psum,bl,sum,sump; float math,cpp,english; do{ cout<<"請輸入姓名:"<>name; cout<<"請輸入學號:"<

47、 cin>>number; cout<<"請輸入班級:"<>banji; cout<<"請輸入數(shù)學成績:"<>math; cout<<"請輸入cpp成績:"<>cpp; cout<<"請輸入英語成績:"<>english; cout<<"請輸入平時數(shù)學成績:"<>p

48、math; cout<<"請輸入平時cpp成績:"<>pcpp; cout<<"請輸入平時英語成績:"<>penglish; cout<<"平時成績所占比例"<>bl; sum=math+cpp+english; sump=pmath+pcpp+penglish; psum=sump*bl+sum*bl; fstream outfile,infile; //作一個

49、文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) outfile.open("f1.txt",ios::out|ios::app); if(!file) { cout<<"f1.txt can not open.\n"; return; } outfile<

50、

51、; } char ch; while(infile.get(ch)) cout<

52、入成功,想繼續(xù)錄入嗎(y/n)"<>c; chris1=0; do{ if(c!='y'&&c!='n') { cout<<"指令錯誤!請重新輸入!"<>c; } else chris1=1; } while(chris1==0); } while(c=='y'); //重復輸入 break;

53、 } case 2: //增加學生數(shù)據(jù) { char name[20]; int number; int banji; float math,cpp,english,bl,sum,sump,psum; float pmath,pcpp,penglish; char c; do { cout<<"請輸入您要增加的學生的姓名:"<

54、 cin>>name; cout<<"請輸入你要增加的學生的學號:"<>number; cout<<"請輸入班級:"<>banji; cout<<"請輸入數(shù)學成績:"<>math; cout<<"請輸入cpp成績:"<>cpp; co

55、ut<<"請輸入英語成績:"<>english; cout<<"請輸入平時數(shù)學成績:"<>pmath; cout<<"請輸入平時cpp成績:"<>pcpp; cout<<"請輸入平時英語成績:"<>penglish; cout<<"平時成績所占比例"<>b

56、l; sum=math+cpp+english; sump=pmath+pcpp+penglish; psum=sump*bl+sum*bl; fstream outfile,infile; outfile.open("f1.txt",ios::out|ios::app); if(!file) { cout<<"f1.txt can not open.\n"; r

57、eturn; } outfile<

58、; 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<

59、 cout<>c; i

60、f(c!='y'&&c!='n') { cout<<"指令錯誤!請重新輸入!"<>c; } } while(c=='y'); break; } case 3://刪除學生信息 { if(i==0) { cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<

61、 string xingming,line,str,name; do { ifstream fin("f1.txt"); fstream outfile("f2.txt",ios::trunc|ios::out); //作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù) cout<<"請輸入您要刪除的學生的姓名:"<>xingming; while(!fin.

62、eof() ) { getline(fin,line); istringstream stream(line); name = line.substr(0,line.find(" ",0));//找到名字,判斷是否相等 if(name != xingming) outfile<

63、 outfile.close(); fin.close(); fstream f("f1.txt",ios::trunc|ios::out); ifstream outf("f2.txt"); f<

64、 cout<<"數(shù)據(jù)刪除成功,想繼續(xù)刪除嗎(y/n)"<>c; if(c!='y'&&c!='n') { cout<<"指令錯誤!請重新輸入!"<>c; } }while(c=='y'); break; } case 4://

65、修改數(shù)據(jù) { string sname,line,str,name; int bj; int nu;float eng,ma,com,peng,pma,pcom,bl;int flag;char c; if(i==0) { cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<>name; fstream fin("f1

66、.txt",ios::in); ofstream outfile("f.txt",ios::trunc|ios::out); cout<>name>>nu>>bj>>ma>>com>

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!