完整word版,c++學(xué)生成績(jī)管理系統(tǒng)+課設(shè)報(bào)告書(帶源代碼)精品_第1頁(yè)
完整word版,c++學(xué)生成績(jī)管理系統(tǒng)+課設(shè)報(bào)告書(帶源代碼)精品_第2頁(yè)
完整word版,c++學(xué)生成績(jī)管理系統(tǒng)+課設(shè)報(bào)告書(帶源代碼)精品_第3頁(yè)
完整word版,c++學(xué)生成績(jī)管理系統(tǒng)+課設(shè)報(bào)告書(帶源代碼)精品_第4頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、生成績(jī)*/cout<<"ttt"system("pause");break;case 7:Sort(stud); /* 按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序*/cout<<"ttt"system("pause");break;case 8:Output(stud);/* 顯示全部學(xué)生成績(jī)*/cout<<"ttt"system("pause");break;case 0:cout<<endl<<"=<&

7、lt;感謝您使用學(xué)生成績(jī)管理系統(tǒng) >>=n"<<endl; /*結(jié)束程序 */cout<<"ttt"system("pause");exit(0);主界面的設(shè)計(jì):在主界面中包括“輸入學(xué)生成績(jī)顯示統(tǒng)計(jì)數(shù)據(jù)查找學(xué)生成績(jī)修改學(xué)生成績(jī)刪除學(xué)生成績(jī)插入學(xué)生成績(jī)按平均分降序排列顯示全部學(xué)生成績(jī)退出本系統(tǒng) ”等全部的功能,之所以設(shè)計(jì)這么一個(gè)主界面,一是因?yàn)槟苁褂脩魧?duì)程序操作的流程更加清楚簡(jiǎn)明,二是保證了用戶同時(shí)只能對(duì)一個(gè)文件進(jìn)行操作的系統(tǒng)要求,保證了系統(tǒng)不會(huì)發(fā)生打開文件紊亂或者出現(xiàn)致命錯(cuò)誤。每個(gè)函數(shù)的具體功能:41)主函數(shù)

8、main() :定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對(duì)成績(jī)表進(jìn)行處理;2)錄入函數(shù)Input() :輸入班級(jí)到政治課成績(jī);3)統(tǒng)計(jì)函數(shù)Statistic() :計(jì)算平均成績(jī);4)查詢函數(shù)Lookup() :查詢指定學(xué)號(hào)學(xué)生成績(jī)記錄;5)修改函數(shù)Modify() :修改指定學(xué)號(hào)學(xué)生成績(jī)記錄;6)刪除函數(shù)Delete() :刪除指定學(xué)號(hào)學(xué)生記錄;7)輸出函數(shù)Output() :輸出班級(jí)所有學(xué)生成績(jī)記錄;8) 排序函數(shù) Sort() :按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序;9)插入函數(shù)Insert():按平均分順序插入新記錄。3、調(diào)試分析調(diào)試是整個(gè)程序編寫過(guò)程中十分重要也是很困難的一部分,在這個(gè)

9、過(guò)程中用了不少的時(shí)間進(jìn)行程序的調(diào)試,在調(diào)試過(guò)程中遇到的相關(guān)問(wèn)題如下:一、語(yǔ)法錯(cuò)誤1、語(yǔ)句的最后忘記了加上“;”,使程序發(fā)生錯(cuò)誤。2 、把“ <<”與“ >> ”寫反,以及字符與字符串的操作問(wèn)題,這些是比較簡(jiǎn)單的錯(cuò)誤,很容易分辨出來(lái),并改正之。3、函數(shù)的返回值問(wèn)題,也是比較容易找出并解決的問(wèn)題。二、邏輯錯(cuò)誤1、文件的寫入與讀出,剛開始對(duì)文件的操作不太明白,一致不能很好的操作文件,其中最大的問(wèn)題是對(duì)已存在的文件讀取問(wèn)題,通過(guò)“顯示全部學(xué)生成績(jī)” 將數(shù)據(jù)從文件中讀取,可是在使用過(guò)程中總是出現(xiàn)讀出錯(cuò)誤,出現(xiàn)亂碼。2、內(nèi)存的分配問(wèn)題,這也是困惑了我好久的問(wèn)題。對(duì)于我們初學(xué)者來(lái)說(shuō)對(duì)

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

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

