版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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. 使用說明5. 測(cè)試數(shù)據(jù)第三章 使用說明和程序流程圖1. 程序流程圖2. 課程設(shè)計(jì)經(jīng)驗(yàn)和體會(huì)第一章需求分析1、課程設(shè)計(jì)性質(zhì)和目的該課程設(shè)計(jì)的主要任務(wù)是運(yùn)用在面向?qū)ο蟪绦蛟O(shè)計(jì)課程中學(xué)到的理論知識(shí)來指導(dǎo)實(shí)踐,使學(xué)生了解面向?qū)ο笈c面向過程之間的區(qū)別,學(xué)會(huì)用類的方法解決實(shí)際問題。掌握一般類的定義、測(cè)試、封裝、數(shù)據(jù)隱藏、繼承及多態(tài)等概念,掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念和基本方法,掌握C+語言的基本語法和基本內(nèi)容,并能運(yùn)用C+語言進(jìn)行基本的面向?qū)ο蟪绦蛟O(shè)計(jì),并且通過綜合
2、課程設(shè)計(jì),提高學(xué)生的實(shí)踐動(dòng)手技能,培養(yǎng)學(xué)生獨(dú)立分析分析問題和解決問題的能力。2、輸入輸出的形式本系統(tǒng)是一個(gè)學(xué)生成績管理系統(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é)英語、高等數(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ì)算好平均分后并排序后的記錄,顯示內(nèi)容包括:班級(jí)、學(xué)號(hào)、姓
3、名、平均分等數(shù)據(jù)。3、程序的實(shí)現(xiàn)功能用戶運(yùn)行程序后進(jìn)入系統(tǒng)主界面,在主界面用戶可以輸入所有學(xué)生的數(shù)據(jù)并保存到文件中,也可以讀取文件中已有的學(xué)生數(shù)據(jù)。用戶在保存數(shù)據(jù)的時(shí)候,如果保存位置沒有文件則自動(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)操作。第二早 程序設(shè)計(jì)鼻鼻*鼻鼻鼻鼻鼻絹 *鼻Jf *>! fl!卑H鼻鼻耳測(cè)Z鼻H 鼻鼻UM弭Z 疊4 If N 界鼻鼻 鼻迎修超用手生職績首理孵n H Irr W h if W h rt rt wHWwa
4、4¥ s W s K1" WH" r H11" H h si H-w si H tail ktail H H,ii H rii h " < h Wii rWH itWm h W r h " ri H trHil Iriiii h r W b m H 上像!4H1甲作卯4= A莊鳧fit成Ft-f'+T ¥上V才羽蘭工 入謹(jǐn)?shù)の菲?JLiH1、概要設(shè)計(jì)主界面:在此界面用戶可以選擇要操作的選項(xiàng),回車之后即可進(jìn)入相關(guān)頁面進(jìn)行操作(例如選 擇1回車,即可進(jìn)入輸入學(xué)生數(shù)據(jù)頁面在本界面里用戶可以輸入學(xué)生的相關(guān)數(shù)據(jù)按照提示操
5、作即可例如:>>謂斬人爭(zhēng)土?xí)A: <<' -=THHkJl 電亍補(bǔ)??;用顱認(rèn)H嚼節(jié)或r*潼邢烏唸生図治理濟(jì)宰贓咖平:0九TH.JHbT卡"澧示是否鍵蟻寫人學(xué)生廃琦了詫用2、詳細(xì)設(shè)計(jì)在main ()函數(shù)中主要是通過”switch(menu()”選擇判斷來調(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é)生成績*/ break
6、;case 2:Statistic(stud); /*輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)*/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é)號(hào)查找,刪除學(xué)生信息*/cout<<"ttt"system("
7、pause");break;case 6:Insert(stud);/*增加學(xué)生成績*/cout<<"ttt"system("pause");break;case 7:Sort(stud); /*按平均分對(duì)學(xué)生成績記錄項(xiàng)進(jìn)行降序排序*/cout<<"ttt"system("pause");break;case 8:Output(stud); /*顯示全部學(xué)生成績*/cout<<"ttt"system("pause");break;
8、case 0:cout<<e ndl<<"=<<感謝您使用學(xué)生成績管理系統(tǒng)>>=n"<<en dl;/*結(jié)束程序*/cout<<"ttt"system("pause"); exit(0);主界面的設(shè)計(jì):在主界面中包括“輸入學(xué)生成績顯示統(tǒng)計(jì)數(shù)據(jù)查找學(xué)生成績修改學(xué)生成績刪除學(xué)生成績 插入學(xué)生成績按平均分降序排列顯示全部學(xué)生成績退出本系統(tǒng)”等全部的功能,之所以設(shè)計(jì)這么一個(gè)主界面,一是因?yàn)槟苁褂脩魧?duì)程序操作的流程更加清楚簡(jiǎn)明,二是保證了用戶同時(shí) 只能對(duì)一個(gè)文件進(jìn)行操作的系
9、統(tǒng)要求,保證了系統(tǒng)不會(huì)發(fā)生打開文件紊亂或者出現(xiàn)致命錯(cuò)誤。每個(gè) 函數(shù)的具體功能:1 )主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對(duì)成績表進(jìn)行處理;2 )錄入函數(shù)Input():輸入班級(jí)到政治課成績;3 )統(tǒng)計(jì)函數(shù)Statistic。:計(jì)算平均成績;4 )查詢函數(shù)Lookup。:查詢指定學(xué)號(hào)學(xué)生成績記錄;5 )修改函數(shù) Modify。:修改指定學(xué)號(hào)學(xué)生成績記錄;6 )刪除函數(shù)Delete():刪除指定學(xué)號(hào)學(xué)生記錄;7 )輸出函數(shù)Output。:輸出班級(jí)所有學(xué)生成績記錄;8)排序函數(shù)Sort():按平均分對(duì)學(xué)生成績記錄項(xiàng)進(jìn)行降序排序;9 )插入函數(shù)Insert():按平均分順序插入
10、新記錄。3、調(diào)試分析調(diào)試是整個(gè)程序編寫過程中十分重要也是很困難的一部分,在這個(gè)過程中用了不少的時(shí)間進(jìn)行 程序的調(diào)試,在調(diào)試過程中遇到的相關(guān)問題如下:一、語法錯(cuò)誤1、語句的最后忘記了加上“;”,使程序發(fā)生錯(cuò)誤。2、把“ << ”與“ >> ”寫反,以及字符與字符串的操作問題,這些是比較簡(jiǎn)單的錯(cuò)誤,很容易 分辨出來,并改正之。3、函數(shù)的返回值問題,也是比較容易找出并解決的問題。二、邏輯錯(cuò)誤1、文件的寫入與讀出,剛開始對(duì)文件的操作不太明白,一致不能很好的操作文件,其中最大的問題是對(duì)已存在的文件讀取問題,通過“顯示全部學(xué)生成績”將數(shù)據(jù)從文件中讀取,可是在使用過程中總是出現(xiàn)讀出錯(cuò)
11、誤,出現(xiàn)亂碼。2、 內(nèi)存的分配問題,這也是困惑了我好久的問題。對(duì)于我們初學(xué)者來說對(duì)內(nèi)存的分配和釋放問 題是比較抽象和模糊的難題,本來使用鏈表的方式存儲(chǔ)數(shù)據(jù),然而待到排序時(shí)出現(xiàn)了交換數(shù)據(jù)困難 的問題,以及分配空間繁瑣釋放空間不及時(shí)的問題,造成空間浪費(fèi)使得程序運(yùn)行效率低的問題。因 此最后采用了順序存儲(chǔ)記錄的方式,這樣就能改變前述問題。整個(gè)調(diào)試過程中主要是這么幾個(gè)問題,其余的是一些小問題,很容易的就調(diào)試出來了。4、使用說明用戶運(yùn)行程序后進(jìn)入系統(tǒng)主界面,在主界面用戶可以打開或者新建數(shù)據(jù)文件。用戶新建或者打 開文件要符合操作系統(tǒng)的要求,如果用戶打開不存在的文件,那么系統(tǒng)將按照用戶打開的文件名作 為新的數(shù)
12、據(jù)文件名,并對(duì)其進(jìn)行相關(guān)操作。本系統(tǒng)同時(shí)只能對(duì)一個(gè)數(shù)據(jù)文件進(jìn)行相關(guān)操作,不能同 時(shí)打開多個(gè)數(shù)據(jù)文件,其類似于單用戶操作系統(tǒng)。當(dāng)用戶指定當(dāng)前文件后可對(duì)其進(jìn)行顯示,插入,刪除,修改,計(jì)算平均分等相關(guān)功能。用戶在 操作過程中可隨時(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)過多次測(cè)試程序運(yùn)行穩(wěn)定,無致命錯(cuò)誤。根據(jù)本次課程設(shè)計(jì)的要求對(duì)數(shù)據(jù)進(jìn)行輸入并分析數(shù) 據(jù)輸出結(jié)果。通過測(cè)試發(fā)現(xiàn)當(dāng)用戶正確輸入時(shí)系統(tǒng)能夠正確顯示用戶的輸入,當(dāng)用戶輸入錯(cuò)誤時(shí), 系統(tǒng)并不會(huì)出現(xiàn)致命錯(cuò)誤但其將顯示非用
13、戶期望的數(shù)據(jù)。例如當(dāng)用戶輸入要插入的學(xué)生記錄信息時(shí),系統(tǒng)將提示:=>>請(qǐng)輸入學(xué)生成績<<=班級(jí):jsj07-1學(xué)號(hào):1001姓名:阿斯頓電子技術(shù)成績:90C+程序設(shè)計(jì)成績:97多媒體技術(shù)成績:95大學(xué)英語成績:97高等數(shù)學(xué)成績:90大學(xué)體育成績:85馬克思主義政治經(jīng)濟(jì)學(xué)成績:90則系統(tǒng)將能正確輸入并顯示數(shù)據(jù):班級(jí) 學(xué)號(hào) 姓名 電子C+多媒體英語數(shù)學(xué)體育政治平均分Jsj07-1 1001 阿斯頓 9097959790959093.4285但如果在輸入學(xué)生成績的時(shí)候輸入小于0或大于100時(shí),程序會(huì)提示: 對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!因此用戶在輸入時(shí)保證輸入數(shù)據(jù)的正確
14、性是很重要的!第三章程序流程圖1、程序流程圖因?yàn)楸鞠到y(tǒng)是一個(gè)比較小的學(xué)生成績管理系統(tǒng),因此將程序的所有功能放在了一個(gè)文件中,使 得方便對(duì)程序的管理。主界面輸入學(xué)生成績查拔學(xué)生成績改 學(xué) 生 成插 入 學(xué) 主 成搜 平 均 分序?qū)W 主 戚 第退出系統(tǒng)結(jié)束2、課程設(shè)計(jì)經(jīng)驗(yàn)和體會(huì)一個(gè)星期的課程設(shè)計(jì),雖然有些疲勞和困倦,但帶給我很多的收獲。C+已經(jīng)學(xué)了一個(gè)學(xué)期了,有許多知識(shí)都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過實(shí)際的上機(jī)操作,已經(jīng)減少了許多。對(duì)這些知識(shí)也有了 更深的理解和很好的掌握。也有很多理論上說得過去的代碼,但到了實(shí)際操作,卻是行不通的。這種困 惑,有許多已經(jīng)通過實(shí)際操作解決了,并能夠深刻認(rèn)識(shí),但也有
15、很多沒有明白。只能避過這些方法,換 方法實(shí)現(xiàn)。在課程設(shè)計(jì)之前,因?yàn)橛辛司C合實(shí)驗(yàn)的經(jīng)驗(yàn)與教訓(xùn),明白了寫代碼這一步是非常重要的,因 為當(dāng)你把代碼輸入電腦,并用編譯器將其運(yùn)行,發(fā)現(xiàn)通過不了,再來檢查找出問題,這是一件非常辛苦 的事情,也很浪費(fèi)時(shí)間。于是在課程設(shè)計(jì)的時(shí)候,我花了兩天的時(shí)間來規(guī)劃與寫代碼,將要實(shí)現(xiàn)的內(nèi)容 分析清楚,才把代碼輸入電腦。我覺得寫程序,應(yīng)該先找到該程序中的核心地方,用多種方法來實(shí)現(xiàn)該核心,這才可能避免等到發(fā)現(xiàn)邏輯上或者編譯器不支持上的錯(cuò)誤,才來想補(bǔ)救的措施,這樣花費(fèi)時(shí)間在 想補(bǔ)救措施是很不值得的。此次任務(wù)的完成,也體現(xiàn)岀同學(xué)之間的團(tuán)結(jié)精神。實(shí)踐是檢驗(yàn)真理的唯一標(biāo) 準(zhǔn)。沒有實(shí)踐,
16、就不會(huì)發(fā)現(xiàn)和深刻體會(huì)它的真實(shí)所在。只有通過檢驗(yàn)的真理,在自己的心里,才會(huì)認(rèn)可 它的真實(shí)性。面向?qū)ο蟪绦蛟O(shè)計(jì)的完成,使我們懂得了真理的重要性,理論和實(shí)際的相結(jié)合,才能真正 把握所學(xué)和所掌握的知識(shí)。#in clude<iostream.h>#in clude<fstream.h>#in clude<stdlib.h>#in clude<stri ng.h>#in clude<stdio.h> public:class Stu/構(gòu)建學(xué)生類friend void Input(Stu stud); friend void Statistic(S
17、tu stud); friend void Lookup(Stu stud); frie nd void Modify(Stu stud); friend void Delete(Stu stud); friend void Output(Stu stud);friend void Sort(Stu stud);friend void In sert(Stu stud);frie nd void Write(Stu stud,i nt n);friend int Read(Stu stud);private:char class_020;int num;char n ame8;float el
18、ec;float c_program;float media;float en glish;float math;float sport;float polity;float average;int order;stud100;void Write(Stu stud,int n)/ 向文件中寫入數(shù)據(jù)fstream myFile;myFile.ope n("stude nt.dat",ios:out|ios:b in ary);if(!myFile)cout<<"stude nt.dat can't ope n!"<<e n
19、dl;abort();int count=n;myFile<<co un t<<e ndl<<e ndl;for(i nt i=0;i<=co un t;i+)myFile<<studi.class_O<<""<<studi. num<<""<<studi. name<<""<<studi.elec<<" "<<studi.c_program<<"
20、; "<<studi.media<<" "<<studi.e nglish<<""<<studi.math<<""<<studi.sport<<""<<studi.polity<<""<<studi.average<<e ndl;myFile.close();int Read(Stu stud) /從文件中讀數(shù)據(jù)fstream myFile;m
21、yFile.ope n("stude nt.dat",ios:i n|ios:b in ary);if(!myFile)abort();int count;myFile.seekg(O);myFile»co unt;for(i nt i=0;i<=co un t;i+)myFile»studi.class_O»studi. num >>studi. name»studi.elec»studi.c_progra m»studi.media»studi.e nglish>>stu
22、di.math»studi.sport>>studi.polity»st udi.average;myFile.close();retur n count ;void In put(Stu stud) / 輸入學(xué)生成績system("cls"); /*運(yùn)行前清屏 */int i=0;int flag;char sig n;cout<<e ndl<<"=>>請(qǐng)輸入學(xué)生成績<<="<<e ndl;while(sign!='n'&&sig
23、n!='N')/*判斷 */cout<<" 班級(jí):"/*交互輸入*/cin> >studi.class_O;loop:cout<<" 學(xué)號(hào):"cin> >studi. num;int c=0;while(c<i)c+;if(studi. num=studi-c .num)"<<e ndl;cout<<"你輸入的學(xué)號(hào)已經(jīng)存在!請(qǐng)重新輸入。goto loop;cout<<" 姓名:"cin> >stud
24、i. name;doflag=0;cout<<"電子技術(shù)成績:"cin> >studi.elec;if(studi.elec>100 |studi.elec<1)cout<<" 對(duì)不起 謂輸入1-100之間的數(shù)字!!n"elseflag=1;while(flag=O);doflag=0;cout<<" C+程序設(shè)計(jì)成績:";cin> >studi.c_program;if(studi.c_program>100 |studi.c_program<1)c
25、out<<" 對(duì)不起 謂輸入1-100之間的數(shù)字!n"elseflag=1;while(flag=0);doflag=0;cout<<"多媒體技術(shù)成績:"cin> >studi.media;if(studi.media>100 |studi.media<1)cout<<" 對(duì)不起 謂輸入1-100之間的數(shù)字!n"elseflag=1;while(flag=O);doflag=0;cout<<"大學(xué)英語成績:";cin> >studi
26、.e nglish;if(studi.english>100 |studi.english<1)cout<<" 對(duì)不起 謂輸入1-100之間的數(shù)字!!n"elseflag=1;while(flag=0);doflag=0;cout<<"高等數(shù)學(xué)成績:"cin> >studi.math;if(studi.math>100 |studi.math<1)cout<<" 對(duì)不起 謂輸入1-100之間的數(shù)字!n"elseflag=1;while(flag=0);doflag
27、=0;cin> >studi.sport;if(studi.sport>100 |studi.sport<1)cout<<" 對(duì)不起 謂輸入1-100之間的數(shù)字!!n"elseflag=1;while(flag=O);doflag=0;cout<<"馬克思主義政治經(jīng)濟(jì)學(xué)成績:";cin> >studi.polity;if(studi.polity>100 |studi.polity<1)cout<<" 對(duì)不起 謂輸入1-100之間的數(shù)字!n"elsef
28、lag=1;while(flag=0);studi.average=(studi.elec+studi.c_program+studi.media+studi.e nglish+studi.math+studi.sport+studi.polity)/7;cout<<" 平均分為:"<<studi.average<<e ndl;cout<<"=> 提示:是否繼續(xù)寫入學(xué)生成績 ?(Y/N)"cin>>sig n; /*輸入判斷 */Write(stud,i);void Statistic(S
29、tu stud)/ 統(tǒng)計(jì)學(xué)生數(shù)據(jù)system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);cout<<e ndl<<"=>>輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)<<="<<e ndl;cout<<" 班級(jí)"<<"t"<<" 學(xué)號(hào)"<<"t"<<" 姓名"<<"t"<<" 平均分&
30、quot;<<endl; for(i nt i=0;i< n; i+)cout<<studi.class_0<<"t"<<studi. num <<"t"<<studi. name<<"t"<<studi.average<<e ndl;system("pause");void Lookup(Stu stud) / 查找學(xué)生成績system("cls"); /*運(yùn)行前清屏 */int
31、n=Read(stud);int s;int i=0;cout<<e ndl<<"=>>查找學(xué)生成績<<="<<e ndl;cin> >s;while(studi.num-s)!=O&&i<n) i+; /*查找判斷 */if(i=n)/*輸入失敗信cout<<"=> 提示:對(duì)不起,無法找到該學(xué)生的信息!"<<e ndl;息*/elsecout<<""<<e ndl;cout<<
32、;" 班級(jí):"<<studi.class_O<<endl; /*輸出該學(xué)生信息 */cout<<"學(xué)號(hào):"<<studi.num<<endl;cout<<"姓名:"<<<<endl;cout<<"電子技術(shù):"<<studi.elec<<endl;cout<<"C+程序設(shè)計(jì):"<<studi.c_program<<
33、;endl;cout<<"多媒體技術(shù):"<<studi.media<<endl;cout<<"大學(xué)英語:"<<studi.english<<endl;cout<<"高等數(shù)學(xué):"<<studi.math<<endl;cout<<"大學(xué)體育:"<<studi.sport<<endl;cout<<"馬克思主義政治經(jīng)濟(jì)學(xué):"<<studi
34、.polity<<e ndl;cout<<"平均分:"<<studi.average<<endl;void Modify(Stu stud)/修改學(xué)生成績system("cls"); /* 運(yùn)行前清屏 */int n=Read(stud);int s;int i=0;cout<<e ndl<<"=>>修改學(xué)生成績 <<="<<e ndl;cout<<"請(qǐng)輸入需要修改成績學(xué)生的學(xué)號(hào):"<<
35、;e ndl;cin»s;while(studi. num-s)!=0&&i<n) i+; /*查找判斷*/if(i=n)elsecout<<"提示:對(duì)不起,無該學(xué)生的成績"<<endl; /*輸入失敗信息*/cout<<"該學(xué)生的信息"<<en dl; /*格式頭*/cout<<" 班級(jí)"<<"t"<<"姓名"<<"t"<<"
36、"<<"t"<<"c+"<<"t"<<"多媒體"<<"t"<<" 英語"<<"t"<<" 數(shù)學(xué)"<<"t"<<" 體育"<<"t"<<" 政治"<<"t"<<&q
37、uot;平均分"<<endl;cout<<studi.class_0<<"t"<<studi. num <<"t"<<studi. name<<"t"<<studi.elec<<"t"<<studi.c_program<<"t"<<studi.media<<"t"<<studi.e nglish<
38、;<"t"<<studi.math<<"t"<<studi.sport<<"t"<<studi.polity<<"t"<<studi.average<<e ndl;cout<<"請(qǐng)重新輸入該學(xué)生的信息"<<e ndl;cout<<" 班級(jí):"<<endl; /*交互輸入 */cin> >studi.class_O;c
39、out<<"學(xué)號(hào):"<<endl;cin> >studi. num;cout<<"姓名:"<<endl;cin> >studi. name;cout<<" 電子技術(shù)成績:"<<endl;cin> >studi.elec;cout<<"C+程序設(shè)計(jì)成績:"<<endl;cin> >studi.c_program;cout<<" 多媒體技術(shù)成績:"
40、;<<endl;cin> >studi.media;cout<<" 大學(xué)英語成績:"<<endl;cin> >studi.e nglish;cout<<" 高等數(shù)學(xué)成績:"<<endl;cin> >studi.math;cin> >studi.sport;cout<<"馬克思主義政治經(jīng)濟(jì)學(xué)成績:"<<e ndl;cin> >studi.polity;studi.average=(studi.e
41、lec+studi.c_program+studi.media+studi.e nglish+stu di.math+studi.sport+studi.polity)/7;cout<<"平均分為:"<<studi.average<<e ndl;char c;cout<<"是否保存數(shù)據(jù)?(y/n)"<<endl;cin> >c;if(c!=' n'&&c!='N')Write(stud, n);void Delete(Stu stud)
42、 / 按學(xué)號(hào)查找,刪除學(xué)生信息system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);int s;int i=0,j;cout<<e ndl<<"=>>刪除學(xué)生成績 <<="<<e ndl;cout<<"請(qǐng)輸入需要?jiǎng)h除學(xué)生的學(xué)號(hào):"<<endl; /*交互式問尋*/cin> >s;while(studi.num-s)!=0&&i<n) i+; /*查找判斷 */if(i=n)返回失敗信息*/
43、cout<<"=> 提示:對(duì)不起,無法找到該學(xué)生"<<e ndl; /*elsefor( j=i;j<n-1;j+)/*刪除操作 */strcpy(studj.class_0,studj+1.class_0);studj. num=studj+1. num;strcpy(studj. name,stud j+1. name);studj.elec=studj+1.elec;studj.c_program=stud j+1.c_program;studj.media=studj+1.media;studj.e nglish=studj+1.
44、e nglish;studj.math=studj+1.math;studj.sport=studj+1.sport;studj.polity=studj+1.polity;studj.average=studj+1.average;Write(stud, n-1);void In sert(Stu stud)/ 增加學(xué)生成績system("cls"); /* 運(yùn)行前清屏 */int n=Read(stud);char s;cout<<endl<<"=>>增加學(xué)生成績 <<="<<endl;wh
45、ile(s!=' n'&&s!='N')cout<<" 班級(jí):"<<endl; /*交互輸入 */ cin> >stud n.class_0;cout<<"學(xué)號(hào):"cin> >stud n. num;cout<<"姓名:"cin> >stud n. name;cout<<"電子技術(shù)成績:"cin> >stud n.elec;cout<<"C
46、+ 程序設(shè)計(jì)成績cin> >stud n.c_program;cout<<"多媒體技術(shù)成績cin> >stud n.media;cout<<"大學(xué)英語成績:";cin> >stud n.e nglish;cout<<"高等數(shù)學(xué)成績:"cin> >stud n.math;cout<<"大學(xué)體育成績:"cin> >stud n.sport;cout<<"馬克思主義政治經(jīng)濟(jì)學(xué)成績 :"cin&
47、gt; >stud n.polity;stud n.average=(stud n.elec+stud n.c_program+stud n.media+stud n.e nglish+ stud n.math+stud n.sport+stud n.polity)/7;cout<<"平均分"<<studn.average;n+;cout<<"=>提示:插入成功!"<<endl; /* 返回成功信息*/cout<<"是否繼續(xù)輸入(y/n)"<<endl
48、;cin> >s;Write(stud, n);void Sort(Stu stud) / 按平均分對(duì)學(xué)生成績記錄項(xiàng)進(jìn)行降序排序system("cls"); /* 運(yùn)行前清屏 */int i,j,k;float s;char t20;cout<<e ndl<<"=>>降序排序成績<<="<<e ndl;int n=Read(stud);for(i=0;i<n-1;i+)/*冒泡法排序 */for( j=O;j<n-1-i;j+)if(studj.average<st
49、udj+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,studj. name);strcpy(studj. name,t);s=studj+1.elec;studj+1.elec=stud j.elec;studj.elec=s;s=studj+1.c_p
50、rogram;studj+1.c_program=stud j.c_program;studj.c_program=s;s=studj+1.media;studj+1.media=studj.media;studj.media=s;s=studj+1.e nglish;studj+1.e nglish=studj.e nglish;studj.e nglish=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+
51、1.polity;studj+1.polity=studj.polity;studj.polity=s;s=studj+1.average;studj+1.average=stud j.average;studj.average=s;cout<<""<<endl; /*格式頭 */cout<<" 班級(jí)"<<"t"<<" 學(xué)號(hào)"<<"t"<<" 姓名"<<"t"&
52、lt;<" 電子體育"<<"t"<<"C+"<<"t"<<"多媒體"<<"t"<<" 英 語"<<%"<<" 數(shù) 學(xué)"<<%"<<""<<"t"<<" 政治"<<"t"<&
53、lt;" 平均分"<<"t"<<"名次"<<endl;cout<<""<<e ndl;for(i=0;i<n;i+) /* 循環(huán)輸入 */studi.order=i+1;cout<<studi.class_0<<"t"<<studi. num <<"t"<<studi. name<<"t"<<studi.el
54、ec<<"t"<<studi.c_program<<"t"<<studi.media<<"t"<<studi.e nglish<<"t"<<studi.math<<"t"<<studi.sport<<"t"<<studi.polity<<"t"<<studi.average<<&
55、quot;t"<<studi.order<<e ndl;Write(stud, n);void Output(Stu stud) / 顯示全部學(xué)生成績system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);cout<<e ndl<<"=>>顯示全部學(xué)生成績<<="<<e ndl;if(!stud)cout<<" 沒有記錄"elsecout<<""<<en dl
56、; /*格式頭*/cout<<" 班級(jí)"<<"t"<<"名"<<"t"<<""<<"t"<<"c+"<<"t"<<"多媒體"<<"t"<<" 英 語"<<"t"<<"數(shù)學(xué)"<&l
57、t;"t"<<" 體育"<<"t"<<" 政治"<<"t"<<" 平均分"<<endl;cout<<""<<endl;for(i nt i=0;i< n;i+) /*循環(huán)輸入*/cout<<studi.class_0<<"t"<<studi. num <<"t"<<studi. name<<"t"<<studi.elec<<"t"<<studi.c_program<<"t"<<studi.media<<"t"<<studi.e n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度虛擬現(xiàn)實(shí)設(shè)備研發(fā)與委托生產(chǎn)合同
- 2024年度機(jī)械設(shè)備買賣合同樣本
- 2024年度人力資源外包與招聘服務(wù)協(xié)議
- 2024年度物流園區(qū)建設(shè)與運(yùn)營合同
- 2024年員工保密協(xié)議模板
- 2024年度自建房施工合同終止合同
- 2024年工程預(yù)付款資金監(jiān)管協(xié)議
- 2024出版社與作者之間的出版合同
- 2024年度企業(yè)文化建設(shè)合作協(xié)議
- 2024年建筑企業(yè)與監(jiān)理單位服務(wù)協(xié)議
- 中國女性生理健康白皮書
- 天然氣巡檢記錄表
- 甲苯磺酸瑞馬唑侖臨床應(yīng)用
- 民法典講座-繼承篇
- 外包施工單位入廠安全培訓(xùn)(通用)
- 糖尿病健康知識(shí)宣教課件
- 客戶接觸點(diǎn)管理課件
- Python語言學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫2023年
- 醫(yī)學(xué)-心臟驟停急救培訓(xùn)-心臟驟停急救教學(xué)課件
- 高中英語-Book 1 Unit 4 Click for a friend教學(xué)課件設(shè)計(jì)
- 年產(chǎn)30萬噸碳酸鈣粉建設(shè)項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論