c++學(xué)生成績管理系統(tǒng)+課設(shè)報告書(共25頁)_第1頁
c++學(xué)生成績管理系統(tǒng)+課設(shè)報告書(共25頁)_第2頁
c++學(xué)生成績管理系統(tǒng)+課設(shè)報告書(共25頁)_第3頁
c++學(xué)生成績管理系統(tǒng)+課設(shè)報告書(共25頁)_第4頁
c++學(xué)生成績管理系統(tǒng)+課設(shè)報告書(共25頁)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章 需求分析1. 課程設(shè)計性質(zhì)和目的2. 輸入輸出的形式3. 程序的實現(xiàn)功能第二章 程序設(shè)計1. 概要設(shè)計2. 詳細設(shè)計 3. 調(diào)試分析 4. 使用說明5. 測試數(shù)據(jù)第三章 使用說明和程序流程圖1. 程序流程圖2. 課程設(shè)計經(jīng)驗和體會專心-專注-專業(yè)第一章 需求分析1、課程設(shè)計性質(zhì)和目的該課程設(shè)計的主要任務(wù)是運用在面向?qū)ο蟪绦蛟O(shè)計課程中學(xué)到的理論知識來指導(dǎo)實踐,使學(xué)生了解面向?qū)ο笈c面向過程之間的區(qū)別,學(xué)會用類的方法解決實際問題。掌握一般類的定義、測試、封裝、數(shù)據(jù)隱藏、繼承及多態(tài)等概念,掌握面向?qū)ο蟪绦蛟O(shè)計的基本概念和基本方法,掌握 C+語言的基本語法和基本內(nèi)容,并

2、能運用C+語言進行基本的面向?qū)ο蟪绦蛟O(shè)計,并且通過綜合課程設(shè)計,提高學(xué)生的實踐動手技能,培養(yǎng)學(xué)生獨立分析分析問題和解決問題的能力。2、輸入輸出的形式本系統(tǒng)是一個學(xué)生成績管理系統(tǒng),采用VC+6.0 編譯器作為開發(fā)環(huán)境,這個環(huán)境是我們在學(xué)習(xí)C+的平臺。輸入數(shù)據(jù)類型主要是char、int、float等數(shù)據(jù)類型,輸入內(nèi)容包括:班級、學(xué)號、姓名、電子技術(shù)、C+ 程序設(shè)計、多媒體技術(shù)、大學(xué)英語、高等數(shù)學(xué)、大學(xué)體育、馬克思主義政治經(jīng)濟學(xué)等數(shù)據(jù)。用戶在輸入學(xué)生數(shù)據(jù)時要保證輸入數(shù)據(jù)格式的正確性,系統(tǒng)不會自動檢測輸入的數(shù)據(jù)是否正確,可用。輸出形式與輸入形式類似,根據(jù)需要可以選擇顯示輸入的各項內(nèi)容,還可以選擇顯示計

3、算好平均分后并排序后的記錄,顯示內(nèi)容包括:班級、學(xué)號、姓名、平均分等數(shù)據(jù)。3、程序的實現(xiàn)功能用戶運行程序后進入系統(tǒng)主界面,在主界面用戶可以輸入所有學(xué)生的數(shù)據(jù)并保存到文件中,也可以讀取文件中已有的學(xué)生數(shù)據(jù)。用戶在保存數(shù)據(jù)的時候,如果保存位置沒有文件則自動新建一個文件進行保存。本系統(tǒng)同時只能對一個數(shù)據(jù)文件進行相關(guān)操作,不能同時打開多個數(shù)據(jù)文件,其類似于單用戶操作系統(tǒng)。當(dāng)用戶讀取學(xué)生數(shù)據(jù)后可對其進行顯示,插入,刪除,修改,排序,計算平均分等相關(guān)操作。用戶在操作過程中可隨時對當(dāng)前文件進行保存到文件操作,以防止修改的數(shù)據(jù)丟失。 第二章 程序設(shè)計1、概要設(shè)計主界面:在此界面用戶可以選擇要操作的選項,回車之

