版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、華華東東交交通通大大學(xué)學(xué)c+程程序序設(shè)設(shè)計(jì)計(jì)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告選題名稱選題名稱: 學(xué)生成績管理系統(tǒng) 系(院)系(院): 軟件學(xué)院 專專 業(yè)業(yè): 軟件工程+信息工程 班班 級級: x 班 姓姓 名名: x 同學(xué) 學(xué)學(xué) 號號: 2009xxxxxxxxxx指導(dǎo)教師指導(dǎo)教師: x 老師 學(xué)年學(xué)期學(xué)年學(xué)期: 2009 2010 學(xué)年 第 二 學(xué)期2010 年 6 月 24 日摘要:摘要:隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)領(lǐng)域不斷取得新的研究成果。計(jì)算機(jī)在代替和延伸腦力勞動(dòng)方面發(fā)揮越來越重要的作用,不僅在商業(yè)、企業(yè)、銀行等起著重要作用,而且在日常生活中也越來越離不開計(jì)算機(jī)。就像在大學(xué),有很多學(xué)生的信息需要
2、處理、保存,以及提供優(yōu)質(zhì)的服務(wù),此時(shí)計(jì)算機(jī)顯得尤為重要。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對學(xué)生成績信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點(diǎn)。所以,現(xiàn)今絕大部分大學(xué)都使用了計(jì)算機(jī)來規(guī)劃整個(gè)學(xué)生的信息、提供選課、網(wǎng)絡(luò)教學(xué)等。學(xué)生成績管理系統(tǒng)能方便用戶迅速、準(zhǔn)確處理學(xué)生的成績,得到想要的數(shù)據(jù)并能將學(xué)生的信息以文檔保存,以供使用時(shí)調(diào)出。本文介紹了簡易學(xué)生成績管理系統(tǒng)在 microsoft visual c+ 6.0 環(huán)境下的實(shí)現(xiàn)過程:系統(tǒng)的分析、功能模塊的設(shè)計(jì)、系統(tǒng)的調(diào)試和測試。此系統(tǒng)的主要管理信息有:學(xué)生的班級、學(xué)生的學(xué)號
3、、學(xué)生的姓名、離散數(shù)學(xué)成績、c+程序設(shè)計(jì)成績、大學(xué)物理成績、大學(xué)英語成績、高等數(shù)學(xué)成績、大學(xué)體育成績、馬克思主義基本原理成績。本系統(tǒng)的主要功能有:輸入數(shù)據(jù)(即學(xué)生成績等相關(guān)信息) 、顯示所有數(shù)據(jù)、按平均分降序排列、查找并顯示一組數(shù)據(jù)、插入一組數(shù)據(jù)、修改一組數(shù)據(jù)、刪除一組數(shù)據(jù)、從文件中讀入數(shù)據(jù)、將所有記錄寫入文件、退出本系統(tǒng)。關(guān)鍵字關(guān)鍵字:學(xué)生成績管理目目錄錄1 需求分析.61.1 功能需求分析.61.2 環(huán)境需求分析.61.3 方法需求分析.62 概要設(shè)計(jì).72.1 系統(tǒng)功能模塊圖.73 詳細(xì)設(shè)計(jì).83.1 設(shè)計(jì)原理.83.2 程序詳細(xì)代碼.83.3 系統(tǒng)界面.314 調(diào)試與操作說明.314.
4、1 調(diào)試過程.314.2 操作說明.39總結(jié).40致謝.41參考文獻(xiàn).421 需求分析需求分析1.1 功能需求分析功能需求分析簡易學(xué)生成績管理系統(tǒng)主要有四個(gè)大的模塊:學(xué)生信息(如班級、學(xué)號、姓名、各科成績等)的錄入文件中;查找并顯示、刪除、插入、修改一組數(shù)據(jù);從文件中輸出所有數(shù)據(jù)并進(jìn)行按平均分排序;退出此系統(tǒng)。(1) 學(xué)生信息的錄入模塊主要功能是錄入學(xué)生的信息,具體操作是:先打開程序的主界面,然后選擇數(shù)字 1,即可錄入數(shù)據(jù),程序依次輸出:學(xué)生的班級、學(xué)生的學(xué)號、學(xué)生的姓名、信息專業(yè)的各科成績等,最后會(huì)詢問是否繼續(xù)錄入。結(jié)束后可以選擇數(shù)字 9,進(jìn)行數(shù)據(jù)的保存,實(shí)際生活中學(xué)生成績的文件主要以 wo
5、rd 或 excel 等儲(chǔ)存,為了方便操作我在調(diào)試本系統(tǒng)中成績文件采用了 txt 的文檔格式保存,當(dāng)然也可以使用 word 文檔形式。(2)查找、顯示、修改、插入、刪除模塊 主要功能是查找用戶所需要的學(xué)生信息,直接選擇數(shù)字 4,便可根據(jù)學(xué)生的班級、學(xué)號、姓名可以查詢到相關(guān)成績,包括各科成績還有平均分和總分等,提供了極大的便利。為了更加具有人性化,本系統(tǒng)還增設(shè)了修改、插入、刪除等功能,以便極大的服務(wù)廣大師生。(2) 輸出所有數(shù)據(jù)并進(jìn)行按平均分排列模塊主要功能是方便用戶進(jìn)行一個(gè)全面的觀察,統(tǒng)計(jì)所有的學(xué)生成績,即按總分的排名。另外,每個(gè)文件中的學(xué)生成績管理,也會(huì)進(jìn)行相應(yīng)的對比,方便比較。(3) 退出
6、系統(tǒng)模塊簡單的利用了 c+面向?qū)ο蟪绦蛟O(shè)計(jì)思想,設(shè)計(jì)出了可選擇的退出裝置。1.2 環(huán)境需求分析環(huán)境需求分析 操作系統(tǒng):windows xp調(diào)試軟件:visual c+ 6.01.3 方法需求分析方法需求分析由于數(shù)組存放數(shù)據(jù)的時(shí)候要先確定數(shù)組的規(guī)模,不能動(dòng)態(tài)的分配內(nèi)存空間,而單鏈表是非連續(xù)存放的,可以對內(nèi)存空間進(jìn)行動(dòng)態(tài)分配,此系統(tǒng)是用單鏈表完成的。然后定義鏈表的結(jié)點(diǎn)類型為結(jié)構(gòu)就可以實(shí)現(xiàn)對學(xué)生學(xué)號、姓名、成績、班級等學(xué)保存。每次只要返回頭指針,就可以對整個(gè)鏈表進(jìn)行操作,因此選鏈表來存放學(xué)生信息。2 概要設(shè)計(jì)概要設(shè)計(jì)2.1 系統(tǒng)功能模塊圖系統(tǒng)功能模塊圖學(xué)學(xué) 生生 成成 績績 管管 理理 系系 統(tǒng)統(tǒng)
7、輸入學(xué)生信息 插入學(xué)生信息刪除學(xué)生信息顯示學(xué)生信息按姓名找學(xué)生保存學(xué)生信息讀取學(xué)生信息計(jì)算總分均分學(xué)生成績排序按學(xué)號查成績分類合計(jì)2.2 設(shè)計(jì)思想設(shè)計(jì)思想:學(xué)生成績管理系統(tǒng)是用面向?qū)ο蟮姆椒ㄔO(shè)計(jì),由于數(shù)組的存放是連續(xù)的,而單鏈表是非連續(xù)存放的,是動(dòng)態(tài)分配內(nèi)存空間,因此此系統(tǒng)采用單鏈表來完成。各個(gè)功能模塊的實(shí)現(xiàn)主要轉(zhuǎn)變到對單鏈表的遍歷,添加和刪除結(jié)點(diǎn)。3 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)3.1 設(shè)計(jì)原理設(shè)計(jì)原理學(xué)生成績管理系統(tǒng)以菜單選擇,通過調(diào)用各個(gè)函數(shù),對單鏈表的遍歷,實(shí)現(xiàn)不同的功能,不同函數(shù)處理后返回的只是一個(gè)頭結(jié)點(diǎn),但是通過頭結(jié)點(diǎn)可以找到所有鏈表中的信息,只要有函數(shù),找到頭指針就能進(jìn)行相應(yīng)的操作,所以模塊
8、化的程序方便以后添加或者刪除某些功能,程序中通過 system(“cls”)清屏函數(shù)實(shí)現(xiàn)界面的轉(zhuǎn)換,主函數(shù)中的循環(huán)保證程序不會(huì)退出,一個(gè)循環(huán)和一個(gè)清屏函數(shù)實(shí)現(xiàn)了主菜單和各子畫面的切換(子函數(shù)) 。這樣的話各個(gè)子函數(shù)都可以調(diào)用一開始輸入的數(shù)據(jù),這樣就實(shí)現(xiàn)了各個(gè)不同函數(shù)調(diào)用時(shí)都能使用整個(gè)系統(tǒng)連續(xù)起來了。作為一個(gè)學(xué)生成績管理系統(tǒng),增加了文件的讀入和寫出功能,增加了程序的實(shí)用性。3.2 程序詳細(xì)代碼程序詳細(xì)代碼#include /*引用庫函數(shù)引用庫函數(shù)*/ #include #include #include#include typedef structchar class_020; /*班級班級*/
9、int number; /*學(xué)號學(xué)號*/char name20; /*姓名姓名*/float electrics; /*離散數(shù)學(xué)成績離散數(shù)學(xué)成績*/float c_program; /*c+語言成績語言成績*/float multimedia; /*大學(xué)物理成績大學(xué)物理成績*/float english; /*大學(xué)英語成績大學(xué)英語成績*/float math; /*高等數(shù)學(xué)成績高等數(shù)學(xué)成績*/float sport; /*體育成績體育成績*/float polity; /*馬克思主義基本原理成績馬克思主義基本原理成績*/float summary; /*總分總分*/float average;
10、 /*平均分平均分*/student; student stu100; /*結(jié)構(gòu)體數(shù)組變量結(jié)構(gòu)體數(shù)組變量*/int menu() /*菜單函數(shù)菜單函數(shù)*/ char c; do system(cls); /*運(yùn)行前清屏運(yùn)行前清屏*/ cout*學(xué)生成績管理學(xué)生成績管理系統(tǒng)系統(tǒng)*endl;/*菜單選菜單選擇擇*/ cout-囊括信息專業(yè)主要課程囊括信息專業(yè)主要課程-endl;cout【1】輸入數(shù)據(jù)輸入數(shù)據(jù)endl;cout【2】顯示所有數(shù)據(jù)顯示所有數(shù)據(jù)endl; cout【3】按平均分降序排列按平均分降序排列endl; cout【4】查找并顯示一組數(shù)據(jù)查找并顯示一組數(shù)據(jù)endl;cout【5】插
11、入一組數(shù)據(jù)插入一組數(shù)據(jù)endl; cout【6】修改一組數(shù)據(jù)修改一組數(shù)據(jù)endl; cout【7】刪除一組數(shù)據(jù)刪除一組數(shù)據(jù)endl;cout【8】從文件中讀入數(shù)據(jù)從文件中讀入數(shù)據(jù)endl;cout【9】將所有記錄寫入文件將所有記錄寫入文件endl;cout【0】退出本系統(tǒng)退出本系統(tǒng)nendl; cout*作者:作者:09 軟件工程軟件工程+信息信息工程工程 3 班班 吳樂斌吳樂斌*endl;cout請你選擇操作請你選擇操作(0-9):endl; c=getchar(); /*讀入選擇讀入選擇*/ while(c9); return(c-0); /*返回選擇返回選擇*/ int input(st
12、udent stud,int n) /*輸入若干條記錄輸入若干條記錄*/ int i=0;char sign,x10; /*x10為清除多余的數(shù)據(jù)所用為清除多余的數(shù)據(jù)所用*/ while(sign!=n&sign!=n) /*判斷判斷*/ coutstudn+i.class_0;coutstudn+i.number;coutstudn+;coutstudn+i.electrics;coutstudn+i.c_program;coutstudn+i.multimedia;coutstudn+i.english;coutstudn+i.math;coutstudn+i.sport;co
13、utstudn+i.polity;studn+i.summary=studn+i.electrics+studn+i.c_program+studn+i.multimedia+studn+i.english+studn+i.math+studn+i.sport+studn+i.polity;studn+i.average=studn+i.summary/7;cout該學(xué)生的總分為:該學(xué)生的總分為:studn+i.summary平均平均分為:分為:studn+i.averageendl;gets(x); /*清除多余的輸入清除多余的輸入*/ cout提示:繼續(xù)寫入成績提示:繼續(xù)寫入成績?(y/n
14、); cinsign; /*輸入判斷輸入判斷*/ i+; return(n+i); void display(student stud,int n) /*顯示所有記錄顯示所有記錄*/ int i; if(!stud)cout沒有記錄沒有記錄;elsecout-endl; /*格式頭格式頭*/ cout 班別班別 學(xué)號學(xué)號 姓名姓名 離散離散 c+ 物理物理 英語英語 數(shù)數(shù)學(xué)學(xué) 體育體育 馬克思馬克思 總分總分 平均分平均分endl; cout-endl; for(i=1;in+1;i+) /*循環(huán)輸入循環(huán)輸入*/ studi-1.summary=studi-1.electrics+studi-
15、1.c_program+studi-1.multimedia+studi-1.english+ studi-1.math+studi-1.sport+studi-1.polity;studi-1.average=studi-1.summary/7;coutstudi-1.class_0 studi-1.number studi-1.electrics studi-1.c_program studi-1.multimedia studi-1.english studi-1.math studi-1.sport studi-1.polity studi-1.summary
16、 studi-1.averageendl; couttttendl; system(pause); void sort(student stud,int n) /*按平均分排序按平均分排序*/ int i,j,k; float s;char t20; for(i=0;in-1;i+) /*冒泡法排序冒泡法排序*/ for(j=0;jn-1-i;j+) if(studj.averagestudj+1.average) strcpy(t,studj+1.class_0); strcpy(studj+1.class_0,studj.class_0); strcpy(studj.class_0,t);
17、k=studj+1.number; studj+1.number=studj.number;studj.number=k;strcpy(t,studj+1.name); strcpy(studj+1.name,); strcpy(,t);s=studj+1.electrics; studj+1.electrics=studj.electrics; studj.electrics=s;s=studj+1.c_program; studj+1.c_program=studj.c_program; studj.c_program=s; s=studj+1.mu
18、ltimedia; studj+1.multimedia=studj.multimedia; studj.multimedia=s;s=studj+1.english; studj+1.english=studj.english; studj.english=s;s=studj+1.math; studj+1.math=studj.math; studj.math=s;s=studj+1.sport; studj+1.sport=studj.sport; studj.sport=s;s=studj+1.polity; studj+1.polity=studj.polity; studj.pol
19、ity=s;s=studj+1.summary; studj+1.summary=studj.summary; studj.summary=s;s=studj+1.average; studj+1.average=studj.average; studj.average=s; cout-endl; /*格式頭格式頭*/ cout 班別班別 學(xué)號學(xué)號 姓名姓名 離散離散 c+ 物理物理 英語英語 數(shù)數(shù)學(xué)學(xué) 體育體育 馬克思馬克思 總分總分 平均分平均分endl; cout-endl; for(i=1;in+1;i+) /*循環(huán)輸入循環(huán)輸入*/ studi-1.summary=studi-1.el
20、ectrics+studi-1.c_program+studi-1.multimedia+studi-1.english+ studi-1.math+studi-1.sport+studi-1.polity;studi-1.average=studi-1.summary/7;coutstudi-1.class_0studi-1.electricsstudi-1.c_programstudi-1.multimediastudi-1.english studi-1.mathstudi-1.sportstudi-1.politystudi-1.su
21、mmarystudi-1.averageendl; int insert(student stud,int n) /*插入一條記錄插入一條記錄*/ char x10; /*清除多余輸入所用清除多余輸入所用*/ cout請輸入學(xué)生的班別請輸入學(xué)生的班別:studn.class_0;coutstudn.number;;coutstudn.electrics;coutstudn.c_program;coutstudn.multimedia;coutstudn.english;coutstudn.math;coutstudn.sport;coutstudn.polity;s
22、tudn.summary=studn.electrics+studn.c_program+studn.multimedia+studn.english+ studn.math+studn.sport+studn.polity;studn.average=studn.summary/7;gets(x); n+; sort(stu,n); /*調(diào)用排序函數(shù)調(diào)用排序函數(shù)*/ cout提示:插入成功!提示:插入成功!endl; /*返回成功信息返回成功信息*/ return(n); int delete(student stud,int n) /*按學(xué)號查找,刪除一條記按學(xué)號查找,刪除一條記錄錄*/
23、int s; int i=0,j; cout輸入需要?jiǎng)h除學(xué)生的學(xué)號輸入需要?jiǎng)h除學(xué)生的學(xué)號:s; while(studi.number-s)!=0&in) i+; /*查找判斷查找判斷*/ if(i=n) cout提示:對不起,無法找到改學(xué)提示:對不起,無法找到改學(xué)號號endl; /*返回失敗信息返回失敗信息*/ return(n); for(j=i;jn-1;j+) /*刪除操作刪除操作*/ strcpy(studj.class_0,studj+1.class_0);studj.number=studj+1.number;strcpy(,studj+1.name); stu
24、dj.electrics=studj+1.electrics;studj.c_program=studj+1.c_program;studj.multimedia=studj+1.multimedia;studj.english=studj+1.english;studj.math=studj+1.math;studj.sport=studj+1.sport;studj.polity=studj+1.polity; cout提示:已成功刪除!提示:已成功刪除!endl; /*返回成功信返回成功信息息*/ return(n-1); void search(student stud,int n)
25、/*查找并顯示一個(gè)記錄查找并顯示一個(gè)記錄*/ int s; int i=0; cout輸入需要查找學(xué)生的學(xué)號輸入需要查找學(xué)生的學(xué)號:s; while(studi.number-s)!=0&in) i+; /*查找判斷查找判斷*/ if(i=n) cout提示:對不起,無法找到該學(xué)生的信息!提示:對不起,無法找到該學(xué)生的信息!endl; /*輸入失敗信息輸入失敗信息*/ return; cout-endl; cout班別班別:studi.class_0endl; /*輸出該學(xué)生信息輸出該學(xué)生信息*/ cout學(xué)號學(xué)號:studi.numberendl; cout姓名姓名:en
26、dl;cout離散數(shù)學(xué)離散數(shù)學(xué):studi.electricsendl;coutc+程序設(shè)計(jì)程序設(shè)計(jì):studi.c_programendl;cout大學(xué)物理大學(xué)物理:studi.multimediaendl;cout大學(xué)英語大學(xué)英語:studi.englishendl;cout高等數(shù)學(xué)高等數(shù)學(xué):studi.mathendl;cout大學(xué)體育大學(xué)體育:studi.sportendl;cout馬克思主義基本原理馬克思主義基本原理:studi.polityendl;cout總分總分:studi.summaryendl;cout平均分平均分:studi.averageendl;void modify
27、(student stud,int n)int s;int i=0;cout輸入需要修改成績學(xué)生的學(xué)號輸入需要修改成績學(xué)生的學(xué)號:s;while(studi.number-s)!=0&in) i+; /*查找判斷查找判斷*/ if(i=n) cout提示:對不起,無該學(xué)生的成提示:對不起,無該學(xué)生的成績績endl; /*輸入失敗信息輸入失敗信息*/ return;cout-該學(xué)生的信息該學(xué)生的信息-endl; /*格式頭格式頭*/ cout 班別班別 學(xué)號學(xué)號 姓名姓名 離散離散 c+ 物理物理 英語英語 數(shù)數(shù)學(xué)學(xué) 體育體育 馬克思馬克思 總分總分 平均分平均分endl; cout-endl;
28、 studi.summary=studi.electrics+studi.c_program+studi.multimedia+studi.english+ studi.math+studi.sport+studi.polity;studi.average=studi.summary/7;coutstudi-1.class_0studi-1.electricsstudi-1.c_programstudi-1.multimediastudi-1.english studi-1.mathstudi-1.sportstudi-1.politystu
29、di-1.summarystudi-1.averageendl; cout請輸入學(xué)生的班別請輸入學(xué)生的班別:studn+i.class_0;cout請輸入學(xué)生的學(xué)號請輸入學(xué)生的學(xué)號:studn+i.number;cout請輸入學(xué)生的姓名請輸入學(xué)生的姓名:studn+;cout請輸入該學(xué)生請輸入該學(xué)生離散數(shù)學(xué)離散數(shù)學(xué)的成績的成績:studn+i.electrics;cout請輸入該學(xué)生請輸入該學(xué)生c+程序設(shè)計(jì)程序設(shè)計(jì)的成績的成績:studn+i.c_program;cout請輸入該學(xué)生請輸入該學(xué)生大學(xué)物理大學(xué)物理的成績的成績:studn+i.multimedia;cout請輸入該學(xué)生
30、請輸入該學(xué)生大學(xué)英語大學(xué)英語的成績的成績:studn+i.english;cout請輸入該學(xué)生請輸入該學(xué)生高等數(shù)學(xué)高等數(shù)學(xué)的成績的成績:studn+i.math;cout請輸入該學(xué)生請輸入該學(xué)生大學(xué)體育大學(xué)體育的成績的成績:studn+i.sport;cout請輸入該學(xué)生請輸入該學(xué)生馬克思主義基本原理馬克思主義基本原理的成績的成績:studn+i.polity;studi.summary=studi.electrics+studi.c_program+studi.multimedia+studi.english+studi.math+studi.sport+studi.polity;studi
31、.average=studi.summary/7;cout該學(xué)生的總分為該學(xué)生的總分為:studi.summary平均分為:平均分為:studi.average;int read(student stud,int n) /*從文件中讀入數(shù)據(jù)從文件中讀入數(shù)據(jù)*/ int i=0,num; file *fp; /*定義文件指針定義文件指針*/ char filename20; /*定義文件名定義文件名*/ cout輸入文件名輸入文件名:filename; /*輸入文件名輸入文件名*/ if(fp=fopen(filename,rb)=null) /*打開文件打開文件*/ cout提示:無法打開這個(gè)
32、文件!提示:無法打開這個(gè)文件!endl; /*打開打開失敗信息失敗信息*/ coutttt; system(pause); return(n); fscanf(fp,%d,&num); /*讀入總記錄量讀入總記錄量*/ while(inum) /*循環(huán)讀入數(shù)據(jù)循環(huán)讀入數(shù)據(jù)*/ fscanf(fp,%s%d%s%f%f%f%f%f%f%f%f%f,studn+i.class_0,&studn+i.number,studn+,&studn+i.electrics,&studn+i.c_program,&studn+i.multimedia,&studn+i.english,&studn
33、+i.math,&studn+i.sport,&studn+i.polity,&studn+i.summary,&studn+i.average); i+; n+=num;fclose(fp); /*關(guān)閉文件關(guān)閉文件*/ cout提示:讀入數(shù)據(jù)成功,可選擇提示:讀入數(shù)據(jù)成功,可選擇【顯示所有成顯示所有成績績】查看查看endl; coutttt; system(pause); return(n); void save(student stud,int n) /*將所有記錄寫入文件將所有記錄寫入文件*/ int i=0; file *fp; /*定義文件指針定義文件指針*/ char filena
34、me20; /*定義文件名定義文件名*/ coutfilename; if(fp=fopen(filename,w)=null) /*打開文件打開文件*/ cout提示:無法打開這個(gè)文件!提示:無法打開這個(gè)文件!endl; system(pause); return; fprintf(fp,%dn,n); /*循環(huán)寫入數(shù)據(jù)循環(huán)寫入數(shù)據(jù)*/ while(in) fprintf(fp,%-8s%-8d%-6s%-6.1f%-7.1f%-7.1f%-6.1f%-6.1f%-6.1f%-7.1f%-8.1f%-6.2n,studi.class_0,studi.number,,stu
35、di.electrics,studi.c_program,studi.multimedia,studi.english, studi.math,studi.sport,studi.polity,studi.summary,studi.average); i+; fclose(fp); /*關(guān)閉文件關(guān)閉文件*/ cout提示:已成功寫入數(shù)據(jù)!提示:已成功寫入數(shù)據(jù)!endl; /*返回成返回成功信息功信息*/ void main() /*主函數(shù)主函數(shù)*/ int n=0; for(;) switch(menu() /*選擇判斷選擇判斷*/ case 1: coutendl 輸入成績輸入成績 =en
36、dl; /*輸輸入若干條記錄入若干條記錄*/ n=input(stu,n); break; case 2: coutendl 顯示所有記錄顯示所有記錄 =endl; /*顯示所有記錄顯示所有記錄*/ display(stu,n); break; case 3: coutendl 按平均分降序排列按平均分降序排列 =endl; sort(stu,n); /*按學(xué)號排序按學(xué)號排序*/ cout排序成功!排序成功!endl; coutttt; system(pause); break; case 4: coutendl 查找并顯示一組成績查找并顯示一組成績 =endl; search(stu,n);
37、 /*插入一條記錄插入一條記錄*/ coutttt; system(pause); break; case 5: coutendl 插入一組成績插入一組成績 =endl; n=insert(stu,n); /*按姓名查找,刪除一條記錄按姓名查找,刪除一條記錄*/ coutttt; system(pause); break; case 6: coutendl 修改一組成績修改一組成績 =endl; modify(stu,n); /*查找并顯示一個(gè)記錄查找并顯示一個(gè)記錄*/ coutttt; system(pause); break; case 7: coutendl 刪除一組成績刪除一組成績 =
38、endl; n=delete(stu,n); /*查找并顯示一個(gè)記錄查找并顯示一個(gè)記錄*/ coutttt; system(pause); break; case 8: coutendl 從文件中讀入數(shù)據(jù)從文件中讀入數(shù)據(jù) =endl; n=read(stu,n); /*循環(huán)讀出數(shù)據(jù)循環(huán)讀出數(shù)據(jù)*/ break; case 9: coutendl 將所有記錄寫入文件將所有記錄寫入文件 =endl; save(stu,n); /*循環(huán)寫入數(shù)據(jù)循環(huán)寫入數(shù)據(jù)*/ coutttt; system(pause); break; case 0: coutendl 謝謝您的使用!謝謝您的使用! =endl;
39、/*結(jié)束程序結(jié)束程序*/ coutttt; system(pause); exit(0); 3.3 系統(tǒng)界面系統(tǒng)界面系統(tǒng)主菜單中列出了該程序的所有功能:輸入數(shù)據(jù)、顯示所有數(shù)據(jù)、按平均分降序排列、查找并顯示一組數(shù)據(jù)、插入一組數(shù)據(jù)、修改一組數(shù)據(jù)、刪除一組數(shù)據(jù)、從文件中讀入數(shù)據(jù)、將所有記錄寫入文件中、退出本系統(tǒng)。如圖 3.3 圖 3.34 調(diào)試與操作說明調(diào)試與操作說明4.1 調(diào)試過程調(diào)試過程(1)輸入數(shù)據(jù):選擇數(shù)字)輸入數(shù)據(jù):選擇數(shù)字 1 即可,然后輸入想要輸入的數(shù)據(jù)。如圖即可,然后輸入想要輸入的數(shù)據(jù)。如圖 a 圖 a此時(shí),如果想繼續(xù)輸入,則輸入字母 y。如圖 b 圖 b當(dāng)數(shù)據(jù)輸入結(jié)束后,選擇 n
40、結(jié)束程序,跳回主菜單中。如圖 c 圖 c(2)插入一組數(shù)據(jù):選擇數(shù)字 5 即可。如圖 d 圖 d按任意鍵繼續(xù)下一操作,即回到主界面。如圖 e 圖 e(3)修改一組數(shù)據(jù):選擇數(shù)字 6,即可進(jìn)行相應(yīng)操作。如圖 f 圖 f按任意鍵結(jié)束此操作,進(jìn)入主界面。(4) 刪除一組數(shù)據(jù):選擇數(shù)字 7,即可進(jìn)行相應(yīng)操作。如圖 g 圖 g按任意鍵結(jié)束此操作,進(jìn)入主界面。(5) 顯示所有數(shù)據(jù):選擇數(shù)字 2,即可進(jìn)行相應(yīng)操作。如圖 h 圖 h按任意鍵結(jié)束此操作,進(jìn)入主界面。(6) 查找并顯示一組數(shù)據(jù):選擇數(shù)字 4,即可進(jìn)行相應(yīng)操作,如圖 i 圖 i按任意鍵結(jié)束此操作,進(jìn)入主界面。(7) 按平均分降序排列:選擇數(shù)字 3,即可進(jìn)行相應(yīng)操作,如圖 j 圖 j按任意鍵結(jié)束此操作,進(jìn)入主界面。(8) 將所有記錄寫入文件:選擇數(shù)字 9,即可進(jìn)行相應(yīng)操作,如圖 k 圖 k按任意鍵結(jié)束此操作,進(jìn)入主界面。(9) 從文件中讀入數(shù)據(jù):選擇數(shù)字 8,即可進(jìn)行相應(yīng)操作,如圖 l 圖 l按任意鍵結(jié)束此操作,進(jìn)入主界面。(10)退出系統(tǒng):選擇數(shù)字 0,即可退出程序。如圖 m 圖 m按任意鍵結(jié)束此操作,進(jìn)入主界面。再按任意鍵結(jié)束所有操作,主菜單撤銷。4.2 操作說明操作說明一個(gè)成績管理系統(tǒng)如果不能進(jìn)行文檔的讀出和寫入的操作,功能再多
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年城市軌道交通建設(shè)委托管理合同
- 2024工裝裝修合同范文
- 2024個(gè)人房屋裝修合同范本
- 2024年度安徽省某項(xiàng)環(huán)保設(shè)施建筑工程施工合同
- 母嬰類課件教學(xué)課件
- 2024年員工保密責(zé)任協(xié)議書
- 2024年度計(jì)算機(jī)軟硬件采購合同
- 2024年度應(yīng)急物流服務(wù)協(xié)議
- 2024年店鋪?zhàn)赓U協(xié)議(含裝修)
- 2024年度企業(yè)咨詢服務(wù)合同(戰(zhàn)略規(guī)劃)
- 只爭朝夕不負(fù)韶華崗位競聘述職報(bào)告
- 農(nóng)場工作制度與農(nóng)民崗位職責(zé)
- 2024年山東公務(wù)員考試行測真題及解析【完美打印版】
- 田賽裁判法與規(guī)則2
- 社區(qū)心肺復(fù)蘇術(shù)普及
- 冬棗植保知識培訓(xùn)課件
- 校園突發(fā)事件與應(yīng)急管理課件
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)職業(yè)生涯規(guī)劃
- DR拼接技術(shù)及常規(guī)攝片注意事項(xiàng)
- 《股票入門》課件
- 《不為人知的間歇泉》課件
評論
0/150
提交評論