已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
中南大學(xué)二一二二一三學(xué)年第二學(xué)期信息科學(xué)與工程學(xué)院C+程序設(shè)計(jì)語言課程設(shè)計(jì)報(bào)告課程名稱:C+程序設(shè)計(jì)語言班 級(jí):電氣信息類1206班 學(xué) 號(hào):0909120629姓 名:鄔繼陽指導(dǎo)教師:王磊 二0一三年零七月目錄1.課程設(shè)計(jì)目的32.系統(tǒng)描述(需求分析)32.1需要處理的基礎(chǔ)數(shù)據(jù)32.2系統(tǒng)的基本功能32.3可行性分析43.功能模塊設(shè)計(jì)43.1類的分析與設(shè)計(jì)43.1.1 Course類43.1.2 Stu類53.2整體流程64.主要模塊的算法說明74.1信息的保存和讀取74.2 對(duì)信息的處理74.2.1 數(shù)據(jù)的錄入和插入74.2.2 數(shù)據(jù)的查詢74.2.3 數(shù)據(jù)的修改74.2.4 數(shù)據(jù)的刪除74.2.5 數(shù)據(jù)的排序85.程序運(yùn)行結(jié)果85.1 菜單歡迎界面85.3信息的顯示95.4 信息的查詢95.5 信息的修改105.6 信息的刪除115.7 按平均分降序排列115.8 查看全部信息125.9 輸出不及格學(xué)生信息125.10 退出系統(tǒng)136.課程設(shè)計(jì)總結(jié)137.參考文獻(xiàn)138.附錄(源代碼)141.課程設(shè)計(jì)目的1.1使學(xué)生進(jìn)一步理解和掌握課堂上所學(xué)各種基本抽象數(shù)據(jù)類型的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和操作實(shí)現(xiàn)算法,以及它們?cè)诔绦蛑械氖褂梅椒ā?.2使學(xué)生掌握軟件設(shè)計(jì)的基本內(nèi)容和設(shè)計(jì)方法,并培養(yǎng)學(xué)生進(jìn)行規(guī)范化軟件設(shè)計(jì)的能力。1.3使學(xué)生掌握使用各種計(jì)算機(jī)資料和有關(guān)參考資料,提高學(xué)生進(jìn)行程序設(shè)計(jì)的基本能力。2.系統(tǒng)描述(需求分析)2.1需要處理的基礎(chǔ)數(shù)據(jù)學(xué)生基本信息:如班級(jí)、學(xué)號(hào)、姓名、性別、年齡、宿舍號(hào)碼、電話號(hào)碼等。學(xué)生選修課程的基本信息:課程編號(hào)、課程名稱、考試成績、平時(shí)成績、綜合成績、學(xué)分、 重修否等。2.2系統(tǒng)的基本功能數(shù)據(jù)的錄入:如錄入學(xué)生的基本信息,以及該學(xué)生選修課程的基本信息;數(shù)據(jù)的修改:如修改指定學(xué)號(hào)、或者指定姓名的學(xué)生信息,或者修改其選修課程信息;數(shù)據(jù)的插入:插入某個(gè)學(xué)生信息數(shù)據(jù)的查詢:如按學(xué)號(hào)查詢、按姓名查詢等;數(shù)據(jù)的刪除:如刪除指定學(xué)號(hào)、或者指定姓名的學(xué)生及其選修課的信息;平均成績的計(jì)算:計(jì)算每個(gè)學(xué)生各門功課的平均成績,并按平均成績從高到低的次序輸出 學(xué)生信息;列出不及格學(xué)生清單(學(xué)號(hào)、姓名、不及格的課程和成績)??紤]用文件把數(shù)據(jù)保存起來(可選)。2.3可行性分析2.3.1如上所示,該系統(tǒng)要求處理一些學(xué)生成績的基本數(shù)據(jù),包括兩個(gè)方面:學(xué)生身份信息和學(xué)生成績信息。具體可以考慮創(chuàng)建兩個(gè)類,一個(gè)學(xué)生基本信息類,一個(gè)學(xué)科基本信息類。這樣既可以保持二者的獨(dú)立性,也可以使之相關(guān)聯(lián)。2.3.2該系統(tǒng)不僅要求能錄入一些基本數(shù)據(jù)外,還要能對(duì)這些數(shù)據(jù)進(jìn)行處理,比如修改,刪除,插入,查詢等。對(duì)這些操作的實(shí)現(xiàn)可以暫時(shí)放開面向?qū)ο?,而采用面向過程的方法。另外,因?yàn)閷?duì)數(shù)據(jù)庫了解不多,可以考慮用文件保存的形式將數(shù)據(jù)保存起來,最后在查找的時(shí)候采用文件讀取。3.功能模塊設(shè)計(jì)3.1類的分析與設(shè)計(jì)由上面的需求分析可以知道,在本程序中,需要處理兩大類數(shù)據(jù):一個(gè)是學(xué)生的身份基本信息,另一個(gè)是該同學(xué)的課程基本信息。而且要求二者既要相互聯(lián)系,又不能太相互制約。于是可以考慮創(chuàng)建兩個(gè)類: Stu 類(學(xué)生信息類)和 Course 類(課程信息類)。為了使二者相互關(guān)聯(lián),可以讓 Course 的一個(gè)類對(duì)象作為Stu 對(duì)象的一個(gè)基本數(shù)據(jù)成員。具體如下:3.1.1 Course類由于學(xué)生只需要一些課程信息,故在該類中只有一些基本的成員數(shù)據(jù),不涉及成員函數(shù)之類的對(duì)數(shù)據(jù)進(jìn)行操作的函數(shù)。把對(duì)學(xué)生信息進(jìn)行處理的函數(shù)放在Stu類中。成員成員屬性訪問類型course_num數(shù)據(jù)成員publiccourse_name數(shù)據(jù)成員publicregular_score數(shù)據(jù)成員publicFinal_score數(shù)據(jù)成員publicaverage_score數(shù)據(jù)成員publicstudy_score數(shù)據(jù)成員publicrebulid數(shù)據(jù)成員public由于這些數(shù)據(jù)信息是作為Stu類的一個(gè)信息的,為了使stu類中的函數(shù)可以訪問這些成員數(shù)據(jù),故要將訪問類型定義為public型。3.1.2 Stu類正如上面所述,Course類的一個(gè)對(duì)象作為Stu類的一個(gè)數(shù)據(jù)成員,但是正常情況下,一個(gè)同學(xué)是不只一門科目的,所以要定義一個(gè)Course類的數(shù)組來存放同一學(xué)生的不同科目信息Course course20。為了其信息的隱蔽性,我們把所有的數(shù)據(jù)成員都聲明為private。接下來,要處理的就是函數(shù)了。有兩種處理方式,但到底是采用成員函數(shù)還是采用友元函數(shù)呢?在本例中,我采用的是友元函數(shù)。原因如下:(1)采用友元函數(shù),可以使類的結(jié)構(gòu)變得更加簡單,有助于整個(gè)設(shè)計(jì)過程的思考。(2)使用友元函數(shù),將函數(shù)獨(dú)立于類的結(jié)構(gòu)之外而采用類對(duì)象傳參的方式,可以使該函數(shù)的獨(dú)立性大大提高,有助于在其他地方的使用。具體如下:成員成員屬性訪問類型Class_num數(shù)據(jù)成員privatenum數(shù)據(jù)成員privatename數(shù)據(jù)成員privatesex數(shù)據(jù)成員privateage數(shù)據(jù)成員privateroom數(shù)據(jù)成員privatetel數(shù)據(jù)成員privateaverage數(shù)據(jù)成員privateNum_of_course數(shù)據(jù)成員privateorder數(shù)據(jù)成員privateCourse20數(shù)據(jù)成員private友元函數(shù):Input( Stu stud )輸入學(xué)生信息Statistic( Stu stud )學(xué)生信息輸出Lookup( Stu stud )查找學(xué)生信息Modify( Stu stud )修改學(xué)生信息Delete( Stu stud ) 刪除學(xué)生信息Output( Stu stud )輸出全部信息Sort( Stu stud )對(duì)學(xué)生進(jìn)行排序Insert( Stu stud ) 插入學(xué)生信息Showfail( Stu stud ) 查找不及格學(xué)生Write( Stu stud )文件寫入函數(shù)Read( Stu stud ) 文件讀取函數(shù)void menu()菜單函數(shù),以供選擇3.2整體流程查詢刪除顯示不及格顯示全部主菜單函數(shù) 上面已經(jīng)主要分開介紹了兩個(gè)獨(dú)立的類及其內(nèi)部成員,現(xiàn)在來介紹整個(gè)學(xué)生系統(tǒng)功能實(shí)現(xiàn)的流程。 輸入修改插入Switch語句選擇排序查看學(xué)生成績文件保存文件讀取 4.主要模塊的算法說明4.1信息的保存和讀取 在本次課程設(shè)計(jì)中,因?yàn)檫€沒有接觸到數(shù)據(jù)庫的有關(guān)知識(shí),故采用文件流來寫入和讀取信息。主要涉及到fstream類。在系統(tǒng)運(yùn)行過程中,會(huì)利用該類將學(xué)生的基本身份信息和基本課程信息全部存到自定義的一個(gè)文件中,當(dāng)需要使用這些數(shù)據(jù)時(shí),例如查詢,修改,顯示等,再將需要的讀取出來進(jìn)行相關(guān)的操作。4.2 對(duì)信息的處理4.2.1 數(shù)據(jù)的錄入和插入 數(shù)據(jù)的錄入和插入基本一樣,這里只介紹錄入。 當(dāng)在主菜單里選擇信息錄入時(shí),會(huì)跳出錄入頁面,只需依次輸入提示的信息即可。在整個(gè)大體框架上,采用一個(gè)while語句判斷是否繼續(xù)錄入。注意在錄入學(xué)生成績信息時(shí)。需要輸入要登記的課程數(shù)目。其中成績信息的各科綜合成績和是否重修不需要手動(dòng)錄入,它會(huì)在登記完平時(shí)成績和末考成績后自動(dòng)生成。當(dāng)所有信息錄入完成后,該生所有科目的平均成績average也會(huì)自動(dòng)計(jì)算。4.2.2 數(shù)據(jù)的查詢 所謂數(shù)據(jù)的查詢,就是把存放在文檔中的學(xué)生數(shù)據(jù)讀取出來并加以輸出。 當(dāng)只針對(duì)某個(gè)人的查詢時(shí),需要輸入學(xué)號(hào)或姓名,再調(diào)用read()函數(shù)將相關(guān)的數(shù)據(jù)讀取出來,至于需要輸出哪些,可以自己控制。 當(dāng)要輸出所有學(xué)生的數(shù)據(jù)是時(shí),首先調(diào)用read()函數(shù)返回?cái)?shù)據(jù)的個(gè)數(shù)count,即學(xué)生的個(gè)數(shù)。最后采用for循環(huán)控制依次輸出每一個(gè)學(xué)生的信息。4.2.3 數(shù)據(jù)的修改當(dāng)修改數(shù)據(jù)時(shí),只需輸入需要修改學(xué)生的學(xué)號(hào)即可。首先會(huì)將該生的相關(guān)信息輸出出來。然后再提示重新輸入信息。執(zhí)行到這里時(shí)基本就和前面的數(shù)據(jù)錄入,插入一樣了。4.2.4 數(shù)據(jù)的刪除 本例中,對(duì)數(shù)據(jù)的刪除比較簡單。只需輸入學(xué)號(hào)或姓名,當(dāng)查找到該生的相關(guān)信息后。將后面一個(gè)學(xué)生的信息賦值給他,相當(dāng)于該生的信息被覆蓋,也就是刪除。4.2.5 數(shù)據(jù)的排序 在需求分析中,有一項(xiàng)功能,按學(xué)生成績平均分降序排列。此功能還是比較好實(shí)現(xiàn)的。在輸入學(xué)生數(shù)據(jù)時(shí),當(dāng)所有課程分?jǐn)?shù)輸入完畢,會(huì)自動(dòng)生成一個(gè)平均分,該數(shù)值就是學(xué)生類Stu中的average數(shù)據(jù)成員。然后采用冒泡法比較大小,把這些學(xué)生的數(shù)據(jù)重新排列,最后再依次輸出。5.程序運(yùn)行結(jié)果5.1 菜單歡迎界面5.2 信息的錄入如上所示,依次輸入需要填寫的信息,其中“該門課的綜合成績”和“是否重修”是不需要輸入,系統(tǒng)自動(dòng)執(zhí)行的。最后還會(huì)提示是否繼續(xù)填寫(YN)。5.3信息的顯示在這個(gè)功能里面主要顯示全部同學(xué)的身份信息和平均分:5.4 信息的查詢信息的查詢分兩種方式:當(dāng)你選擇1 時(shí),表示按學(xué)號(hào)查詢,當(dāng)你選擇2 時(shí),表示按姓名查詢。下面介紹的是按學(xué)號(hào)查詢。如上所示,當(dāng)輸入需要查詢的同學(xué)的學(xué)號(hào)時(shí),會(huì)輸出該同學(xué)的身份信息以及每一門課的綜合成績,還有這些課的平均成績。5.5 信息的修改當(dāng)輸入需要修改的學(xué)生學(xué)號(hào)時(shí),會(huì)首先輸出該同學(xué)現(xiàn)在的已經(jīng)存在的信息:然后提示重新輸入:輸入完成后,會(huì)提示是否保存:5.6 信息的刪除信息的刪除也分兩種類型:選擇不同的方式,進(jìn)入不同的界面按姓名刪除按學(xué)號(hào)刪除5.7 按平均分降序排列會(huì)輸出學(xué)生的一些基本信息和平均分與名次。5.8 查看全部信息由于一個(gè)同學(xué)的全部信息較多,于是分成兩部分輸出:身份信息和成績信息在身份信息中,主要包括班級(jí),學(xué)號(hào),姓名,年齡,性別,宿舍,電話等。在成績信息中,包括該同學(xué)的各科成績,是否重修,獲得的學(xué)分,以及所有科目的平均分。5.9 輸出不及格學(xué)生信息 當(dāng)選擇該功能時(shí),首先會(huì)輸出該同學(xué)的學(xué)號(hào),姓名和班級(jí),然后再輸出他的不及格科目以及分?jǐn)?shù),如下所示。5.10 退出系統(tǒng)6.課程設(shè)計(jì)總結(jié)(1)回顧此次課程設(shè)計(jì),感慨良多,從剛拿到題目時(shí)的一臉茫然,到最后能成功解決,覺得此次課程設(shè)計(jì)我又學(xué)到了好多知識(shí)。首先在這里要感謝一下王磊指導(dǎo)老師,經(jīng)過他的細(xì)心講解,我才有了一個(gè)完整的設(shè)計(jì)思路。(2)在這次課程設(shè)計(jì)的過程中,最大的感覺就是對(duì)知識(shí)的不熟悉,一些C+基礎(chǔ)知識(shí)似懂非懂,結(jié)果總要去查書才能寫出不出錯(cuò)誤的代碼,結(jié)構(gòu)就是耗費(fèi)了大量的時(shí)間,事倍功半。經(jīng)歷這次教訓(xùn),我想會(huì)對(duì)我以后的計(jì)算機(jī)語言學(xué)習(xí)起到一定的幫助。(3)在這次的課程設(shè)計(jì)過程中,通過查書的學(xué)習(xí),對(duì)C+的了解又加深了不少,包括類的結(jié)構(gòu),以及怎樣在類外訪問類類的私有成員等,我想下次再寫基于對(duì)象的程序時(shí),一定會(huì)得心應(yīng)手。(4)還有比較重要的收獲就是類的相互嵌套使用,就拿本例來說,在一個(gè)類中設(shè)置一個(gè)數(shù)據(jù)成員,而該數(shù)據(jù)成員確是另一個(gè)類的對(duì)象。這對(duì)理解數(shù)據(jù)類型起到了不少的作用。(5)總的來說,這次程序設(shè)計(jì)讓我獲益匪淺,對(duì)C+語言也有了進(jìn)一步的認(rèn)識(shí):語言功能高、表達(dá)能力強(qiáng)、使用靈活方便、目標(biāo)程序效率高等等。C+語言是在國內(nèi)外廣泛使用的一種計(jì)算機(jī)語言,相信除了以上優(yōu)點(diǎn),還有許多我們還未發(fā)現(xiàn),希望能在以后的學(xué)習(xí)中有更深入的認(rèn)識(shí)。7.參考文獻(xiàn)(1)C+程序設(shè)計(jì)(第二版) 譚浩強(qiáng) 編著(2)visual C+從入門到精通 明日科技 編著(3)C+編程思想 (美)??藸?編著 劉宗田 譯8.附錄(源代碼)#include #include #include /后面的exit函數(shù)和syetem函數(shù)要用#include using namespace std;class Course /定義一個(gè)課程信息類public: int course_num; /課程編號(hào) string course_name;/課程名稱 float regular_score;/平時(shí)成績 float final_score;/末考成績 float average_score;/綜合成績 float study_score;/學(xué)分 string rebulid;/是否重修;class Stu /把對(duì)類的私有成員的處理函數(shù)全部定義為友元函數(shù)public: friend void Input(Stu stud) ; /學(xué)生成績錄入函數(shù) friend void Statistic(Stu stud);/學(xué)生信息輸出函數(shù) friend void Lookup(Stu stud) ; /學(xué)生成績查找函數(shù) friend void Modify(Stu stud) ; /學(xué)生成績修改函數(shù) friend void Delete(Stu stud) ; /學(xué)生信息刪除函數(shù) friend void Output(Stu stud) ; /學(xué)生全部信息輸出函數(shù) friend void Sort(Stu stud) ; /學(xué)生成績排序函數(shù) friend void Insert(Stu stud) ; /學(xué)生成績插入函數(shù) friend void Write(Stu stud,int n);/學(xué)生成績寫入檔案函數(shù) friend int Read(Stu stud); /學(xué)生成績信息讀取函數(shù) friend void Showfail(Stu stud); /查找不及格學(xué)生private: int class_num; /班級(jí)號(hào)碼 int num;/學(xué)號(hào) string name;/姓名 int age;/年齡 char sex;/性別 int room;/宿舍 string tel;/電話 float average;/所有課程平均分 int num_of_course;/課程數(shù)目 int order;/名次 Course course20;/課程信息數(shù)組;void Write(Stu stud,int n) /文件寫入函數(shù) fstream myFile; /定義一個(gè)文件輸入輸出類 myFile.open(D:student.dat.txt,ios:out|ios:binary); if(!myFile) coutD:student.dat.txt cant open!endl; exit(1); int count=n; myFilecountendlendl; for(int i=0; icount; i+) myFilestudi.class_num studi.num studi.age studi.sex studi.room studi.tel studi.num_of_course studi.average endl; for(int j=0; jstudi.num_of_course; j+) myFilestudi.coursej.course_num studi.coursej.course_name studi.coursej.regular_score studi.coursej.final_score studi.coursej.average_score studi.coursej.study_score studi.coursej.rebulidendl; myFile.close();int Read(Stu stud) /文件讀取函數(shù) fstream myFile; myFile.open(D:student.dat.txt,ios:in|ios:binary); if(!myFile) coutD:student.dat.txt cant open!count; for(int i=0; istudi.class_studi.agestudi.sexstudi.roomstudi.telstudi.num_of_coursestudi.average; for(int j=0; jstudi.coursej.course_numstudi.coursej.course_namestudi.coursej.regular_score studi.coursej.final_scorestudi.coursej.average_scorestudi.coursej.study_scorestudi.coursej.rebulid; myFile.close(); return count ; /函數(shù)返回一個(gè)查詢出來的數(shù)值void Input(Stu stud) /學(xué)生成績錄入函授 system(cls); /調(diào)用系統(tǒng)命令cls,清除屏幕 int i=0; / int num; char sign; coutendl 請(qǐng)輸入學(xué)生成績 =endl; while(sign!=n&sign!=N) coutstudi.class_num;loop: /loop循環(huán),VB中的循環(huán) coutstudi.num; int c=0; while(ci) c+; if(studi.num=studi-c.num) cout 你輸入的學(xué)號(hào)已經(jīng)存在!請(qǐng)重新輸入。endl; goto loop; ; coutstudi.age; coutstudi.sex; coutstudi.room; coutstudi.tel; coutstudi.num_of_course; int j; float sum=0; for(j=0; jstudi.num_of_course; j+) cout請(qǐng)登記第j+1門課的信息:endl; coutstudi.coursej.course_num; coutstudi.coursej.course_name; coutstudi.coursej.regular_score; coutstudi.coursej.final_score; coutstudi.coursej.study_score; studi.coursej.average_score=studi.coursej.regular_score*0.3+studi.coursej.final_score*0.7; cout該門課的綜合成績是:studi.coursej.average_scoreendl; if(studi.coursej.average_score60) studi.coursej.rebulid=是; else studi.coursej.rebulid=否; cout是否重修:studi.coursej.rebulidendl; sum=sum+studi.coursej.average_score; studi.average=sum/studi.num_of_course; cout 該學(xué)生這幾門課的平均分為:studi.averageendl; cout提示:是否繼續(xù)寫入學(xué)生成績?(Y/N); cinsign; i+; Write(stud,i); /調(diào)用文件寫入函數(shù),把信息寫入文件void Statistic(Stu stud) /學(xué)生成績數(shù)據(jù)輸出函數(shù) system(cls); int n=Read(stud); cout班級(jí)t學(xué)號(hào)t姓名t年齡t性別t宿舍t(yī)電話tt平均成績endl; for(int i=0; in; i+) coutstudi.class_tstudi.agetstudi.sextstudi.roomtstudi.teltstudi.averageendl; system(pause);void Lookup(Stu stud) /學(xué)生成績查找函數(shù) system(cls); int n=Read(stud); int s1; string s2; int i=0; int choose; cout請(qǐng)輸入查詢方式:endlendl; cout按學(xué)號(hào)查詢: 1 -endl; cout按姓名查詢: 2 -endl; do coutchoose; while(choose!=1)&(choose!=2); switch(choose) case 1: system(cls); coutendl 查找學(xué)生成績 =endl; cout請(qǐng)輸入需要查找學(xué)生的學(xué)號(hào):s1; while(studi.num-s1)!=0&in) i+; if(i=n) cout提示:對(duì)不起,無法找到該學(xué)生的信息!endl; else cout-endl; cout班級(jí):studi.class_numendl; cout學(xué)號(hào):studi.numendl; cout姓名:endl; cout年齡:studi.ageendl; cout性別:studi.sexendl; cout宿舍:studi.roomendl; cout電話:studi.telendl; for(int j=0; jstudi.num_of_course; j+) coutstudi.coursej.course_name:; coutstudi.coursej.average_scoreendl; cout平均分:studi.averageendl; break; case 2: system(cls); coutendl 查找學(xué)生成績 =endl; cout請(qǐng)輸入需要查找學(xué)生的姓名:s2; int flag=0; for(i=0; in; i+) if(=s2) cout-endl; cout班級(jí):studi.class_numendl; cout學(xué)號(hào):studi.numendl; cout姓名:endl; cout年齡:studi.ageendl; cout性別:studi.sexendl; cout宿舍:studi.roomendl; cout電話:studi.telendl; for(int j=0; jstudi.num_of_course; j+) coutstudi.coursej.course_name:; coutstudi.coursej.average_scoreendl; cout平均分:studi.averageendl; flag=1; break; if(flag=0) cout提示:對(duì)不起,無法找到該學(xué)生的信息!endl; void Modify(Stu stud) /學(xué)生成績修改函數(shù) system(cls); int n=Read(stud); int s; int i=0; coutendl 修改學(xué)生成績 =endl; cout請(qǐng)輸入需要修改成績學(xué)生的學(xué)號(hào):s; while(studi.num-s)!=0&in) i+; if(i=n) cout提示:對(duì)不起,無該學(xué)生的成績endl; else cout-該學(xué)生的信息-endl; cout班級(jí)t學(xué)號(hào)t姓名t年齡t性別t宿舍t(yī)電話endl; cout-endl; coutstudi.class_tstudi.agetstudi.sextstudi.roomtstudi.telendl; for(int j=0; jstudi.num_of_course; j+) coutstudi.coursej.course_name:; coutstudi.coursej.average_scoreendl; cout平均分:studi.averageendl; cout請(qǐng)重新輸入該學(xué)生的信息endl; cout班級(jí):studi.class_num; cout學(xué)號(hào):studi.num; cout姓名:; cout年齡:studi.age; cout性別:studi.sex; cout宿舍:studi.room; cout電話:studi.tel; coutstudi.num_of_course; int j; float sum=0; for(j=0; jstudi.num_of_course; j+) cout請(qǐng)登記第j+1門課的信息:endl; coutstudi.coursej.course_num; coutstudi.coursej.course_name; coutstudi.coursej.regular_score; coutstudi.coursej.final_score; coutstudi.coursej.study_score; studi.coursej.average_score=studi.coursej.regular_score*0.3+studi.coursej.final_score*0.7; cout該門課的綜合成績是:studi.coursej.average_scoreendl; if(studi.coursej.average_score60) studi.coursej.rebulid=是; else studi.coursej.rebulid=否; cout是否重修:studi.coursej.rebulidendl; sum=sum+studi.coursej.average_score; studi.average=sum/studi.num_of_course; cout 該學(xué)生這幾門課的平均分為:studi.averageendl; char c; cout是否保存數(shù)據(jù)?(y/n)c; if(c!=n&c!=N) Write(stud,n); void Delete(Stu stud) /刪除學(xué)生信息函數(shù) system(cls); int s1; string s2; int n=Read(stud); int i=0,j; char sign; cout請(qǐng)選擇刪除學(xué)生信息的方式endlendl; cout按學(xué)號(hào)刪除 1 -endl; cout按姓名刪除 2 -endl; int choose; do coutchoose; while(choose!=1)&(choose!=2); switch(choose) case 1: system(cls); coutendl 刪除學(xué)生成績 =endl; while(sign!=n&sign!=N) cout請(qǐng)輸入需要?jiǎng)h除學(xué)生的學(xué)號(hào):s1; while(studi.num-s1)!=0&in)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)民工勞務(wù)派遣及勞動(dòng)權(quán)益保障協(xié)議
- 2024年在建房產(chǎn)買賣合同模板(含市場風(fēng)險(xiǎn)控制)3篇
- 2025年度搬家服務(wù)與保險(xiǎn)理賠合同模板3篇
- 展覽館墻面施工方案設(shè)計(jì)
- 2024年版水電安裝工程勞務(wù)分包協(xié)議模板
- 2024年金屬鑄件訂購協(xié)議2篇
- 2024年版離婚房產(chǎn)過戶合同模板一
- 2024年度無錫地區(qū)終止勞動(dòng)合同補(bǔ)償金標(biāo)準(zhǔn)及計(jì)算細(xì)則3篇
- 2024年限定泥工作業(yè)分包協(xié)議范本版B版
- 2024年裝修墻體刷涂勞務(wù)分工協(xié)議版B版
- 垃圾焚燒發(fā)電廠消防系統(tǒng)安裝方案
- 露天礦山危險(xiǎn)源辨識(shí)與風(fēng)險(xiǎn)評(píng)價(jià)
- 履帶吊司機(jī)安全技術(shù)交底
- 班級(jí)管理(第3版)教學(xué)課件匯總?cè)纂娮咏贪?完整版)
- 2022年度母嬰護(hù)理師技能試卷題庫
- 玻璃采光頂施工工藝
- 2024年義務(wù)教育國家課程設(shè)置實(shí)施方案
- 某乳業(yè)公司價(jià)格策略研究
- T∕CIAPS 0012-2021 磷酸鐵鋰電池壽命加速循環(huán)試驗(yàn)方法
- 低壓配電柜GGD技術(shù)規(guī)范方案設(shè)計(jì)
- 汽車維修項(xiàng)目明細(xì)表76608
評(píng)論
0/150
提交評(píng)論