4、后即可進入相關(guān)頁面進行操作(例如 選擇1 回車,即可進入輸入學(xué)生數(shù)據(jù)頁面在本界面里用戶可以輸入學(xué)生的相關(guān)數(shù)據(jù) 按照提示操作即可.例如:2、詳細設(shè)計在main()函數(shù)中主要是通過”switch(menu()”選擇判斷來調(diào)用相關(guān)功能模塊。系統(tǒng)的運行是在一個永真的循環(huán)里進行的,只有在主界面并選擇“退出本系統(tǒng)”時,才會跳出永真循環(huán),并退出程序。主函數(shù)代碼為:void main() /*主函數(shù)*/ for(;) switch(menu() /*選擇判斷*/ case 1: Input(stud);/*輸入學(xué)生成績*/ break; case 2: Statistic(stud); /*輸出學(xué)生統(tǒng)計數(shù)據(jù)*

5、/ break; case 3: Lookup(stud); /*查找學(xué)生成績*/ cout<<"ttt" system("pause"); break; case 4: Modify(stud); /*修改學(xué)生成績*/ cout<<"ttt" system("pause"); break; case 5: Delete(stud); /*按學(xué)號查找,刪除學(xué)生信息*/ cout<<"ttt" system("pause"); break;

6、case 6: Insert(stud);/*增加學(xué)生成績*/ cout<<"ttt" system("pause"); break; case 7: Sort(stud); /*按平均分對學(xué)生成績記錄項進行降序排序*/ cout<<"ttt" system("pause"); break; case 8: Output(stud); /*顯示全部學(xué)生成績*/ cout<<"ttt" system("pause"); break; case

7、 0: cout<<endl<<" =<<感謝您使用學(xué)生成績管理系統(tǒng)>>=n"<<endl; /*結(jié)束程序*/ cout<<"ttt" system("pause"); exit(0); 主界面的設(shè)計:在主界面中包括“輸入學(xué)生成績 顯示統(tǒng)計數(shù)據(jù) 查找學(xué)生成績 修改學(xué)生成績 刪除學(xué)生成績 插入學(xué)生成績 按平均分降序排列 顯示全部學(xué)生成績 退出本系統(tǒng)”等全部的功能,之所以設(shè)計這么一個主界面,一是因為能使用戶對程序操作的流程更加清楚簡明,二是保證了用戶同時只能對一個文件

8、進行操作的系統(tǒng)要求,保證了系統(tǒng)不會發(fā)生打開文件紊亂或者出現(xiàn)致命錯誤。每個函數(shù)的具體功能:1)主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計等函數(shù)對成績表進行處理;2)錄入函數(shù)Input():輸入班級到政治課成績;3)統(tǒng)計函數(shù)Statistic():計算平均成績;4)查詢函數(shù)Lookup():查詢指定學(xué)號學(xué)生成績記錄;5)修改函數(shù)Modify():修改指定學(xué)號學(xué)生成績記錄;6)刪除函數(shù)Delete():刪除指定學(xué)號學(xué)生記錄;7)輸出函數(shù)Output():輸出班級所有學(xué)生成績記錄;8) 排序函數(shù)Sort():按平均分對學(xué)生成績記錄項進行降序排序;9)插入函數(shù)Insert():按平均分順序插

9、入新記錄。3、調(diào)試分析調(diào)試是整個程序編寫過程中十分重要也是很困難的一部分,在這個過程中用了不少的時間進行程序的調(diào)試,在調(diào)試過程中遇到的相關(guān)問題如下:一、語法錯誤1、語句的最后忘記了加上“;”,使程序發(fā)生錯誤。2、把“<<”與“>>”寫反,以及字符與字符串的操作問題,這些是比較簡單的錯誤,很容易分辨出來,并改正之。3、函數(shù)的返回值問題,也是比較容易找出并解決的問題。二、邏輯錯誤1、文件的寫入與讀出,剛開始對文件的操作不太明白,一致不能很好的操作文件,其中最大的問題是對已存在的文件讀取問題,通過“顯示全部學(xué)生成績” 將數(shù)據(jù)從文件中讀取,可是在使用過程中總是出現(xiàn)讀出錯誤,出現(xiàn)

