- 相關(guān)推薦
C++ 實(shí)習(xí)報(bào)告
在人們?cè)絹?lái)越注重自身素養(yǎng)的今天,報(bào)告使用的頻率越來(lái)越高,其在寫作上有一定的技巧。那么什么樣的報(bào)告才是有效的呢?以下是小編整理的C++ 實(shí)習(xí)報(bào)告,希望對(duì)大家有所幫助。
C++ 實(shí)習(xí)報(bào)告1
實(shí)驗(yàn)一 成績(jī)管理系統(tǒng)
Grade Management System
一、初始化部分
輸入數(shù)據(jù)包括:學(xué)生姓名,學(xué)號(hào),科目名稱,科目成績(jī)(至少列出3門課程,至少5個(gè)學(xué)生),編寫一個(gè)初始化函數(shù)完成初始數(shù)據(jù)的輸入。
要求:采用鍵盤輸入的方式,并將輸入數(shù)據(jù)保存到文件中。文件的內(nèi)容和格式,根據(jù)題目要求,可以自己決定。
可以借鑒的思路【不限】:可以設(shè)計(jì)三個(gè)文件:學(xué)生Student(存儲(chǔ)學(xué)生的基本信息,如學(xué)生姓名Stu_Name、學(xué)生學(xué)號(hào)Stu_ID,采用結(jié)構(gòu)體),課程科目Course(存儲(chǔ)課程名稱Cou_Name,課程編號(hào)Cou_ID等,采用結(jié)構(gòu)體),選課情況Sel_Course(課程編號(hào)Cou_ID, 學(xué)生學(xué)號(hào)Stu_ID,成績(jī)Score等,采用結(jié)構(gòu)體)
說(shuō)明:
同學(xué)們也可以不按照我的思路,自己設(shè)計(jì)存儲(chǔ)文件。^_^ Student
Course
圖1 三個(gè)文件的ER圖
struct Student
{
String Stu_name;
Int Stu_ID;
Boolean Stu_Sex;
};
將結(jié)構(gòu)體的數(shù)據(jù)存入永久介質(zhì)磁盤文件中。
圖2 結(jié)構(gòu)體Student實(shí)例
二、實(shí)現(xiàn)功能
? 計(jì)算平均值A(chǔ)vg:包括每門課程的平均值,和每個(gè)學(xué)生所有課程的平均值。
? 計(jì)算最高分Max:包括每門課程的最高分,和學(xué)生平均分的最高分,并給出最高分對(duì)
應(yīng)的學(xué)生姓名和學(xué)號(hào)。
? 計(jì)算最低分Min:包括每門課程的最低分,和學(xué)生平均分的最低分,并給出最低分對(duì)
應(yīng)的學(xué)生姓名和學(xué)號(hào)。
? 計(jì)算每門課程成績(jī)不及格(<60分)以及優(yōu)秀(大于90分)的學(xué)生個(gè)數(shù)Count。 ? 計(jì)算每門課程的標(biāo)準(zhǔn)方差Variance。
? 查詢功能Query:可以根據(jù)輸入的學(xué)生姓名或者學(xué)號(hào),查詢?cè)搶W(xué)生的所有課程的成績(jī)。 ? 排序功能Sort:按照從高到低的順序,對(duì)每門課程的'成績(jī)進(jìn)行排序,對(duì)學(xué)生平均分進(jìn)
行排序,并給出排序后成績(jī)所對(duì)應(yīng)的學(xué)生姓名和學(xué)號(hào)。
提示:
把初始化部分和7個(gè)功能設(shè)置為可以選擇的菜單方式,也就是每次運(yùn)行程序,可以讓用戶選擇實(shí)現(xiàn)某個(gè)功能,各個(gè)功能用函數(shù)來(lái)實(shí)現(xiàn),有些函數(shù)需要重載。
每個(gè)功能的輸出可以輸出到屏幕,也可以輸出到文件。
#include
#include
using namespace std;
void new_line( );
void main()
{
char choice;
Menu:
cout << endl;
cout << "-----------Main Menuitem------------" << endl;
cout << "0 Exit System" << endl;
cout<<"1 System Initilization"<
cout << "2 Count the average value" << endl;
cout << "3 Count the maximum value" << endl;
…….
cout<<”7 Find the student scores by ID or name”<
cout << "8 Ascending sort " << endl;
cout << "Choose the Appropriate option(0-8) :";
cin.get(choice);
new_line();
switch( choice )
{
case 0:
exit(1);
case 1:
Add your system initilization function here; //for example: init_sys( ); break;
case 2:
Add your count average value function here; //for example: avg(); break;
case 3:
Add your count max value function here; //for example: max(); break;
.........
case 8:
Add your ascending sort function here; //for example: sort(); break;
default:
cout << " Add your default handling function here" << endl; }
system("cls");
goto Menu;
}
void new_line( )
{
char symbol;
do
{
cin.get(symbol);
} while (symbol != \n);
}
圖3 主菜單Menu實(shí)例
void book::alter()
{
ofstream outData("temp.txt", ios::out);
ifstream inData("pbook.txt", ios::in); //
if (!outData || !inData)
{
cout <
<
}
else
{
while (getline(inData, str))
{
outData <
}
outData.close();
inData.close();
ofstream out("pbook.txt", ios::out);
ifstream in("temp.txt", ios::in);
if (!out || !in)
{
cout < } out.close(); in.close(); cout < 針對(duì)我們這學(xué)期學(xué)的c++,假期進(jìn)行了五天的實(shí)習(xí)。第一天聽(tīng)老師講實(shí)習(xí)內(nèi)容和提示的時(shí)候覺(jué)得思路挺明確的一個(gè)程序,哪有傳說(shuō)中的那么難。下午和同學(xué)討論的時(shí)候覺(jué)得很有目的,只要按部就班的完成各步操作就可以了,有難度的也只是第二步。這一步要進(jìn)行判斷,這就需要多個(gè)輸出函數(shù);還要冒泡法給工作排序,工資的計(jì)算不是在類中完成的——挺棘手的一個(gè)問(wèn)題。 第二天上機(jī)的時(shí)候也很快完成了第一步,覺(jué)得還行,慢慢來(lái)五天完全可以完成。后來(lái)也就沒(méi)怎么好好思考,沒(méi)想到第二天遇到麻煩了,編不出第二步了。第三天下午也沒(méi)調(diào)試好,第一步輸入的數(shù)據(jù)在第二步統(tǒng)計(jì)的時(shí)候怎么也數(shù)不出來(lái),我從頭至尾研究了多次,沒(méi)發(fā)現(xiàn)一點(diǎn)問(wèn)題,請(qǐng)舍友幫我檢查也說(shuō)沒(méi)錯(cuò),到了傍晚還是看不出來(lái)。哎!又找一個(gè)人給我看了看,竟然錯(cuò)得那么幼稚,類外定義了全局對(duì)象,在數(shù)據(jù)輸入put()函數(shù)里又重新定義了對(duì)象,這樣在put()輸入的數(shù)據(jù)無(wú)法用到其他函數(shù)中,自然統(tǒng)計(jì)的時(shí)候都是默認(rèn)值了。 就這么一個(gè)小小的錯(cuò)誤整得我一天一晚上寢食難安。 編程序時(shí)深深感受到要不得半點(diǎn)馬虎,有時(shí)少一個(gè)“}”或“<”都會(huì)導(dǎo)致程序語(yǔ)法錯(cuò)誤;由于編程序經(jīng)常要變換輸入法,很容易輸進(jìn)中文字符,這也會(huì)導(dǎo)致語(yǔ)法錯(cuò)誤;調(diào)用類里重名函數(shù)時(shí)要注明屬于哪個(gè)類的。 第三天的時(shí)候第二步基本都編出來(lái)了,傍晚那時(shí)我沒(méi)檢查出錯(cuò)誤來(lái)的時(shí)候,實(shí)在是把我急壞了,借了臺(tái)電腦,在那安靜專心的研究程序,舍友幫我檢查出錯(cuò)誤來(lái)之后,編程序有了感覺(jué),那時(shí)已經(jīng)22:00多了,竟然沒(méi)有一絲睡意。 后來(lái)舍友們陸續(xù)睡覺(jué)了,可我就是不愿睡。可能是出于自尊心需要,別人都編出來(lái)了,自己編不出來(lái),讓我無(wú)法接受;也可能是第二步出來(lái)了急于盡快搞定。從19:00到凌晨4:00一直在那兒編程序了,一次次地聽(tīng)到鈴聲響竟然沒(méi)有上床睡覺(jué)的沖動(dòng),滿腦袋只有一個(gè)想法:認(rèn)真編程序,爭(zhēng)取晚上搞定。后來(lái)差不多了,只有備份不怎么完善,當(dāng)時(shí)電腦已經(jīng)用了好長(zhǎng)時(shí)間了,實(shí)在不忍心一直用人家的電腦,只好關(guān)機(jī)睡覺(jué)了。 這幾天可以說(shuō)是兩耳不聞窗外事,一心只顧編程序了,電話都懶得打,只想盡快把程序搞定,晚上沒(méi)有電腦用,我們?nèi)齻(gè)女生就去網(wǎng)吧,只是那兒沒(méi)有vusual-c++,只好作罷。 雖然我們一直在編程序,覺(jué)得挺累的,其實(shí)還有比我們更累的——我們的老師。我們是每天只有半天的實(shí)習(xí)時(shí)間,可是老師卻整天在機(jī)房里,看得出來(lái),老師連坐下休息的時(shí)間都沒(méi)有,剛要喝點(diǎn)水,立馬就被一個(gè)同學(xué)叫去了,實(shí)習(xí)完那天下午看見(jiàn)老師都不想走路了,實(shí)習(xí)報(bào)告《c++程序?qū)嵙?xí)報(bào)告》。太累了,一天站7小時(shí),還一直給別人檢查程序,太忙了。想想老師這么認(rèn)真,我們還有什么理由不認(rèn)真呢? 只有五天的實(shí)習(xí),卻讓我受益匪淺:這不僅是一次對(duì)我們的c++掌握和運(yùn)用的熟練程度的檢查,更是一次磨練我們耐性、培養(yǎng)認(rèn)真態(tài)度的機(jī)會(huì)。這次實(shí)習(xí)讓我深刻體會(huì)到“細(xì)節(jié)決定成敗,態(tài)度決定一切”;更讓我 從 老師身上學(xué)到了很多在以后工作中需要的優(yōu)秀品質(zhì)。相信這會(huì)在我今后的學(xué)習(xí)和以后的工作很有幫助。 通過(guò)完成本次面向?qū)ο蟪绦蛟O(shè)計(jì)的任務(wù),使我熟練和掌握了上學(xué)期所學(xué)的有關(guān)visual c++中的一些主要知識(shí)點(diǎn)和應(yīng)用點(diǎn),如類的定義,類的實(shí)現(xiàn),對(duì)象的定義,類的繼承等等。可以所學(xué)有所學(xué),所有所用,不至于自己所學(xué)知識(shí)由于沒(méi)有經(jīng)歷可用過(guò)程,而放棄對(duì)它的.興趣。 第一天上課時(shí)候聽(tīng)老師講,第一反應(yīng)是這可怎么做了。當(dāng)時(shí)有些迷茫。但是事在人為,下午回去之后在宿舍苦心研究,終于在整體上有了一定的把握。我們可以先定義一個(gè)基類,再派生三個(gè)子類,然后在類外定義函數(shù)。有人數(shù)規(guī)定,我們就定義相應(yīng)長(zhǎng)度的對(duì)象數(shù)組,最后在實(shí)現(xiàn)程序功能時(shí),用函數(shù)調(diào)用就行。 于是當(dāng)晚很快就完成了第二天的預(yù)習(xí)報(bào)告,上機(jī)調(diào)試時(shí)也沒(méi)什么大問(wèn)題,就這樣第二天順利通過(guò)。 雖說(shuō)接下來(lái)的統(tǒng)計(jì)沒(méi)那么容易,但就順著數(shù)據(jù)順利輸入的喜悅心情,我還是較好的完成了這個(gè)任務(wù)。在類外定義一個(gè)函數(shù)用來(lái)輸出雇員的基本情況,表頭,表尾直接在統(tǒng)計(jì)函數(shù)中輸出,也就是在統(tǒng)計(jì)函數(shù)中調(diào)用函數(shù)。打印與統(tǒng)計(jì)有異曲同工之妙,所以在統(tǒng)計(jì)做出之后,打印自然而然的也就很快完成了。 接下來(lái)的數(shù)據(jù)備份中,遇到了一個(gè)小問(wèn)題,一開(kāi)始以為也是函數(shù)中調(diào)用打印函數(shù)中用的那函數(shù)。其實(shí)不然,如若那樣,又變成了打印。那我們就直接輸出,但詳細(xì)資料是受保護(hù)的,不能直接輸出,那還得調(diào)用函數(shù)。于是在每個(gè)類中的公共成員中定義了直接返回的函數(shù),接下來(lái)順利完成了備份。調(diào)用頭文件里的exit(int)函數(shù),可以用if()語(yǔ)句進(jìn)行判斷是否確定退出。程序順利完成。 面向?qū)ο蟪绦蛟O(shè)計(jì)作為一門軟件設(shè)計(jì)的課程,具有極強(qiáng)的實(shí)踐性,使我加強(qiáng)了靈活應(yīng)用理論知識(shí)的能力及面向?qū)ο蟪绦蛟O(shè)計(jì)技能。 此次,應(yīng)用程序的設(shè)計(jì)和創(chuàng)建,經(jīng)歷了平時(shí)在課堂中和考試中,決不會(huì)有的重重難題和問(wèn)題。而這些問(wèn)題,又都是課本上很少提到的、更深一層的知識(shí)領(lǐng)域和應(yīng)用領(lǐng)域。這些問(wèn)題,并不是我們平時(shí)只靠課本,就可以輕易解決的。所以,鍛煉了我們面對(duì)難題,自己思索,自己探索,自己查資料發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的獨(dú)斷能力。 當(dāng)然,此次任務(wù)的完成,也體現(xiàn)出同學(xué)之間的團(tuán)結(jié)精神。所遇種種難以解決的問(wèn)題,大家都會(huì)把它當(dāng)作共同遇到的問(wèn)題,在一起共同探討,共同發(fā)揮自己所學(xué)和所知,投入式的互相幫助和解決困難。 【C++ 實(shí)習(xí)報(bào)告】相關(guān)文章: 暑期實(shí)習(xí)報(bào)告實(shí)習(xí)報(bào)告02-25 我的實(shí)習(xí)報(bào)告工作實(shí)習(xí)報(bào)告05-18 審計(jì)的實(shí)習(xí)報(bào)告審計(jì)實(shí)習(xí)報(bào)告08-21 實(shí)習(xí)報(bào)告05-16 實(shí)習(xí)的報(bào)告02-15 it實(shí)習(xí)報(bào)告09-13 餐飲酒店實(shí)習(xí)報(bào)告_實(shí)習(xí)報(bào)告01-27 汽修專業(yè)實(shí)習(xí)報(bào)告任務(wù)_實(shí)習(xí)報(bào)告01-09