版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、希品田0川-第一章需求分析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ì)-假設(shè)品?/仃川 第一章需求分析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ū)ο蟪?/p>
2、序設(shè)計(jì),并且通過綜合課程設(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ì)算好平均分后并排序后的記錄,顯示
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í)候,如果保存位置沒有文件那么自動(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í)對(duì)當(dāng)前文件進(jìn)行保存到文件操作,以預(yù)防修改的數(shù)據(jù)喪失.¥過峰聚植顯阻劃撥 .14Q4F上忒一班.噌前一成底斗兒子7 -主界面:在此界面用戶可以選擇
4、要操作的選項(xiàng),回車之后即可進(jìn)入相關(guān)頁面進(jìn)行操作例如擇1回車,即可進(jìn)入輸入學(xué)生數(shù)據(jù)頁面第二章程序設(shè)計(jì)1、概要設(shè)計(jì) ,u,iayj - L m u J" t '*tHl£h+ulC*1.ZHMi! >H具野川整事* 局1 MJMI禺鼻典號(hào)鼻事>的,具IMML a R內(nèi)4H育理 IMWUMMf >!> 舄-, 4a4晨M *國禺出具(!) 4 M-a f野!曇野事工11£ X<O5 85 用不生版績 8理> $- -國 彳薩* 看 / 彳 L量胃*k - F/ *'彳K宜E ,* *Y/ *量 X * E X If k
5、F N / /定« / T W -當(dāng)算近他太或弟2 .L有僧螃淳4在本界面里用戶可以輸入學(xué)生的相關(guān)數(shù)據(jù)根據(jù)提示操作即可.例如:W粉4單寸.皮土?4 rlr:jGJH7-l 羋胄二1H81 姓假設(shè)理崛 Hl ' : T :,F:用品每克累主義及怡經(jīng)濟(jì)竽成聚造平均分為,fl-SS57>T, T否步第既入理±忘徜TE個(gè)>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(
6、) /*主函數(shù)*/(for(;)(switch(menu() /* 選擇判斷 */(case 1:Input(stud);/*輸入學(xué)生成績*/break;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;c
7、ase 5:Delete(stud); /*按學(xué)號(hào)查找,刪除學(xué)生信息 */cout<<"ttt"system("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(s
8、tud);/*顯示全部學(xué)生成績*/cout<<"ttt"system("pause");break;case 9:cout<<endl<<" =<<感謝您使用學(xué)生成績治理系統(tǒng) >>=n"<<endl; /*結(jié)束程序 */cout<<"ttt"system("pause");exit(0);主界面的設(shè)計(jì):在主界面中包括“輸入學(xué)生成績顯示統(tǒng)計(jì)數(shù)據(jù)查找學(xué)生成績修改學(xué)生成績刪除學(xué)生成績 插入學(xué)生成績按平均分降序排列顯示全
9、部學(xué)生成績退出本系統(tǒng)等全部的功能,之所以設(shè)計(jì)這么一個(gè)主界面,一是由于能使用戶對(duì)程序操作的流程更加清楚簡(jiǎn)明,二是保證了用戶同時(shí)只能對(duì)一個(gè)文件進(jìn)行操作的系統(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(
10、):輸出班級(jí)所有學(xué)生成績記錄;8)排序函數(shù)Sort():按平均分對(duì)學(xué)生成績記錄項(xiàng)進(jìn)行降序排序;9)插入函數(shù)Insert.:按平均分順序插入新記錄.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ì)文件的操作不太明白,一致不能很好
11、的操作文件,其中最大的 問題是對(duì)已存在的文件讀取問題,通過“顯示全部學(xué)生成績將數(shù)據(jù)從文件中讀取,可是在使用過程中總是出現(xiàn)讀出錯(cuò)誤,出現(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)主界面,在主界面用戶可以翻開或者新
12、建數(shù)據(jù)文件.用戶新建或者打 開文件要符合操作系統(tǒng)的要求,如果用戶翻開不存在的文件,那么系統(tǒng)將根據(jù)用戶翻開的文件名作 為新的數(shù)據(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)行保存到文件操作,以預(yù)防修改的數(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ù)
13、輸出結(jié)果.通過測(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í):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 阿斯頓 9097 959790959093.4285但如
14、果在輸入學(xué)生成績的時(shí)候輸入小于0或大于100時(shí),程序會(huì)提示:對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!因此用戶在輸入時(shí)保證輸入數(shù)據(jù)的正確性是很重要的!第三章 程序流程圖1、程序流程圖由于本系統(tǒng)是一個(gè)比擬小的學(xué)生成績治理系統(tǒng),因此將程序的所有功能放在了一個(gè)文件中,使 得方便對(duì)程序的治理.開始主界面輸入學(xué)生成績顯示 統(tǒng)計(jì) 數(shù) 據(jù)查 找 學(xué) 生 成 績顯 示 學(xué) 生 成 績退出本系統(tǒng)給榮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í)也有了 更深的理解和很好的掌握
15、.也有很多理論上說得過去的代碼,但到了實(shí)際操作,卻是行不通的.這種困 惑,有許多已經(jīng)通過實(shí)際操作解決了,并能夠深刻熟悉,但也有很多沒有明白.只能避過這些方法,換 方法實(shí)現(xiàn).在課程設(shè)計(jì)之前,由于有了綜合實(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)該 核心,這才可能預(yù)防等到發(fā)現(xiàn)邏輯上或者編譯器不支持上的錯(cuò)誤,才來想補(bǔ)救的
16、舉措,這樣花費(fèi)時(shí)間在 想補(bǔ)救舉措是很不值得的.此次任務(wù)的完成,也表達(dá)出同學(xué)之間的團(tuán)結(jié)精神.實(shí)踐是檢驗(yàn)真理的唯一標(biāo) 準(zhǔn).沒有實(shí)踐,就不會(huì)發(fā)現(xiàn)和深刻體會(huì)它的真實(shí)所在.只有通過檢驗(yàn)的真理,在自己的心里,才會(huì)認(rèn)可 它的真實(shí)性.面向?qū)ο蟪绦蛟O(shè)計(jì)的完成,使我們懂得了真理的重要性,理論和實(shí)際的相結(jié)合,才能真正 把握所學(xué)和所掌握的知識(shí).- 養(yǎng)品 城03附錄(源程序)#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<string.h>#include<stdio.h>cl
17、ass 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);friend void Output(Stu stud);friend void Sort(Stu stud);friend void Insert(Stu stud);friend void Write(Stu stud,int n);friend int Re
18、ad(Stu stud);private:char class_020;int num;char name8;float elec;float c_program;float media;float english;float math;float 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&l
19、t;<"student.dat can't open!"<<endl;abort();int count=n;myFile<<count<<endl<<endl;for(int i=0;i<=count;i+)myFile<<studi.class_0<<""<<studi.num<<""<<<<""<<studi.elec<<&qu
20、ot; "<<studi.c_program<<" "<<studi.media<<" "<<studi.english<<""<<studi.math<<""<<studi.sport<<""<<studi.polity<<""<<studi.average<<endl;myFile.close()
21、;int Read(Stu stud) /從文件中讀數(shù)據(jù)fstream myFile;myFile.open("student.dat",ios:in|ios:binary);if(!myFile)-假設(shè)品?/仃川 ( cout<<"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&
22、gt;>studi.num>>>>studi.elec>>studi.c_progra m>>studi.media>>studi.english>>studi.math>>studi.sport>>studi.polity>>st udi.average;) myFile.close(); return count ; )void Input(Stu stud) / 輸入學(xué)生成績( system("cls"); /*運(yùn)行前清屏 */int
23、i=0;int flag;char sign;cout<<endl<<"=>>請(qǐng)輸入學(xué)生成績 <<="<<endl;while(sign!='n'&&sign!='N') /*判斷*/( cout<<"班級(jí):"/* 交互輸入*/ cin>>studi.class_0;loop:cout<<"學(xué)號(hào):"; cin>>studi.num;int c=0;while(c<i)(c+;
24、if(studi.num=studi-c.num) (cout<<"你輸入的學(xué)號(hào)已經(jīng)存在!請(qǐng)重新輸入."<<endl;goto loop;cout<<"姓名:";cin>>;doflag=0;cout<<"電子技術(shù)成績:";cin>>studi.elec;if(studi.elec>100 |studi.elec<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!n"elseflag=1;whil
25、e(flag=0);doflag=0;cout<<" C+程序設(shè)計(jì)成績:";cin>>studi.c_program;if(studi.c_program>100 |studi.c_program<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!n"elseflag=1;while(flag=0);doflag=0;cout<<"多媒體技術(shù)成績:";cin>>studi.media;if(studi.media>100 |studi.media<
26、1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!n"elseflag=1;while(flag=0);doflag=0;cout<<"大學(xué)英語成績:";cin>>studi.english;if(studi.english>100 |studi.english<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!n"elseflag=1;while(flag=0);doflag=0;cout<<"高等數(shù)學(xué)成績:";cin>>
27、;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é)體育成績:;cin>>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&l
28、t;<"馬克思主義政治經(jīng)濟(jì)學(xué)成績:";cin>>studi.polity;if(studi.polity>100 |studi.polity<1)cout<<"對(duì)不起,請(qǐng)輸入1-100之間的數(shù)字!!n"elseflag=1;while(flag=0);studi.average=(studi.elec+studi.c_program+studi.media+studi.english+studi.math+studi.sport+studi.polity)/7;cout<<"平均分為:&qu
29、ot;<<studi.average<<endl;cout<<"=>提示:是否繼續(xù)寫入學(xué)生成績?(Y/N)"cin>>sign; /* 輸入判斷 */ i+;Write(stud,i);void Statistic(Stu stud) / 統(tǒng)計(jì)學(xué)生數(shù)據(jù)system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);cout<<endl<<"=>>輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)<<="<<endl;cout<&l
30、t;"班級(jí)"<<"t"<<"學(xué)號(hào)"<<"t"<<"姓名"<<"t"<<" 平均分"<<endl;for(int i=0;i<n;i+)cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t&
31、quot;<<studi.av erage<<endl;system("pause");void Lookup(Stu stud) / 查找學(xué)生成績system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);int s;int i=0;cout<<endl<<"=>>查找學(xué)生成績 <<="<<endl;cout<<"請(qǐng)輸入需要查找學(xué)生的學(xué)號(hào):"<<endl;cin>>s;w
32、hile(studi.num-s)!=0&&i<n) i+; /*查找判斷 */if(i=n) cout<<"=>提示:對(duì)不起,無法找到該學(xué)生的信息!"<<endl;/*輸入失敗信息*/ elsecout<<""<<endl;cout<<"班級(jí):"<<studi.class_0<<endl; /* 輸出該學(xué)生信息 */cout<<"學(xué)號(hào):"<<studi.num<<en
33、dl;cout<<"姓名:"<<<<endl;cout<<"電子技術(shù):"<<studi.elec<<endl;cout<<"C+ 程序設(shè)計(jì):"<<studi.c_program<<endl;cout<<"多媒體技術(shù):"<<studi.media<<endl;cout<<"大學(xué)英語:"<<studi.englis
34、h<<endl;cout<<"高等數(shù)學(xué):"<<studi.math<<endl;cout<<"大學(xué)體育:"<<studi.sport<<endl;cout<<"馬克思主義政治經(jīng)濟(jì)學(xué):"<<studi.polity<<endl;cout<<"平均分:"<<studi.average<<endl;)void Modify(Stu stud) / 修改學(xué)生成績(sys
35、tem("cls"); /* 運(yùn)行前清屏 */int n=Read(stud);int s;int i=0;cout<<endl<<"=>>修改學(xué)生成績 <<="<<endl;cout<<"請(qǐng)輸入需要修改成績學(xué)生的學(xué)號(hào):"<<endl;cin>>s;while(studi.num-s)!=0&&i<n) i+; /*查找判斷 */if(i=n)( cout<<"=>提示:對(duì)不起,無該學(xué)生的成
36、績 "<<endl; /* 輸入失敗信息*/) else(cout<<" 該學(xué)生白信息"<<endl; /*格式頭*/cout<<"班級(jí)"<<"t"<<" 學(xué)號(hào)"<<"t"<<" 姓名"<<"t"<<" 電子"<<"t"<<"c+<<"
37、;t"<<" 多媒體"<<"t"<<" 英語"<<"t"<<" 數(shù)學(xué)"<<"t"<<" 體育"<<"t"<<" 政治"<<"t"<<"平均分"<<endl;cout<<""<<end
38、l;cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.elec<<"t"<<studi.c_program<<"t"<<studi.media<<"t"<<studi.english<<"t"<<st
39、udi.math<<"t"<<studi.sport<<"t"<<studi.polity<<"t"<<studi.average<<e ndl;cout<<"請(qǐng)重新輸入該學(xué)生的信息"<<endl;cout<<"班級(jí):"<<endl; /*交互輸入 */cin>>studi.class_0;cout<<"學(xué)號(hào):"<&
40、lt;endl;cin>>studi.num;cout<<"姓名:"<<endl;cin>>;cout<<"電子技術(shù)成績:"<<endl;cin>>studi.elec;cout<<"C+ 程序設(shè)計(jì)成績:"<<endl;cin>>studi.c_program;cout<<"多媒體技術(shù)成績:"<<endl;cin>>studi.media;c
41、out<<"大學(xué)英語成績:"<<endl;cin>>studi.english;cout<<"高等數(shù)學(xué)成績:"<<endl;cin>>studi.math;cout<<"大學(xué)體育成績:"<<endl;cin>>studi.sport;cout<<"馬克思主義政治經(jīng)濟(jì)學(xué)成績:"<<endl;cin>>studi.polity;studi.average=(studi.elec
42、+studi.c_program+studi.media+studi.english+studi.math+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);-假設(shè)品?/仃川 ) void Delete(Stu stu
43、d) / 按學(xué)號(hào)查找,刪除學(xué)生信息( system("cls"); /*運(yùn)行前清屏 */int n=Read(stud); int s; int i=0,j;cout<<endl<<"=>>刪除學(xué)生成績 <<="<<endl;cout<<"請(qǐng)輸入需要?jiǎng)h除學(xué)生的學(xué)號(hào):"<<endl;/*交互式問尋*/cin>>s;while(studi.num-s)!=0&&i<n) i+; /*查找判斷 */if(i=n) (cout
44、<<"=>提示:對(duì)不起,無法找到該學(xué)生 "<<endl; /* 返回失敗信息*/) else (for(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.
45、english;studj.math=studj+1.math;studj.sport=studj+1.sport;studj.polity=studj+1.polity;studj.average=studj+1.average;) cout<<"=>提示:已成功刪除! "<<endl; /*返回成功信息*/)Write(stud,n-1);)void Insert(Stu stud) / 增加學(xué)生成績(system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);char s;cout<<
46、;endl<<"=>>增力學(xué)生成績 <<="<<endl;while(s!='n'&&s!='N')(cout<<"班級(jí):"<<endl; /*交互輸入 */cin>>studn.class_0;cout<<"學(xué)號(hào):";cin>>studn.num;cout<<"姓名:";cin>>;cout<<"
47、;電子技術(shù)成績:";cin>>studn.elec;cout<<"C+ 程序設(shè)計(jì)成績:";cin>>studn.c_program;cout<<"多媒體技術(shù)成績:";cin>>studn.media;cout<<"大學(xué)英語成績:";cin>>studn.english;cout<<"高等數(shù)學(xué)成績:";cin>>studn.math;cout<<"大學(xué)體育成績:;-假設(shè)品?/仃川
48、 cin>>studn.sport; cout<<"馬克思主義政治經(jīng)濟(jì)學(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; /*
49、 返回成功信息*/cout<<"是否繼續(xù)輸入(y/n)"<<endl;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<<endl<<"=>> 降序排序成績 <<="<<endl;int n=Read(stud);for(i=0;i<n-1;i+
50、)/*冒泡法排序 */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(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;stu
51、dj+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=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+
52、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.average;studj.average=s;cout<<""<<endl; /*格式頭*/-假設(shè)品?/仃川cout<<"班級(jí)"<<"t"<<" 學(xué)號(hào)"<<"t&quo
53、t;<<" 姓名"<<"t"<<" 電子"<<"t"<<"C+<<"t"<<" 媒 體"<<"t"<<" 英 語"<<"t"<<" 數(shù) 學(xué)"<<"t"<<" 體 育"<<"
54、t"<<" 政 治"<<"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"&
55、lt;<<<"t"<<studi.elec<<"t"<<studi.c_program<<"t"<<studi.media<<"t"<<studi.english<<" t"<<studi.math<<"t"<<studi.sport<<"t "<<studi.po
56、lity<<"t"<<studi.average<<"t"<<studi.order<<endl;Write(stud,n);void Output(Stu stud) / 顯示全部學(xué)生成績(system("cls"); /*運(yùn)行前清屏 */int n=Read(stud);cout<<endl<<"=>>顯示全部學(xué)生成績 <<="<<endl;if(!stud)cout<<"
57、;沒有記錄"else(cout<<""<<endl; /*格式頭 */cout<<"班級(jí)"<<"t"<<" 學(xué)號(hào)"<<"t"<<" 姓名"<<"t"<<" 電子 "<<"t"<<"c+"<<"t"<<"
58、多媒體"<<"t"<<"英語"<<"t"<<"數(shù)學(xué)"<<"t"<<"體育"<<"t"<<" 政治"<<"t"<<"平均分"<<endl;cout<<""<<endl;for(int i=0;i<n;i+) /*循環(huán)車入*/-假設(shè) 品?/仃川cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.elec<<"t"<<studi.c_program<<"t"<<studi.media<<"t&quo
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能電網(wǎng)建設(shè)入股合作協(xié)議4篇
- 羊駝創(chuàng)意美術(shù)課程設(shè)計(jì)
- 2024版聘用總經(jīng)理合同范本
- 2025年度深海油氣田鉆井作業(yè)合同4篇
- 2025年度裝配式建筑施工合同范本4篇
- 二零二五年度某工程有限責(zé)任公司爐渣資源化利用項(xiàng)目合作協(xié)議4篇
- 二零二五版板車租賃與物流配送標(biāo)準(zhǔn)化合同3篇
- 魔獸爭(zhēng)霸課程設(shè)計(jì)
- 二零二五年度高檔鋁制門窗設(shè)計(jì)生產(chǎn)安裝一體化合同4篇
- 2024水路貨物運(yùn)輸合同范本:港口運(yùn)營與貨物裝卸服務(wù)協(xié)議3篇
- GB/T 11072-1989銻化銦多晶、單晶及切割片
- GB 15831-2006鋼管腳手架扣件
- 有機(jī)化學(xué)機(jī)理題(福山)
- 醫(yī)學(xué)會(huì)自律規(guī)范
- 商務(wù)溝通第二版第4章書面溝通
- 950項(xiàng)機(jī)電安裝施工工藝標(biāo)準(zhǔn)合集(含管線套管、支吊架、風(fēng)口安裝)
- 微生物學(xué)與免疫學(xué)-11免疫分子課件
- 《動(dòng)物遺傳育種學(xué)》動(dòng)物醫(yī)學(xué)全套教學(xué)課件
- 弱電工程自檢報(bào)告
- 民法案例分析教程(第五版)完整版課件全套ppt教學(xué)教程最全電子教案
- 7.6用銳角三角函數(shù)解決問題 (2)
評(píng)論
0/150
提交評(píng)論