C++學(xué)生信息管理體系課程設(shè)計(jì)
《C++學(xué)生信息管理體系課程設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《C++學(xué)生信息管理體系課程設(shè)計(jì)(20頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、程序設(shè)計(jì)綜合課程設(shè)計(jì) 計(jì)算機(jī)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 《程序設(shè)計(jì)綜合課程設(shè)計(jì)》報(bào)告 (2010/2011學(xué)年 第一學(xué)期) 學(xué)生姓名: 學(xué)生班級: 學(xué)生學(xué)號: 指導(dǎo)教師: 2010年 1 月 5 日 18 目錄 第一章 課程設(shè)計(jì)目的和要求 1 1.1 本課程設(shè)計(jì)的目的 1 1.2 課程設(shè)計(jì)的任務(wù)及要求 1 第二章:課程設(shè)計(jì)任務(wù)要求 2 2.1.課程設(shè)計(jì)內(nèi)容: 2 2.2.功能實(shí)現(xiàn): 2 2.3.運(yùn)行環(huán)境: 3 第三章:詳細(xì)說明 4 3.
2、1.主函數(shù)的流程圖: 4 3.2.引入的頭文件 4 3.3 定義的類 5 3.4 子函數(shù)介紹 6 3.4.1. 查找學(xué)生函數(shù): 6 3.4.2.添加學(xué)生信息 7 3.4.3.刪除學(xué)生信息 8 第四章: 軟件使用說明 9 第五章:課程設(shè)計(jì)心得與體會 10 附錄1 11 附錄2 12 第一章 課程設(shè)計(jì)目的和要求 1.1 本課程設(shè)計(jì)的目的 (1)熟練掌握C++語言的基本知識和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (3)利用所學(xué)的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題; (4)提高學(xué)生的科技論文寫作能力。 1.2
3、 課程設(shè)計(jì)的任務(wù)及要求 基本要求: (1)課程設(shè)計(jì)前必須根據(jù)課程設(shè)計(jì)題目認(rèn)真準(zhǔn)備實(shí)驗(yàn)源程序及調(diào)試時(shí)所需的數(shù)據(jù); (2)要求采用簡明、嚴(yán)格的問題描述,設(shè)計(jì)求解算法; (3)數(shù)據(jù)結(jié)構(gòu)選用得當(dāng),程序結(jié)構(gòu)合理; (4)程序簡明易懂,多運(yùn)用輸出提示,程序運(yùn)行正確; (5)對設(shè)計(jì)進(jìn)行總結(jié)和討論。 第二章:課程設(shè)計(jì)任務(wù)要求 2.1.課程設(shè)計(jì)內(nèi)容: 該系統(tǒng)是由c++語言編寫的一個(gè)學(xué)生信息管理體系,其主要功能是實(shí)現(xiàn)對學(xué)生信息的增加,刪除,修改,查詢,其中查詢可以分別以姓名,學(xué)號為關(guān)鍵字查詢學(xué)生的信息。 有學(xué)生信息,內(nèi)容如下: 姓名
4、學(xué)號 性別 地址 電話 白雪亮 1001 男 河北邯鄲 15513069479 逢成杰 1002 男 浙江嘉興 15513064356 高國君 1003 男 山西臨汾 15567890987 高嘯天 1004 男 河北衡水 15532423424 耿金燦 1005 男 河北衡水 15538929308 侯玲 1006 女 山西忻州 13445456556 及永超 1007 男 河北滄州 15534923499 1、當(dāng)前學(xué)生信息:通過類來保存學(xué)生的姓名,學(xué)號,性別,地址,電話等等相關(guān)信息,并且通過cin函數(shù)來進(jìn)行給當(dāng)前學(xué)生輸入初始信息。 2、學(xué)生成績查詢: 輸入
5、一個(gè)學(xué)號或姓名, 在文件中查找此學(xué)生, 若找到則輸出此學(xué)生的全部信息; 若找不到則輸出查找失敗的信息.。 3、新生插入,此生的信息保存下來。 4、修改學(xué)生信息。 2.2.功能實(shí)現(xiàn): (1) 信息維護(hù): 此模塊包括子模塊有:增加學(xué)生信息、刪除學(xué)生信息、修改學(xué)生信息、查找學(xué)生信息 (2) 信息查詢: 查詢時(shí)可實(shí)現(xiàn)按姓名查詢、按學(xué)號查詢 2.3.運(yùn)行環(huán)境: 服務(wù)器端運(yùn)行環(huán)境為windows XP,客戶端運(yùn)行環(huán)境為windows XP版,windows 98以上的操作系統(tǒng),Microsof t visual c++6.0 Office 2003 應(yīng)用軟件。
6、
第三章:詳細(xì)說明
3.1.主函數(shù)的流程圖:
Main()
輸入一個(gè)數(shù)
↓
0
Grade.ModifyItem()
Grade.RemoveItem()
Grade.Find()
Grade.Display()
Grade.AddItem()
5
4
3
2
1
結(jié)束
圖3.1主函數(shù)流程圖
3.2.引入的頭文件
# include 7、am>
# include 8、[20];char dianh[20];分別對應(yīng)學(xué)生的姓名,學(xué)號,性別,地址,電話。
class Student
{
public:
char name[20];
char Id[10];
char sex[4];
char dizhi[20]; //地址
char dianh[20]; //電話
Student * Next;
void Input()
{
cout<<"\t\t請輸入學(xué)生的姓名:"; cin>>name;
cout<<"\t\t請輸入學(xué)生的學(xué)號:"; cin>>Id;
cout<< 9、"\t\t請輸入性別:"; cin>>sex;
cout<<"\t\t請輸入地址:"; cin>>dizhi;
cout<<"\t\t請輸入電話:"; cin>>dianh;
}
void ReadFile(istream & in)
{
in>>name>>Id>>sex>>dizhi>>dianh;
}//讀取文件中的信息
void Show()
{
cout<<"姓名:"< 10、 11、p=FindID(Id)
p=FindItem(name)
getch()
圖3.2 查找函數(shù)流程圖
3.4.2.添加學(xué)生信息
設(shè)計(jì)思路:
將磁盤文件輸入內(nèi)存中,內(nèi)容保存在sort.txt 中,通過文件流將sort,txt輸入內(nèi)存中中,實(shí)現(xiàn)學(xué)生信息的讀取。
開始
Head=new Student
通過文件流
12、
in.open("sort.txt");
輸入內(nèi)存中
Y
返回
圖3.3 添加函數(shù)流程圖
3.4.3.刪除學(xué)生信息
設(shè)計(jì)思路:利用查找函數(shù),找到學(xué)生的信息,然后依次刪除各個(gè)信息。
輸入要?jiǎng)h除學(xué)生的名字
13、
p=FindItem(name))
N
Y
temp=p->Next; p->Next=p->Next->Next;
N
14、
輸出沒有該結(jié)點(diǎn)
輸出:刪除成功
getch()
將鏈表存儲回文本文件
圖3.4 刪除函數(shù)流程圖
第四章: 15、 軟件使用說明
將程序代碼輸入到C++編譯器中,運(yùn)行,按照程序運(yùn)行提示操作即可。該系統(tǒng)是由c++語言編寫的一個(gè)學(xué)生信息管理體系,其主要功能是實(shí)現(xiàn)對學(xué)生信息的增加,刪除,修改,查詢,其中查詢可以分別以姓名,學(xué)號為關(guān)鍵字查詢學(xué)生的信息。
第五章:課程設(shè)計(jì)心得與體會
忙碌了幾個(gè)星期,在大家的幫助下,我總算將此程序設(shè)計(jì)出來。盡管不是自己獨(dú)立完成,但仍然很高興,因?yàn)樵谠O(shè)計(jì)的過程中,讓我了解到要設(shè)計(jì)一個(gè)大型程序,查找資料是至關(guān)重要的,在他人的基礎(chǔ)上,再根據(jù)自己所學(xué)進(jìn)行修 16、改與調(diào)試,最后設(shè)計(jì)出自己想要的程序,這過程艱辛,但只要你持之以恒,成功指日可待。
另外平時(shí)扎實(shí)的基礎(chǔ)也很關(guān)鍵,因?yàn)槿绻闫綍r(shí)學(xué)得就不怎么樣,那么你面對這么一個(gè)比較有難度的程序,你可能會望而卻步,看他人的程序都是個(gè)難點(diǎn),更別說讓你自己去設(shè)計(jì)。為了解決此。類問題,最好就是多向同學(xué),老師請教,不要怕難為情。尤其是老師,評他們多年的編寫程序的經(jīng)驗(yàn),要解決我們的問題,對他們來說只是small case。
在設(shè)計(jì)這個(gè)程序時(shí),我們剛開始是根據(jù)老師給我們提供的資料,但是接下去便無從下手了,計(jì)算是個(gè)關(guān)鍵和難點(diǎn),我也查了相應(yīng)的資料,經(jīng)過自己的反復(fù)嘗試以及與與同學(xué)的討論,這也不難,最好還是被我搞定了。
17、
附錄1
參考文獻(xiàn):
1.C++.語言基礎(chǔ)教程 譚浩強(qiáng). 清華大學(xué)出版社.
2.C++程序開發(fā)與設(shè)計(jì)(第二版) Gary J.Bronson著 劉勇譯 人民郵電出版社
3.http://www.bc-
4.
附錄2
程序源代碼:
# include 18、﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student類﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class Student
{
public:
char name[20];
char Id[10];
char sex[4];
char dizhi[20]; //地址
char dianh[20]; //電話
Student * Next;
void Input()
{
cout<<"\t\t請輸入學(xué)生的姓名:"; cin>>name;
cout<<"\t\t請輸入學(xué)生的學(xué)號:"; cin>>Id;
cout<<"\t\t請輸入性別:"; 19、 cin>>sex;
cout<<"\t\t請輸入地址:"; cin>>dizhi;
cout<<"\t\t請輸入電話:"; cin>>dianh;
}
void ReadFile(istream & in)
{
in>>name>>Id>>sex>>dizhi>>dianh;
}
void Show()
{
cout<<"姓名:"< 20、l< 21、istCount();
//void Average();
void Display()
{
for(Student * p=Head->Next;p!=End;p=p->Next)
p->Show();
cout<<"請選擇……";
getch();
}
void AddItem()
{
End->Input();
End->Next=new Student;
End=End->Next;
cout<<"添加成功!"< 22、
Student * Head,* End;
ifstream in;
ofstream out;
Student *FindItem(char * name)
{
for(Student * p=Head;p->Next!=End;p=p->Next)//匹配成功則返回上一個(gè)指針,不成功就返回空
if(!strcmp(p->Next->name,name))return p;
return NULL;
}
Student *FindID(char * Id)
{
for(Student * p=Head;p->Next!=End;p= 23、p->Next)//匹配成功則返回上一個(gè)指針,不成功就返回空
if(!strcmp(p->Next->Id,Id))return p;
return NULL;
}
};
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌構(gòu)造函數(shù)﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Studentmassage::Studentmassage()
{
Head=new Student;
Head->Next=new Student;
End=Head->Next;
in.open("sort.txt");
if(!in)
cout<<"這是一個(gè)系統(tǒng)請先輸入。"< 24、
{
while(!in.eof())
{
End->ReadFile(in);
if(End->name[0]==\0)break;
End->Next=new Student;
End=End->Next;
}
in.close();
cout<<"\t\t讀取學(xué)生信息成功!"< 25、=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete temp;
}
delete Head,End;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜單﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::ShowMenu()
{
cout<<"〓〓〓〓〓〓〓〓〓〓 ☆ 學(xué) 生 成 績 管 理 系 統(tǒng) ☆ 〓〓〓〓〓〓〓〓〓〓"< 26、增加學(xué)生成績 "< 27、 0.安全退出系統(tǒng) "< 28、t*********************************\n請選擇:";
cin>>x;
switch(x)
{
case 1:{cout<<"\t\t請輸入要查找的學(xué)生的姓名:";cin>>name;
if(p=FindItem(name))
{
p->Next->Show();
cout<<"請選擇……";
getch();
}
else
{
cout<<"\t\t沒有找到該姓名的學(xué)生!"<<\n< 29、reak;
case 2:
{
cout<<"\t\t請輸入要查找的學(xué)生的學(xué)號:";cin>>Id;
if(p=FindID(Id))
{
p->Next->Show();
cout<<"請選擇……";
getch();
}
else
{
cout<<"\t\t沒有找到該學(xué)好的學(xué)生!"<<\n< 30、void Studentmassage::ModifyItem() //修改信息
{
char name[20];
Student * p=NULL;
cout<<"\t\t請輸入要修改的人的姓名:";cin>>name;
if(p=FindItem(name))
{
cout<<"\t\t已找到學(xué)生的信息,請輸入新的信息!"< 31、< 32、lete temp;
cout<<"\t\t刪除成功!"< 33、t;p!=End;p=p->Next)
{
n++;
}
return n;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函數(shù)﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::Save()
{
out.open("sort.txt");
for(Student *p=Head->Next;p!=End;p=p->Next)
out< 34、﹌﹌﹌﹌﹌﹌﹌﹌主函數(shù)﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int main()
{
int x,i=0;
bool quit=false;
cout<<"\t\t"< 35、entmassage Grade;
cout<<"按任意鍵開始……";
getch();
system("cls");
Grade.ShowMenu();
while(!quit)
{
cin>>x;
switch(x)
{
case 0:quit=true;break;
case 1:Grade.AddItem();break;
case 2:Grade.Display();break;
case 3:Grade.Find();break;
case 4:Grade.RemoveItem();break;
case 5:Grade.ModifyItem();break;
}
}
return 0;
}
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代文閱讀之小說人物形象課件
- 3第12課蘇東的艱難探索
- 《第二節(jié)--探究環(huán)境污染對生物的影響》課件-(同課異構(gòu))2022年課件
- 牛津譯林版七下英語7bunit1dreamhomesreading課件1
- 六年級語文《一個(gè)這樣的老師》教學(xué)課件
- 六年級安全教育-運(yùn)動(dòng)的自我監(jiān)控課件
- 五年級下冊數(shù)學(xué)優(yōu)秀教學(xué)課件《解決問題》人教新課標(biāo)
- 27清澈的湖水 (2)
- 49稍復(fù)雜的分?jǐn)?shù)乘法應(yīng)用題練習(xí)
- 江蘇省高考物理二輪復(fù)習(xí)專題一力與物體的平衡課件
- 小松鼠找花生課件(教育精品)
- 22跨越海峽的生命橋 (2)
- 人力資源環(huán)境分析
- 《空氣》課件-(省優(yōu))2022年人教版化學(xué)課件-2
- 鐵路與城市軌道交通振動(dòng)與噪聲