10、亂碼。2、內(nèi)存的分配問題,這也是困惑了我好久的問題。對于我們初學(xué)者來說對內(nèi)存的分配和釋放問題是比較抽象和模糊的難題,本來使用鏈表的方式存儲數(shù)據(jù),然而待到排序時出現(xiàn)了交換數(shù)據(jù)困難的問題,以及分配空間繁瑣釋放空間不及時的問題,造成空間浪費使得程序運行效率低的問題。因此最后采用了順序存儲記錄的方式,這樣就能改變前述問題。整個調(diào)試過程中主要是這么幾個問題,其余的是一些小問題,很容易的就調(diào)試出來了。4、使用說明用戶運行程序后進入系統(tǒng)主界面,在主界面用戶可以打開或者新建數(shù)據(jù)文件。用戶新建或者打開文件要符合操作系統(tǒng)的要求,如果用戶打開不存在的文件,那么系統(tǒng)將按照用戶打開的文件名作為新的數(shù)據(jù)文件名,并對其進行

11、相關(guān)操作。本系統(tǒng)同時只能對一個數(shù)據(jù)文件進行相關(guān)操作,不能同時打開多個數(shù)據(jù)文件,其類似于單用戶操作系統(tǒng)。當(dāng)用戶指定當(dāng)前文件后可對其進行顯示,插入,刪除,修改,計算平均分等相關(guān)功能。用戶在操作過程中可隨時對當(dāng)前文件進行保存到文件操作,以防止修改的數(shù)據(jù)丟失。操作完當(dāng)前文件后,用戶可以關(guān)閉該文件,在不退出本系統(tǒng)的前提下另行打開或者新建數(shù)據(jù)文件對其進行相關(guān)操作。5、測試數(shù)據(jù)經(jīng)過多次測試程序運行穩(wěn)定,無致命錯誤。根據(jù)本次課程設(shè)計的要求對數(shù)據(jù)進行輸入并分析數(shù)據(jù)輸出結(jié)果。通過測試發(fā)現(xiàn)當(dāng)用戶正確輸入時系統(tǒng)能夠正確顯示用戶的輸入,當(dāng)用戶輸入錯誤時,系統(tǒng)并不會出現(xiàn)致命錯誤但其將顯示非用戶期望的數(shù)據(jù)。例如當(dāng)用戶輸入要

12、插入的學(xué)生記錄信息時,系統(tǒng)將提示:=>> 請輸入學(xué)生成績 <<= 班級:jsj07-1學(xué)號:1001姓名:阿斯頓電子技術(shù)成績:90C+程序設(shè)計成績:97多媒體技術(shù)成績:95大學(xué)英語成績:97高等數(shù)學(xué)成績:90大學(xué)體育成績:85馬克思主義政治經(jīng)濟學(xué)成績:90則系統(tǒng)將能正確輸入并顯示數(shù)據(jù):班級 學(xué)號 姓名 電子 c+ 多媒體 英語 數(shù)學(xué) 體育 政治 平均分Jsj07-1 1001 阿斯頓 90 97 95 97 90 95 90 93.4285但如果在輸入學(xué)生成績的時候輸入小于0或大于100時,程序會提示:對不起,請輸入1-100之間的數(shù)字!因此用戶在輸入時保證輸入數(shù)據(jù)的正