12、t;<=班級(jí): jsj07-1學(xué)號(hào): 1001姓名:阿斯頓電子技術(shù)成績(jī):90C+ 程序設(shè)計(jì)成績(jī) :97多媒體技術(shù)成績(jī):95大學(xué)英語(yǔ)成績(jī):97高等數(shù)學(xué)成績(jī):90大學(xué)體育成績(jī):85馬克思主義政治經(jīng)濟(jì)學(xué)成績(jī):90則系統(tǒng)將能正確輸入并顯示數(shù)據(jù):班級(jí)學(xué)號(hào)姓名電子 c+ 多媒體英語(yǔ)數(shù)學(xué)體育 政治平均分Jsj07-1 1001 阿斯頓9097959790959093.4285但如果在輸入學(xué)生成績(jī)的時(shí)候輸入小于0 或大于 100 時(shí),程序會(huì)提示:對(duì)不起 ,請(qǐng)輸入 1-100 之間的數(shù)字 !因此用戶在輸入時(shí)保證輸入數(shù)據(jù)的正確性是很重要的!6第三章程序流程圖1、程序流程圖因?yàn)楸鞠到y(tǒng)是一個(gè)比較小的學(xué)生成績(jī)管理

13、系統(tǒng),因此將程序的所有功能放在了一個(gè)文件中,使得方便對(duì)程序的管理。2、課程設(shè)計(jì)經(jīng)驗(yàn)和體會(huì)一個(gè)星期的課程設(shè)計(jì),雖然有些疲勞和困倦,但帶給我很多的收獲。C+已經(jīng)學(xué)了一個(gè)學(xué)期了,有許多知識(shí)都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過(guò)實(shí)際的上機(jī)操作,已經(jīng)減少了許多。對(duì)這些知識(shí)也有了更深的理解和很好的掌握。也有很多理論上說(shuō)得過(guò)去的代碼,但到了實(shí)際操作,卻是行不通的。這種困惑,有許多已經(jīng)通過(guò)實(shí)際操作解決了,并能夠深刻認(rèn)識(shí),但也有很多沒(méi)有明白。只能避過(guò)這些方法,換方法實(shí)現(xiàn)。在課程設(shè)計(jì)之前,因?yàn)橛辛司C合實(shí)驗(yàn)的經(jīng)驗(yàn)與教訓(xùn),明白了寫代碼這一步是非常重要的,因?yàn)楫?dāng)你把代碼輸入電腦,并用編譯器將其運(yùn)行,發(fā)現(xiàn)通過(guò)不了,再來(lái)檢查找

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

15、序)#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(Stu stud) ;friend void Delete(Stu stud) ;fri

16、end 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;8float sport;float polity;float average;int order

17、;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;for(int i=0;i<=count;i+)myFile<<stud

18、i.class_0<<" "<<studi.num<<" "<<<<" "<<studi.elec<<" "<<studi.c_program<<" "<<studi.media<<" "<<studi.english<<""<<studi.math<<&qu

19、ot;"<<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)9cout<<"student.dat can't open!"<

20、;<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>>studi.math>>studi.sport>>studi.polity>>s

21、tudi.average;myFile.close();return count ;void Input(Stu stud) /-輸入學(xué)生成績(jī)system("cls"); /*運(yùn)行前清屏 */int i=0;int flag;char sign;cout<<endl<<"=>>請(qǐng)輸入學(xué)生成績(jī)<<="<<endl;while(sign!='n'&&sign!='N') /*判斷 */cout<<"班級(jí) :" /*交互輸

22、入 */cin>>studi.class_0;loop:cout<<"學(xué)號(hào) :"cin>>studi.num;10int c=0;while(c<i)c+;if(studi.num=studi-c.num)cout<<"你輸入的學(xué)號(hào)已經(jīng)存在! 請(qǐng)重新輸入。 "<<endl;goto loop;cout<<"姓名 :"cin>>;doflag=0;cout<<"電子技術(shù)成績(jī):"cin>>

23、;studi.elec;if(studi.elec>100 |studi.elec<1)cout<<"對(duì)不起 , 請(qǐng)輸入 1-100 之間的數(shù)字 !n"elseflag=1;while(flag=0);doflag=0;cout<<" C+程序設(shè)計(jì)成績(jī):"cin>>studi.c_program;if(studi.c_program>100 |studi.c_program<1)cout<<"對(duì)不起 , 請(qǐng)輸入 1-100 之間的數(shù)字 !n"elseflag=1;

24、while(flag=0);11doflag=0;cout<<"多媒體技術(shù)成績(jī):"cin>>studi.media;if(studi.media>100 |studi.media<1)cout<<" 對(duì)不起 , 請(qǐng)輸入 1-100 之間的數(shù)字 !n" elseflag=1;while(flag=0);doflag=0;cout<<"大學(xué)英語(yǔ)成績(jī):"cin>>studi.english;if(studi.english>100 |studi.english&l

25、t;1)cout<<" 對(duì)不起 , 請(qǐng)輸入 1-100 之間的數(shù)字 !n" elseflag=1;while(flag=0);doflag=0;cout<<"高等數(shù)學(xué)成績(jī):"cin>>studi.math;if(studi.math>100 |studi.math<1)cout<<" 對(duì)不起 , 請(qǐng)輸入 1-100 之間的數(shù)字 !n" elseflag=1;while(flag=0);doflag=0;cout<<"大學(xué)體育成績(jī):"12cin&

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

