版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
意步中”式火4天體"緘孑診
傳媒工程系
成績
C++程序設(shè)計語言結(jié)業(yè)報告
課程名稱:C++程序設(shè)計語言
班級:B1101
學(xué)號:__________
姓名:程龍
指導(dǎo)教師:趙鳳怡
報告完畢時間:_2023_年_12_月_17_日
2023-10-28制定
C++程序設(shè)計語言結(jié)業(yè)報告
課
程C++程序設(shè)計語2023年11
班級BH01實驗日期
名言月
稱
姓學(xué)
程龍實驗成績
名號
名C++程序設(shè)計語言
稱
實
驗
目
的
及掌握VisualC++箕成環(huán)境下調(diào)試標(biāo)準(zhǔn)C++程序的方法
規(guī)
定
實
驗
環(huán)Visua1C++集成環(huán)境、WindowsXP操作系統(tǒng)
境
實
驗
內(nèi)1.用C++語言開發(fā)“簡樸的學(xué)生成績管理系統(tǒng)”。
容
(用適當(dāng)?shù)男问奖碇惴ㄔO(shè)計思想與算法實現(xiàn)環(huán)節(jié))
學(xué)生成績管理系統(tǒng)
求出每個學(xué)生各門課程的總成績、
平均成績最高分和最低分
k________________________/
算
法
描
求出某一門課程所有學(xué)生的總成
述
及績、平均成績、最高分和最低分
實
驗
環(huán)
節(jié)
4.顯示學(xué)生成績:
5.排序:
6.按姓名杳找(按學(xué)號杳找):
G-修改學(xué)生仁息
。-安全退出系統(tǒng)
IR選擇:C
1:嘴蕤鸚緘找
,百選土華?1
請輸入要查找的學(xué)生的姓名:程龍
■程龍
步03
Es?9
95
為績:270
?入任卷、字彷!繼綾
__________
7.刪除學(xué)生成績:
*☆1-增力口學(xué)生成績☆
★☆2.顯示學(xué)生成績☆
★☆3-排序統(tǒng)計成績☆
*☆4.查找學(xué)生成績仝
*☆5-惻除學(xué)生成績☆
★☆6.修改學(xué)生信息☆
*☆0-安全退出系統(tǒng)☆
,溥輸樊萋輸除的學(xué)生的姓名=
張三
W入行*一AI維舞除成功'
寸前入任竟子?符!繼續(xù).....
_________________________________________________
8.修改學(xué)生成績:
■1?C:\Users\Mu5tache\Desktop\Debug\Cppl.exe"
2.顯示學(xué)生成績
☆3.排序統(tǒng)計成績☆
☆4.查找學(xué)生成績☆
☆5.刪除學(xué)生成績☆
☆6.修改學(xué)生信息☆
☆。-安全退出系統(tǒng)☆
請
擇
.—
人
蟹
的
的
程
曹.
入M=
S
言
內(nèi)
1息/
請
香I
,
入
生
名?
請B
:
奉
乎
入
號
蠢
請1
工
戈
埠
皇
入
請
成
S白
饕
績
的
毒95
英
入
請
白
成
績96
綾
(對實驗結(jié)果進行分析,問題回答,實驗心得體會及改善意見)
編程規(guī)定很具體,內(nèi)容也比較多,有一定難度。一方面,學(xué)生成績記錄是一個復(fù)
雜的數(shù)據(jù)結(jié)構(gòu),至少應(yīng)涉及學(xué)號,姓名,性別和成績。所以,必須建立一個類student,
用來記錄學(xué)號,姓名,性別和成績。此外還得建立一個類stuseore,用來記錄多個學(xué)
生的成績記錄。
我的大體思緒如下:
I.建立類學(xué)生類5tudent,它至少涉及學(xué)號number,姓名name,性別sex,成績c
hengjio
2.函數(shù)init(string&Name,string&Number,charSex,doub1cChengji)用
于輸入學(xué)生記錄。
3.建立學(xué)生成績記錄類stuscore,該類是學(xué)生成績記錄的集合。其成員函數(shù)則是
問題中規(guī)定的添加、顯示、查找、刪除、保存、導(dǎo)出等各種操作。
4.編寫各個功能的函數(shù)實體,簡樸來說就是各人功能的編寫。
本系統(tǒng)的重點就是要會建立兩個類。一個是學(xué)生類student,用來存放一個
學(xué)生的成績記錄,相稱于一個結(jié)構(gòu)體的功能吧。另一個類是學(xué)生成績記錄系統(tǒng)類stu
score,該類用來存放多個學(xué)生的成績記錄。難點就是stuscore類里的各個功能的實
現(xiàn)。總的來說,添加,顯示,查找,這三個功能比較容易,但是,刪除,保存,加載這三個
產(chǎn)功能就需要花點心思了,也許是平時用的比較少吧,生疏了??梢娭挥型ㄟ^平時多加練
結(jié)
習(xí),才干有助于自己鞏固知識點。
最后想說的是,調(diào)試程序真的很關(guān)鍵。調(diào)試程序需要較大的耐心。也許調(diào)試程序
的時間比自己編寫整個程序的時間還要長,下的工夫還要深,但這是一個程序員必須
了解,也必須接受的事實。有好幾次,幾個錯誤讓我很是頭疼啊,很想刪了,重新來過,
可是最后發(fā)現(xiàn),還是得有耐心去調(diào)試程序。
通過這個實驗的練習(xí),我也學(xué)到了很多東西,特別是加深了對類和對象理解和
應(yīng)用方面
(源程序清單等)
#inc1ude<iostream>
#inc1ude<fstream>
#include<slring.h>
#include<conio.h>〃用getch()();
usingnamespacestd;
//Student類
classStudent
(
public:
charname[20];
charId[20J;
intCnum;〃C課程得分
intMnum;//數(shù)學(xué)課程得分
intEnum;//英語課程得分
intsum;〃總分
Siudent+Next;
voidInput()
{
coutvv"\t\t請輸入學(xué)生的姓名:";Cin>>name;
請輸入學(xué)生的學(xué)號:";
附cout<<"\t\tcin?Id;
請輸入課程的成績:
錄cout<<"\t\tCcin?Cnum;
coutvV”\t\t請輸入數(shù)學(xué)課程的成績;cin?Mnum;
cout<<"\t\(請輸入英語課程的成績:";cin?Enum;
sum=Cnum+Mnum+Enum;
)
voidReadFile(istream&in)
(
in>>name>>Id?Cnum?Mnum>>Enuin?sum;
)
voidShow()
(
cout?"姓名:"vvname?end1?"學(xué)號:"<VId?endl?"C++:"<vCnum<<e
ndl
?"數(shù)學(xué):"V<Mnum?endl<<"外語:"<<Enum?endlV<"總成績:"VVs
um<<end1?endl?endl;
)
};
//Studenimassage類
c1assStudentmassage
(
publie:
Studcntmassage();
~Sludentmassage();
voidShowMenu();
voidFind();
voidSave();
voidModifyltem();
voidRemoveItem();
voidSwap(Stndent*,Student*);
voidSort();
//voidUnpass():
intListCoun(();
//voidAveragei):
voidDisplay()
(
for(Student*p=Head->Next;p!=End;p=p->Ncxt)
p->Show();
cout?"輸入任意字符!繼續(xù)……
getch();
)
voidAddItem()
(
End->lnput();
End->Next=newStudent;
End=End->Ncxt;
coutvv"添加成功!"?endl;
Cout<v”輸入任意字符!繼續(xù)……
getch();
)
private:
Student*Head,*End;
ifstreamin;
ofstreamout;
Student*FindItem(char*name)
{
for(Studentxp=Head;p->Next!=End;p=p->Next)//匹配成功則返回上一個
指針,不成功就返回空
if(!strcmp(p->Next->name,name))returnp;
rcturnNULL;
)
Student*FindlD(char*Id)
(
for(Student*p=Head;p->Next!=End;p=p->Next)//匹配成功則返回上一
個指針,不成功就返回空
if(!strcmp(p->Next->Id,Id))returnp;
rcturnNULL;
}
I;
//構(gòu)造函數(shù)
Studentmassage::Studentmassage()
(
Head=newStudcnt;
Head-、Next=newStudent:
End=Head->Next;
in.open("sort.txt");
if(!in)
coutvV"這是一個新系統(tǒng),無學(xué)生信息。請先輸入。"V<endl;
else
{
while(!in.eof())
(
End->ReadFile(in);
if(End—>name[0]=='\0')break;
End->Next=newStudent;
End=End->Next;
)
indose();
cout?"\t't讀取學(xué)生信息成功!”<<endl:
)
}
//析構(gòu)函數(shù)
Studentmassage::-Studentmassage()
(
Save();
for(Student*temp;Head—>Next!=End;)
(
temp=Head->Next;
Head->Next=Head->Next->Next;
deletetemp;
}
delctcHead,End;
}
//菜單
voidStudentmassage::ShowMenu()
{
cout?==========☆學(xué)生成績管理系統(tǒng)☆
=========="<<cnd1;
couivv"=======★★★★★★★★★★★★
★★★★★======="<<cnd1;
cout<<"=========★☆1.增長學(xué)生成績
☆★========="<<endl;
cout?"=========★☆2.顯示學(xué)生成績
☆★========="vVendl;
cou(?"=========★☆3.排序記錄成績☆
★二二二二二二二二二"Wend1;
cout<<"=========★☆4.查找學(xué)生成績
☆★========="?endl;
cout?"=========*☆5.刪除學(xué)生成績☆
★========="<<end1;
coutvv"=========*☆6.修改學(xué)生信息☆
★========='Vvendl;
cout?"=========*☆0.安全退出系統(tǒng)☆
★========="?endl;
cout?"\n\t\t\n\t\t請選擇:";
//查找函數(shù)
voidStudentmassage::Find()
(
charname[20],Id[10];
intx;
Siudent*p=NULL;
cout?M\n\t\t*******************為***木*******木*\n"?
cout?*'\t\tX1.按學(xué)生的姓名查找\n\t\t夾.2.按學(xué)生學(xué)號查找”;
cout?"\n\t\t*********************"***********\n請選擇十;
cin>>x:
switch(x)
{
casel:{coulVv"\t\l請輸入要查找的學(xué)生的姓名:";cin>>name;
if(p=FindItem(name))
(
p->Next->Show();
cout<V”輸入任意字符!繼續(xù)……”;
getch();
)
else
(
coutv<"\t\i沒有找到該姓名的學(xué)生!"<<\nV<endl;
coutvv"輸入任意字符!繼續(xù)……";
getch();
)
}break;
case2:
(
cout?”\Z請輸入要查找的學(xué)生的學(xué)號:";cin?Id:
if(p=FindID(Id))
(
p->Next—>Show()t
CoutV〈”輸入任意字符!繼續(xù)……
getch();
)
else
{
cout?"\t\t沒有找到該學(xué)好的學(xué)生!"V<、n'?endl;
coutvv”輸入任意字符!繼續(xù)……
getch();
}
}break;
)
)
//修改信息
voidStudentmassage::Modifyltem()//修改信息
(
charna
Student*p=NULL;
cout?"\t\t請輸入要修改的人的姓名:";cin>>name;
if(p=FindItem(name))
{
Coutvv”\t\t已找到學(xué)生的信息,請輸入新的信息!"?endl;
p->Ncxt->Input();
coutVv"修改成功!M?endl;
coutvv”輸入任意字符!繼續(xù)……
getch();
}
clsc
(
cout?"\t\t沒有找到!"<<endl;
COUKV”輸入任意字符!繼續(xù)……
getch();
)
}
//刪除信息
voidStudcntmassage::Removcltcm()//刪除信息
(
charname[20];
Student*p=NULL,*temp=NULL;
cout?"\t't請輸入要刪除的學(xué)生的姓名:"vVend1;cin?name;
if(p=FindItcm(name))
(
tcmp=p->Next;
p->Next=p—>Next->Next;
deletetemp:
cout?"\t\t刪除成功!"?end1;
cout?"輸入任意字符!繼續(xù)……
getch();
}
else
(
cout?"\t\t沒有找到!”v<endl;
cout?"輸入任意字符!繼續(xù)……
getch();
)
}
//
voidStudentmassagc::Swap(Student*pl,Student*p2)//互換兩個com
box變量的數(shù)據(jù)域
(
Student*tenip=newStudent;
strcpy(temp->name,pl->name):
strcpy(temp->Id,pl->Id);
temp->Cnum=pl->Cnum;
tcmp->Mnum=pl->Mnuni;
temp->Enum=p1->Enum;
temp—>sum=pl->sum;
strepy(pl->name,p2->name);
strcpy(p)->ld,p2->Id);
p1->Cnum=p2->Cnum;
p1->Mnum=p2—>Mnum;
pI->Enum=p2->Enum;
pl->sum=p2—>sum;
strepy(p2->name,temp->name);
strcpy(p2->Id,tcmp->Id);
p2->Cnum=temp->Cnum;
p2—>Mnum=temp->Mnum;
p2->Enum=lerrp->Enum;
p2->sum=tenip->sum;
)
//
intStudentmassage::ListCount()〃記錄當(dāng)前鏈表的記錄總數(shù),返I可一個整
數(shù)
(
if(!Head)
return0;
intn=0;
for(Studcnt*p=Head->Next;p!=End;p=p->Next)
(
n++;
}
returnn;
)
//
voidStudentmassage::Sort()〃對當(dāng)前鏈表進行排序
(
cout<<"Sorting...H?endI;
Student*p=NULL,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)安全咨詢員沖突解決評優(yōu)考核試卷含答案
- 色彩搭配師風(fēng)險評估與管理強化考核試卷含答案
- 西式糕點師保密意識評優(yōu)考核試卷含答案
- 尾礦處理工班組協(xié)作能力考核試卷含答案
- 2025年《職業(yè)能力傾向測驗》常識判斷考核試題(易錯題)
- 2025四川滎經(jīng)縣人力資源和社會保障局招聘社區(qū)專職工作者8人備考題庫附答案
- 絹人工崗前工作規(guī)范考核試卷含答案
- 面包師持續(xù)改進水平考核試卷含答案
- 運動營養(yǎng)師班組建設(shè)知識考核試卷含答案
- 乳品加工工操作規(guī)范模擬考核試卷含答案
- 光伏項目后期運營維護管理方案
- 材料作文(原卷版)-2026年中考語文復(fù)習(xí)試題(浙江專用)
- 衰老標(biāo)志物人工智能數(shù)據(jù)模型建立應(yīng)用指南
- 2025至2030中國球囊膽管導(dǎo)管行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 生物樣本資源庫建設(shè)計劃及管理工作方案
- 消防安全管理人責(zé)任書范文
- 光伏電站安全事故案例
- 重癥肺炎患者護理要點回顧查房
- 住院醫(yī)師規(guī)范化培訓(xùn)階段考核(年度考核、出科考核)
- 學(xué)堂在線 雨課堂 學(xué)堂云 中國建筑史-元明清與民居 期末考試答案
- GB/T 45752-2025礦用車載滅火系統(tǒng)安全技術(shù)要求
評論
0/150
提交評論