13、確性是很重要的! 第三章 程序流程圖1、程序流程圖因為本系統(tǒng)是一個比較小的學(xué)生成績管理系統(tǒng),因此將程序的所有功能放在了一個文件中,使得方便對程序的管理。2、課程設(shè)計經(jīng)驗和體會一個星期的課程設(shè)計,雖然有些疲勞和困倦,但帶給我很多的收獲。C+已經(jīng)學(xué)了一個學(xué)期了,有許多知識都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過實際的上機操作,已經(jīng)減少了許多。對這些知識也有了更深的理解和很好的掌握。也有很多理論上說得過去的代碼,但到了實際操作,卻是行不通的。這種困惑,有許多已經(jīng)通過實際操作解決了,并能夠深刻認識,但也有很多沒有明白。只能避過這些方法,換方法實現(xiàn)。在課程設(shè)計之前,因為有了綜合實驗的經(jīng)驗與教訓(xùn),明白了寫代碼這

14、一步是非常重要的,因為當(dāng)你把代碼輸入電腦,并用編譯器將其運行,發(fā)現(xiàn)通過不了,再來檢查找出問題,這是一件非常辛苦的事情,也很浪費時間。于是在課程設(shè)計的時候,我花了兩天的時間來規(guī)劃與寫代碼,將要實現(xiàn)的內(nèi)容分析清楚,才把代碼輸入電腦。我覺得寫程序,應(yīng)該先找到該程序中的核心地方,用多種方法來實現(xiàn)該核心,這才可能避免等到發(fā)現(xiàn)邏輯上或者編譯器不支持上的錯誤,才來想補救的措施,這樣花費時間在想補救措施是很不值得的。此次任務(wù)的完成,也體現(xiàn)出同學(xué)之間的團結(jié)精神。實踐是檢驗真理的唯一標(biāo)準(zhǔn)。沒有實踐,就不會發(fā)現(xiàn)和深刻體會它的真實所在。只有通過檢驗的真理,在自己的心里,才會認可它的真實性。面向?qū)ο蟪绦蛟O(shè)計的完成,使我

15、們懂得了真理的重要性,理論和實際的相結(jié)合,才能真正把握所學(xué)和所掌握的知識。附錄(源程序)#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<string.h>#include<stdio.h>class Stu /構(gòu)建學(xué)生類public:friend void Input(Stu stud) ;friend void Statistic(Stu stud);friend void Lookup(Stu stud) ;friend void Modify(S

16、tu stud) ;friend void Delete(Stu stud) ;friend void Output(Stu stud) ;friend void Sort(Stu stud) ;friend void Insert(Stu stud) ;friend void Write(Stu stud,int n); friend int Read(Stu stud);private:char class_020;int num;char name8;float elec;float c_program;float media;float english;float math;float

17、 sport;float polity;float average;int order;stud100;void Write(Stu stud,int n) /向文件中寫入數(shù)據(jù)fstream myFile;myFile.open("student.dat",ios:out|ios:binary);if(!myFile)cout<<"student.dat can't open!"<<endl;abort();int count=n;myFile<<count<<endl<<endl;fo

18、r(int i=0;i<=count;i+)myFile<<studi.class_0<<" "<<studi.num<<" "<<<<" "<<studi.elec<<" "<<studi.c_program<<" "<<studi.media<<" "<<studi.english<&l

19、t;" "<<studi.math<<" "<<studi.sport<<" "<<studi.polity<<" "<<studi.average<<endl; myFile.close();int Read(Stu stud) /從文件中讀數(shù)據(jù) fstream myFile; myFile.open("student.dat",ios:in|ios:binary); if(!myFile)cout

20、<<"student.dat can't open!"<<endl;abort(); int count; myFile.seekg(0); myFile>>count; for(int i=0;i<=count;i+) myFile>>studi.class_0>>studi.num>>>>studi.elec>>studi.c_program>>studi.media>>studi.english>>stu

21、di.math>>studi.sport>>studi.polity>>studi.average; myFile.close(); return count ;void Input(Stu stud) /-輸入學(xué)生成績system("cls"); /*運行前清屏*/int i=0;int flag;char sign;cout<<endl<<"=>> 請輸入學(xué)生成績 <<="<<endl;while(sign!='n'&&si

22、gn!='N') /*判斷*/ cout<<"班級:" /*交互輸入*/ cin>>studi.class_0; loop:cout<<"學(xué)號:" cin>>studi.num;int c=0;while(c<i)c+;if(studi.num=studi-c.num)cout<<" 你輸入的學(xué)號已經(jīng)存在!請重新輸入。"<<endl;goto loop;cout<<"姓名:" cin>>studi.