27、=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é)生成績(jī)?(Y/N)"cin>>sign; /*輸入判斷 */i+;Write(stud,i);void Statistic(Stu s

28、tud)/-統(tǒng)計(jì)學(xué)生數(shù)據(jù)system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);cout<<endl<<"=>>輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)<<="<<endl;cout<<"班級(jí) "<<"t"<<"學(xué)號(hào) "<<"t"<<"姓名 "<<"t"<<"平均分 "&

29、lt;<endl;13for(int i=0;i<n;i+)cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.average<<endl;system("pause");void Lookup(Stu stud) /-查找學(xué)生成績(jī)system("cls"); /*運(yùn)行前清屏 */int n=Read(stud)

30、;int s;int i=0;cout<<endl<<"=>>查找學(xué)生成績(jī)<<="<<endl;cout<<" 請(qǐng)輸入需要查找學(xué)生的學(xué)號(hào):"<<endl;cin>>s;while(studi.num-s)!=0&&i<n) i+; /*查找判斷 */if(i=n)cout<<"=> 提示:對(duì)不起,無(wú)法找到該學(xué)生的信息!"<<endl; /*輸入失敗信息 */elsecout<<

31、"-"<<endl;cout<<" 班級(jí) :"<<studi.class_0<<endl; /*輸出該學(xué)生信息*/cout<<" 學(xué)號(hào) :"<<studi.num<<endl;cout<<" 姓名 :"<<<<endl;cout<<" 電子技術(shù) :"<<studi.elec<<endl;cout<<"

32、C+ 程序設(shè)計(jì) :"<<studi.c_program<<endl;cout<<" 多媒體技術(shù) :"<<studi.media<<endl;cout<<" 大學(xué)英語(yǔ) :"<<studi.english<<endl;cout<<" 高等數(shù)學(xué) :"<<studi.math<<endl;14cout<<" 大學(xué)體育 :"<<studi.sport<&l

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

34、lt;endl;cout<<" 請(qǐng)輸入需要修改成績(jī)學(xué)生的學(xué)號(hào):"<<endl;cin>>s;while(studi.num-s)!=0&&i<n) i+; /*查找判斷 */if(i=n)cout<<"=> 提示:對(duì)不起,無(wú)該學(xué)生的成績(jī)"<<endl; /*輸入失敗信息*/elsecout<<"-該學(xué)生的信息 -"<<endl; /*格式頭 */cout<<"班級(jí)"<<"

35、t"<<"學(xué)號(hào)"<<"t"<<"姓名"<<"t"<<"電子"<<"t"<<"c+"<<"t"<<"多媒體 "<<"t"<<"英語(yǔ) "<<"t"<<"數(shù)學(xué) "<<&

36、quot;t"<<"體育 "<<"t"<<"政治 "<<"t"<<"平均分 "<<endl;cout<<"-"<<endl;cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"&l

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

38、rage<<endl;15cout<<" 請(qǐng)重新輸入該學(xué)生的信息"<<endl;cout<<" 班級(jí) :"<<endl; /*交互輸入 */cin>>studi.class_0;cout<<" 學(xué)號(hào) :"<<endl;cin>>studi.num;cout<<" 姓名 :"<<endl;cin>>;cout<<" 電子技術(shù)成績(jī):&q

39、uot;<<endl;cin>>studi.elec;cout<<"C+ 程序設(shè)計(jì)成績(jī) :"<<endl;cin>>studi.c_program;cout<<" 多媒體技術(shù)成績(jī):"<<endl;cin>>studi.media;cout<<" 大學(xué)英語(yǔ)成績(jī):"<<endl;cin>>studi.english;cout<<" 高等數(shù)學(xué)成績(jī):"<<endl;ci

40、n>>studi.math;cout<<" 大學(xué)體育成績(jī):"<<endl;cin>>studi.sport;cout<<" 馬克思主義政治經(jīng)濟(jì)學(xué)成績(jī):"<<endl;cin>>studi.polity;studi.average=(studi.elec+studi.c_program+studi.media+studi.english+studi.math+studi.sport+studi.polity)/7;cout<<" 平均分為: "

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

42、;>刪除學(xué)生成績(jī)<<="<<endl;cout<<" 請(qǐng)輸入需要?jiǎng)h除學(xué)生的學(xué)號(hào):"<<endl; /*交互式問(wèn)尋 */cin>>s;while(studi.num-s)!=0&&i<n) i+; /*查找判斷 */if(i=n)cout<<"=> 提示:對(duì)不起,無(wú)法找到該學(xué)生"<<endl; /*返回失敗信息*/elsefor(j=i;j<n-1;j+) /*刪除操作 */strcpy(studj.class_0,stud

