學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計
《學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計》由會員分享,可在線閱讀,更多相關《學生成績管理系統(tǒng)設計與實現(xiàn) 《高級程序設計語言》課程設計(44頁珍藏版)》請在裝配圖網(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 設計內
3、容 1 1.2課程設計的要求 1 1.3設計目的 1 第2章 系統(tǒng)實現(xiàn)思路 2 2.1 需求分析 2 2.2攻能分析及功能分析圖 2 2.3 系統(tǒng)性能分析 3 第3章 系統(tǒng)詳細設計 4 3.1系統(tǒng)設計 4 3.2系統(tǒng)功能的實現(xiàn) 4 第4章 系統(tǒng)調試運行 5 4.1 系統(tǒng)測試及調試分析 5 4.2測試結果 5 4.3系統(tǒng)維護 5 課程設計體會 6 參考文獻 7 第1章 系統(tǒng)設計目的 1.1 設計內容 1.設計題目:學生成績管理系統(tǒng)設計與實現(xiàn) 2.設計內容: (1)設計四個類;學生類(描述學生基本信息);成績類:班級類;課程類(描述課
4、程信息:課程編號,科目名稱(如高等數(shù)學,大學英語等);學生成績及課程信息用文件保存,每個類一個文件,程序執(zhí)行時從文件讀入; (2)能按學期,按班級完成對學生成績的錄入,修改,能按班級統(tǒng)計學生的成績;求學生的總分及平均分;并能根據(jù)學生的平均成績進行排序,能查詢學生成績,不及格科目及學生名單;能按班級輸出學生的成績單; (3)設置學生的成績信息:學生學號、姓名、所選課程名稱、平時成績、期末成績、平時成績所占百分比; (4)計算學生總評成績:總評成績=平時成績*平時成績所占百分比+期末成績*(1-平時成績所占百分比); (5)顯示學生的姓名、所選課程名稱以及平時成績、期末成績和總評成績信息。
5、分單人顯示和以班輸出(班成績單格式輸出到文件); 注意:至少一個班,30人三門課。 1.2 課程設計要求 根據(jù)C++課程所學的概念、理論和方法,按照C++程序設計的基本步驟,設計出一個適當規(guī)模的程序來實現(xiàn)設計課程內容中的全部功能;設計主控模塊程序.對給出的程序源代碼要給出各部分的詳細注釋.自己根據(jù)能力及需要添加相應功能模塊,增強模擬系統(tǒng)功能。包括系統(tǒng)的功能分析、系統(tǒng)的功能模塊設計、程序流程圖或結構框圖、邏輯結構設計,數(shù)據(jù)庫中的表、視圖(如果使用)、索引的結構和定義、觸發(fā)器、存儲過程、課程設計體會。 第2章 系統(tǒng)實現(xiàn)思路 2.1 需求分析 學生成績管理系統(tǒng)應該完成以下幾個方面的的
6、內容:學生檔案資料的管理、學生成績的管理(包括必修課和選修課),每個內容均需要提供添加、修改和查詢的功能。學生成績管理系統(tǒng)在開發(fā)過程中收集到的客戶需求提供文檔記錄的關鍵部分可概括為以下幾個部分: (1)能對學生各科成績進行錄入:。 (2)能對學生的成績進行增加。 (3)能對學生的成績進行刪除。 (4)能對學生的成績進行修改。 (5)能對學生的成績按總成績,姓名,進行查詢。 (6)能輸出學生的所有數(shù)據(jù)。 (7)能進行成績統(tǒng)計 (8)能進行總分查詢排名。 2.2功能分析及分析圖如下 (1)輸入學生資料,輸出學生資料模塊; (2)按學生姓名進行排列模塊; (3)添加學生資料模
7、塊; (4)按姓名查找,刪除該學生資料模塊; (5)查找并顯示學生學生資料模塊; (6)按姓名查找,修改學生資料模塊; (7)從文件中讀入數(shù)據(jù)模塊; (8)儲存學生并退出系統(tǒng)模塊。 學生成績管理系統(tǒng) 操作 查詢 成績統(tǒng)計 按總成績排名 錄入 增加 刪除 修改 總成績查詢 姓名 每個學生的平均成績 各科不及格的人數(shù) 輸出所有學生的成績 圖2-1 2.3系統(tǒng)性能分析 資料維護:系統(tǒng)維護包括對學生信息的錄入操作及數(shù)據(jù)表中的信息進行瀏覽。?系統(tǒng)功能:可以對數(shù)據(jù)表中的信息進行瀏覽。?系統(tǒng)查詢:可以對學生的信息進行查詢 (1)系統(tǒng)安全可靠; (2)
8、功能齊全;
(3)操作方便、界面友好;
(4)易于維護和擴充。
第3章 系統(tǒng)詳細設計
3.1 系統(tǒng)設計
#include
9、( char n[20], int num,float ma,float hp,float eng ) ; float getsum();//得到總分的函數(shù) float getaver(); //得到平均分的函數(shù) friend void main(); //將主函數(shù)定義為友元函數(shù),方便訪問類中的成員 }; Luru::Luru ( char n[20], int num,float ma,float hp,float eng )//Luru的析構函數(shù) { strcpy(name,n); number=num; math=ma;
10、phy=hp; english=eng; } float Luru::getsum() //得到總分的函數(shù) { sum=phy+english+math; return sum; } float Luru::getaver() //得到平均分的函數(shù) { average=getsum()/3; return average; } 3.2 系統(tǒng)功能的實現(xiàn) 1.界面設計 程序運行后會出現(xiàn)一個間接地窗口,便于用戶查詢數(shù)據(jù)。 主函數(shù)用循環(huán)體以及switch語句實現(xiàn)功能選擇。 主界面展示 ***********
11、***歡迎來到學生成績查詢系統(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()
{
cout<<"*****************歡迎來到學生成績查詢系統(tǒng)*****************"< 12、cout<<"請選擇您需要的操作!"< 13、<"(8)每個學生的平均成績"< 14、; //類定義的指針將所錄入的數(shù)據(jù)按類中的形式分別存儲
ofstream *file[100];
int i=0; //全局變量,用于做每個錄入數(shù)據(jù)的下標
int j=0;
int chris1=0; //用于判斷do—while語句
//(4)do——while循環(huán)判斷輸入是否正確
do
{
cin>>p;
if((p>=1&&p<=11))
chris1=1;
else
cout<<"指令錯誤!請重新輸入:"< 15、作
do{
switch(p)
{
//①當輸入”1”時,進行數(shù)據(jù)的錄入。使用cin輸入流輸入學生的相關信息,并創(chuàng)立文件,將所輸入的數(shù)據(jù)存入到文件中。
case 1:
{
char c; //用于在小項中選擇是否繼續(xù)操作
char name[20];
int number;
float math,phy,english;
do{
cout<<"請輸入姓名:"< 16、e;
cout<<"請輸入學號:"< 17、示所錄入的數(shù)據(jù)
outfile.open("f1.txt",ios::out|ios::app);
if(!file)
{ cout<<"f1.txt can not open.\n";
return;
}
outfile< 18、 infile.open("f1.txt",ios::in);
if(!file) //判斷文件是否打開
{ cout<<"f1.txt can not open.\n";
return;
}
char ch;
while(infile.get(ch))
cout< 19、 s[i]=new Luru(name, number,math, phy, english);
i++;
cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"< 20、 chris1=1;
}while(chris1==0);
}while(c=='y');
break;
}
//② 當輸入”2”時,進行對學生數(shù)據(jù)的增加.與錄入功能程序操作與代碼大體相同 參考錄入功能。
case 2:
{
char name[20];
int number;
float math,phy,english;
char c;
do
{ 21、
cout<<"請輸入您要增加的學生的姓名:"< 22、ut<<"請輸入英語成績:"< 23、<<" "<<"學號:"< 24、 char h;
while(infile.get(h))
cout< 25、入嗎(y/n)"< 26、
string sname,line,str,name;
int nu;float eng,ma,com;int flag;char c;
if(i==0)
{
cout<<"請先輸入數(shù)據(jù)!"< 27、:trunc|ios::out);
cout< 28、in.close();
if(flag=1)
{
cout<<"請輸入修改學生姓名及其新學號,數(shù)學,物理和英語成績:";
cin>>name>>nu>>ma>>com>>eng;
cout< 29、trunc|ios::out);
fstream inf("f.txt",ios::in);
outf< 30、out<<" 指令錯誤!請重新輸入!"< 31、");
fstream outfile("f2.txt",ios::trunc|ios::out); //作一個文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù)
cout<<"請輸入您要刪除的學生的姓名:"< 32、ringstream stream(line);
name = line.substr(0,line.find(" ",0));//找到名字,判斷是否相等
if(name != xingming)
outfile< 33、 fstream f("f1.txt",ios::trunc|ios::out);
ifstream outf("f2.txt");
f< 34、c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"< 35、)
{
cout<<"請先輸入數(shù)據(jù)!"< 36、:"< 37、endl;
cin>>c;
};
}while(c=='y');
break;
}
//⑥當輸入”6”時,進行按姓名的查詢。程序代碼與按總分功能類似,區(qū)別在于這個功能中利用指針訪問類中成員,并進行判斷。
case 6://按姓名查詢
{
char n[20];char c;int j=0;int flag;
if(i==0)
{
cout<<"請先輸入數(shù)據(jù)!"< 38、0;
cout<<"請輸入要查詢的名字: "< 39、s[j]).english< 40、所有學生的數(shù)據(jù)。通過打開文件,對文件中的所有數(shù)據(jù)進行輸出。
case 7://輸出所有學生數(shù)據(jù)
{
cout<<"所有學生數(shù)據(jù)如下:"< 41、平均分并執(zhí)行輸出操作。
case 8://統(tǒng)計每個學生的平均成績
{
if(i==0)
{
cout<<"請先輸入數(shù)據(jù)!"< 42、//⑨當輸入”9”時,統(tǒng)計各學科不及格人數(shù)。調用get函數(shù)求得三科平均成績,并統(tǒng)計不及格人數(shù),并輸出查詢結果。
case 9://統(tǒng)計各學科不及格人數(shù)
{
if(i==0)
{
cout<<"請先輸入數(shù)據(jù)!"<
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。