23、name; doflag=0; cout<<"電子技術(shù)成績:" cin>>studi.elec; if(studi.elec>100 |studi.elec<1) cout<<"對不起,請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); do flag=0; cout<<"C+程序設(shè)計成績:" cin>>studi.c_program; if(studi.c_program>100 |studi.c_program<

24、1) cout<<"對不起,請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); doflag=0;cout<<"多媒體技術(shù)成績:" cin>>studi.media; if(studi.media>100 |studi.media<1) cout<<"對不起,請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); doflag=0; cout<<"大學(xué)英語成績:" cin>

25、;>studi.english; if(studi.english>100 |studi.english<1) cout<<"對不起,請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); doflag=0;cout<<"高等數(shù)學(xué)成績:" cin>>studi.math; if(studi.math>100 |studi.math<1) cout<<"對不起,請輸入1-100之間的數(shù)字!n" else flag=1;while

26、(flag=0); doflag=0; cout<<"大學(xué)體育成績:" cin>>studi.sport; if(studi.sport>100 |studi.sport<1) cout<<"對不起,請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); doflag=0; cout<<"馬克思主義政治經(jīng)濟學(xué)成績:" cin>>studi.polity; if(studi.polity>100 |studi.polity<

27、;1) cout<<"對不起,請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); studi.average=(studi.elec+studi.c_program+studi.media+studi.english+studi.math+studi.sport+studi.polity)/7; cout<<"平均分為:"<<studi.average<<endl; cout<<"=>提示:是否繼續(xù)寫入學(xué)生成績?(Y/N)" cin&

28、gt;>sign; /*輸入判斷*/ i+; Write(stud,i);void Statistic(Stu stud) /-統(tǒng)計學(xué)生數(shù)據(jù) system("cls"); /*運行前清屏*/ int n=Read(stud);cout<<endl<<"=>> 輸出學(xué)生統(tǒng)計數(shù)據(jù) <<="<<endl; cout<<"班級"<<"t"<<"學(xué)號"<<"t"<&l

29、t;" 姓名"<<"t"<<" 平均分"<<endl;for(int i=0;i<n;i+)cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.average<<endl; system("pause"); void Lookup(Stu st

30、ud) /-查找學(xué)生成績 system("cls"); /*運行前清屏*/ int n=Read(stud);int s; int i=0;cout<<endl<<"=>> 查找學(xué)生成績 <<="<<endl;cout<<"請輸入需要查找學(xué)生的學(xué)號:"<<endl; cin>>s; while(studi.num-s)!=0&&i<n) i+; /*查找判斷*/ if(i=n) cout<<"=&

31、gt;提示:對不起,無法找到該學(xué)生的信息!"<<endl; /*輸入失敗信息*/ elsecout<<"-"<<endl; cout<<"班級:"<<studi.class_0<<endl; /*輸出該學(xué)生信息*/ cout<<"學(xué)號:"<<studi.num<<endl; cout<<"姓名:"<<<<endl; cout<<&q

32、uot;電子技術(shù):"<<studi.elec<<endl; cout<<"C+程序設(shè)計:"<<studi.c_program<<endl; cout<<"多媒體技術(shù):"<<studi.media<<endl; cout<<"大學(xué)英語:"<<studi.english<<endl; cout<<"高等數(shù)學(xué):"<<studi.math<<end

33、l; cout<<"大學(xué)體育:"<<studi.sport<<endl; cout<<"馬克思主義政治經(jīng)濟學(xué):"<<studi.polity<<endl; cout<<"平均分:"<<studi.average<<endl;void Modify(Stu stud) /-修改學(xué)生成績 system("cls"); /*運行前清屏*/ int n=Read(stud);int s; int i=0;cout&l