43、j+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.sport;studj.polity=studj+1.polity;studj.average=studj+1.average;17cout<&

44、lt;"=> 提示:已成功刪除!"<<endl; /*返回成功信息*/Write(stud,n-1);void Insert(Stu stud) /-增加學(xué)生成績(jī)system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);char s;cout<<endl<<"=>>增加學(xué)生成績(jī)<<="<<endl;while(s!='n'&&s!='N')cout<<" 班級(jí) :

45、"<<endl; /*交互輸入 */cin>>studn.class_0;cout<<"學(xué)號(hào) :"cin>>studn.num;cout<<"姓名 :"cin>>;cout<<"電子技術(shù)成績(jī):"cin>>studn.elec;cout<<"C+程序設(shè)計(jì)成績(jī) :"cin>>studn.c_program;cout<<"多媒體技術(shù)成績(jī):"c

46、in>>studn.media;cout<<"大學(xué)英語(yǔ)成績(jī):"cin>>studn.english;cout<<"高等數(shù)學(xué)成績(jī):"cin>>studn.math;cout<<"大學(xué)體育成績(jī):"18cin>>studn.sport;cout<<"馬克思主義政治經(jīng)濟(jì)學(xué)成績(jī):"cin>>studn.polity;studn.average=(studn.elec+studn.c_program+studn.medi

47、a+studn.english+studn.math+studn.sport+studn.polity)/7;cout<<" 平均分 "<<studn.average;n+;cout<<"=> 提示:插入成功!"<<endl; /*返回成功信息*/cout<<" 是否繼續(xù)輸入 (y/n)"<<endl;cin>>s;Write(stud,n);void Sort(Stu stud) /-按平均分對(duì)學(xué)生成績(jī)記錄項(xiàng)進(jìn)行降序排序system("

48、;cls"); /*運(yùn)行前清屏 */int i,j,k;float s;char t20;cout<<endl<<"=>>降序排序成績(jī)<<="<<endl;int n=Read(stud);for(i=0;i<n-1;i+) /*冒泡法排序 */for(j=0;j<n-1-i;j+)if(studj.average<studj+1.average)strcpy(t,studj+1.class_0);strcpy(studj+1.class_0,studj.class_0);strcpy(

49、studj.class_0,t);k=studj+1.num;studj+1.num=studj.num;19studj.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=studj+1.c_program;studj+1.c_program=studj.c_program;studj.c_program=s;s=studj+1.media;studj+1.media=stu

50、dj.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;studj.sport=s;s=studj+1.polity;studj+1.polity=studj.polity;studj.polity=s;s=studj+1.average;studj+1.average=studj.avera

51、ge;studj.average=s;cout<<"-"<<endl; /*格式頭 */20cout<<" 班級(jí) "<<"t"<<"學(xué)號(hào) "<<"t"<<"姓名 "<<"t"<<"電子 "<<"t"<<"C+"<<"t"<<

52、"多媒 體 "<<"t"<<"英 語(yǔ) "<<"t"<<"數(shù) 學(xué) "<<"t"<<"體 育 "<<"t"<<"政 治 "<<"t"<<"平 均 分"<<"t"<<"名次 "<<endl;

53、cout<<"-"<<endl;for(i=0;i<n;i+) /*循環(huán)輸入 */studi.order=i+1;cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.elec<<"t"<<studi.c_program<<"t"<<stud

54、i.media<<"t"<<studi.english<<"t"<<studi.math<<"t"<<studi.sport<<"t"<<studi.polity<<"t"<<studi.average<<"t"<<studi.order<<endl;Write(stud,n);void Output(Stu stud)

55、/-顯示全部學(xué)生成績(jī)system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);cout<<endl<<"=>>顯示全部學(xué)生成績(jī)<<="<<endl;if(!stud)cout<<" 沒(méi)有記錄 "elsecout<<"-"<<endl; /*格式頭 */cout<<"班級(jí)"<<"t"<<"學(xué)號(hào)"<

56、<"t"<<"姓名"<<"t"<<"電子"<<"t"<<"c+"<<"t"<<"多媒體 "<<"t"<<"英語(yǔ) "<<"t"<<"數(shù)學(xué) "<<"t"<<"體育 &quo

57、t;<<"t"<<"政治 "<<"t"<<"平均分 "<<endl;cout<<"-"<<endl;for(int i=0;i<n;i+) /*循環(huán)輸入 */21cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.elec<<"t"<<studi.c_program<<"t"&

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論