34、t;<endl<<"=>> 修改學(xué)生成績 <<="<<endl;cout<<"請輸入需要修改成績學(xué)生的學(xué)號:"<<endl; cin>>s; while(studi.num-s)!=0&&i<n) i+; /*查找判斷*/ if(i=n) cout<<"=>提示:對不起,無該學(xué)生的成績"<<endl; /*輸入失敗信息*/ elsecout<<"-該學(xué)生的信息-"

35、<<endl; /*格式頭*/ cout<<"班級"<<"t"<<"學(xué)號"<<"t"<<"姓名"<<"t"<<"電子"<<"t"<<"c+"<<"t"<<" 多媒體"<<"t"<<"

36、英語"<<"t"<<"數(shù)學(xué)"<<"t"<<"體育"<<"t"<<"政治"<<"t"<<"平均分"<<endl;cout<<"-"<<endl; cout<<studi.class_0<<"t"<<studi.num<

37、<"t"<<<<"t"<<studi.elec<<"t"<<studi.c_program<<"t"<<studi.media<<"t"<<studi.english<<"t"<<studi.math<<"t"<<studi.sport<<"t"

38、<<studi.polity<<"t"<<studi.average<<endl;cout<<"請重新輸入該學(xué)生的信息"<<endl;cout<<"班級:"<<endl; /*交互輸入*/ cin>>studi.class_0; cout<<"學(xué)號:"<<endl; cin>>studi.num; cout<<"姓名:"<<end

39、l; cin>>; cout<<"電子技術(shù)成績:"<<endl; cin>>studi.elec; cout<<"C+程序設(shè)計成績:"<<endl; cin>>studi.c_program; cout<<"多媒體技術(shù)成績:"<<endl; cin>>studi.media; cout<<"大學(xué)英語成績:"<<endl; cin>>studi

40、.english; cout<<"高等數(shù)學(xué)成績:"<<endl; cin>>studi.math; cout<<"大學(xué)體育成績:"<<endl; cin>>studi.sport; cout<<"馬克思主義政治經(jīng)濟學(xué)成績:"<<endl; cin>>studi.polity; studi.average=(studi.elec+studi.c_program+studi.media+studi.english+studi.mat

41、h+studi.sport+studi.polity)/7; cout<<"平均分為:"<<studi.average<<endl; char c; cout<<"是否保存數(shù)據(jù)?(y/n)"<<endl; cin>>c; if(c!='n'&&c!='N') Write(stud,n);void Delete(Stu stud) /-按學(xué)號查找,刪除學(xué)生信息 system("cls"); /*運行前清屏*/ int

42、n=Read(stud);int s; int i=0,j;cout<<endl<<"=>> 刪除學(xué)生成績 <<="<<endl;cout<<"請輸入需要刪除學(xué)生的學(xué)號:"<<endl; /*交互式問尋*/ cin>>s; while(studi.num-s)!=0&&i<n) i+; /*查找判斷*/ if(i=n) cout<<"=>提示:對不起,無法找到該學(xué)生"<<endl; /*返

43、回失敗信息*/ elsefor(j=i;j<n-1;j+) /*刪除操作*/ strcpy(studj.class_0,studj+1.class_0); studj.num=studj+1.num; strcpy(,studj+1.name); studj.elec=studj+1.elec; studj.c_program=studj+1.c_program; studj.media=studj+1.media; studj.english=studj+1.english; studj.math=studj+1.math; studj.sport=studj+1.

44、sport; studj.polity=studj+1.polity;studj.average=studj+1.average;cout<<"=>提示:已成功刪除!"<<endl; /*返回成功信息*/ Write(stud,n-1); void Insert(Stu stud) /-增加學(xué)生成績 system("cls"); /*運行前清屏*/int n=Read(stud);char s;cout<<endl<<"=>> 增加學(xué)生成績<<="<&

45、lt;endl;while(s!='n'&&s!='N')cout<<"班級:"<<endl; /*交互輸入*/ cin>>studn.class_0; cout<<"學(xué)號:" cin>>studn.num; cout<<"姓名:" cin>>; cout<<"電子技術(shù)成績:" cin>>studn.elec; cout<<&qu

46、ot;C+程序設(shè)計成績:" cin>>studn.c_program; cout<<"多媒體技術(shù)成績:" cin>>studn.media; cout<<"大學(xué)英語成績:" cin>>studn.english; cout<<"高等數(shù)學(xué)成績:" cin>>studn.math; cout<<"大學(xué)體育成績:" cin>>studn.sport; cout<<"馬克思主義政治經(jīng)濟

47、學(xué)成績:" cin>>studn.polity; studn.average=(studn.elec+studn.c_program+studn.media+studn.english+ studn.math+studn.sport+studn.polity)/7; cout<<"平均分"<<studn.average;n+; cout<<"=>提示:插入成功!"<<endl; /*返回成功信息*/cout<<"是否繼續(xù)輸入(y/n)"<&l

48、t;endl;cin>>s;Write(stud,n); void Sort(Stu stud) /-按平均分對學(xué)生成績記錄項進行降序排序 system("cls"); /*運行前清屏*/ int i,j,k; float s; char t20;cout<<endl<<"=>> 降序排序成績 <<="<<endl;int n=Read(stud);for(i=0;i<n-1;i+) /*冒泡法排序*/ for(j=0;j<n-1-i;j+) if(studj.avera

49、ge<studj+1.average) strcpy(t,studj+1.class_0); strcpy(studj+1.class_0,studj.class_0); strcpy(studj.class_0,t); k=studj+1.num; studj+1.num=studj.num; studj.num=k; strcpy(t,studj+1.name); strcpy(studj+1.name,); strcpy(,t); s=studj+1.elec; studj+1.elec=studj.elec; studj.elec=s; s

50、=studj+1.c_program; studj+1.c_program=studj.c_program; studj.c_program=s; s=studj+1.media; studj+1.media=studj.media; studj.media=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; s

51、tudj.sport=s; s=studj+1.polity; studj+1.polity=studj.polity; studj.polity=s; s=studj+1.average; studj+1.average=studj.average; studj.average=s; cout<<"-"<<endl; /*格式頭*/ cout<<"班級"<<"t"<<"學(xué)號"<<"t"<<"姓名&qu

52、ot;<<"t"<<"電子"<<"t"<<"C+"<<"t"<<"多媒體"<<"t"<<"英語"<<"t"<<"數(shù)學(xué)"<<"t"<<"體育"<<"t"<<"政治&

53、quot;<<"t"<<"平均分"<<"t"<<"名次"<<endl; cout<<"-"<<endl; for(i=0;i<n;i+) /*循環(huán)輸入*/ studi.order=i+1;cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<&

54、quot;t"<<studi.elec<<"t"<<studi.c_program<<"t"<<studi.media<<"t "<<studi.english<<" t"<< studi.math<<"t"<<studi.sport<<"t "<<studi.polity<<"t"

55、;<<studi.average<<"t"<<studi.order<<endl; Write(stud,n);void Output(Stu stud) /-顯示全部學(xué)生成績 system("cls"); /*運行前清屏*/int n=Read(stud);cout<<endl<<"=>> 顯示全部學(xué)生成績 <<="<<endl;if(!stud)cout<<"沒有記錄" elsecout<

56、;<"-"<<endl; /*格式頭*/ cout<<"班級"<<"t"<<"學(xué)號"<<"t"<<"姓名"<<"t"<<"電子"<<"t"<<"c+"<<"t"<<"多媒體"<<"t&qu

57、ot;<<"英語"<<"t"<<"數(shù)學(xué)"<<"t"<<"體育"<<"t"<<"政治"<<"t"<<"平均分"<<endl;cout<<"-"<<endl; for(int i=0;i<n;i+) /*循環(huán)輸入*/ cout<<studi.

58、class_0<<"t "<<studi.num<<"t "<<<<"t "<<studi.elec<<" t"<<studi.c_program<<"t "<<studi.media<<"t "<<studi.english<<"t "<< studi.math<<" t&quo

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論