




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、編號:07河北工業(yè)大學(xué)計(jì)算機(jī)軟件技術(shù)基礎(chǔ)(VC)課程設(shè)計(jì)報(bào)告一、題目:利用單項(xiàng)鏈表實(shí)現(xiàn)簡單的學(xué)生信息管理(07)二、設(shè)計(jì)思路1、總體設(shè)計(jì)1) 分析程序的功能創(chuàng)建單項(xiàng)鏈表保存學(xué)生的各項(xiàng)信息,學(xué)號、姓名、成績。并能夠完成學(xué)生信息的插入、刪除及信息的顯示功能。2) 系統(tǒng)總體結(jié)構(gòu):按照程序要求的功能采用結(jié)構(gòu)化的設(shè)計(jì)思想,劃分為五個功能模塊,即創(chuàng)建鏈表、插入函數(shù)、刪除函數(shù)、顯示函數(shù)和主函數(shù)。2、各功能模塊的設(shè)計(jì):說明各功能模塊的實(shí)現(xiàn)方法 頭文件:對自己定義的函數(shù)進(jìn)行函數(shù)聲明。 主函數(shù):進(jìn)行函數(shù)的調(diào)用,實(shí)現(xiàn)各函數(shù)的功能,達(dá)到預(yù)期的目的。 函數(shù)定義部分:定義各個功能函數(shù),創(chuàng)建鏈表函數(shù)、插入新信息函數(shù)、刪除信
2、息函數(shù)、顯示信息函數(shù)。3、設(shè)計(jì)中的主要困難及解決方案1)在插入新信息時,有插入點(diǎn)在表頭、中間、表尾三種情況,為此采用討論的方法,把三種情況進(jìn)行討論使其分開進(jìn)行。2)在刪除信息時,有刪除的為頭結(jié)點(diǎn)和中間結(jié)點(diǎn)的情況,采用討論的方法,把兩種情況分開來進(jìn)行。4、你所設(shè)計(jì)的程序最終完成的功能1)創(chuàng)建鏈表、插入新信息、刪除信息、顯示信息。2)測試數(shù)據(jù)輸入的數(shù)據(jù)學(xué)號姓名成績98023LiLi8598044WangTao6999764ZhangXiaobao7299812LiuLifang91插入的數(shù)據(jù)學(xué)號姓名成績96085WangLiPing7798120ZhangLi7599912LiuHai80刪除的數(shù)
3、據(jù)學(xué)號姓名成績99812liulifang91運(yùn)行結(jié)果三、程序清單本程序包含creatlist.cpp、insert.cpp、del.cpp、output.cpp、main.cpp、頭文件.h六個文件1、creatlist.cpp文件清單#include<iostream.h>#include"頭文件.h"int n;student *creatlist() student *head; student *p1;student *p2;n=0;head=NULL;p1=new(student); /創(chuàng)建一個新結(jié)點(diǎn)p2=p1;cin>>p1->n
4、um>>p1->name>>p1->score;while(p1->num!=0) /鏈表建立過程結(jié)束的判斷條件n+;if(n=1) /將鏈表中第一個新建結(jié)點(diǎn)作為表頭head=p1;else p2->next=p1; /原鏈表結(jié)點(diǎn)指向新建結(jié)點(diǎn)p2=p1;p1=new(student);cin>>p1->num>>p1->name>>p1->score;delete(p1); p2->next=NULL;return head; /返回表頭2、insert.cpp文件清單#include&
5、lt;iostream.h>#include"頭文件.h"student *insert(student *head,student *t)student *p0; /待插入點(diǎn)student *p1;student *p2; /p0插入p1之前,p2之后p1=head;p0=t;if(p1=NULL) /原鏈表是空表head=p0;p0->next=NULL;elsewhile(p0->num>p1->num)&&(p1->next!=NULL) /查找待插入點(diǎn)p2=p1;p1=p1->next;if(p0->
6、num<=p1->num) if(p1=head) /要插入的位置在表頭 head=p0; p0->next=p1; else /要插入的位置不是表頭 p2->next=p0; p0->next=p1; else /插入表尾結(jié)點(diǎn)之后 p1->next=p0;p0->next=NULL;return head; /返回表頭3、del.cpp文件清單#include<iostream.h>#include"頭文件.h"student *del(student *head,int num)student *p1;student
7、 *p2;if(head=NULL) /原鏈表是空表cout<<"List is NULLn"return head;p1=head;while(num!=p1->num)&&(p1->next!=NULL) /查找?guī)б獎h除的結(jié)點(diǎn)p2=p1;p1=p1->next;if(num=p1->num)if(p1=head) /要刪除的是頭結(jié)點(diǎn)head=p1->next;else /要刪除的不是頭結(jié)點(diǎn) p2->next=p1->next;delete(p1); /釋放被刪除結(jié)點(diǎn)所占的內(nèi)存空間cout<<
8、;"delete: "<<num<<endl;elsecout<<"not found"<<endl;return head; /返回表頭4、output.cpp文件清單#include<iostream.h>#include"頭文件.h"void output(student *head)if(head=NULL) /原鏈表是空表cout<<"list is NULLn"elsestudent *p1;p1=head;cout<<
9、"學(xué)生的成績信息"<<endl;cout<<"學(xué)號"<<"t姓名"<<"t成績n"do /輸出鏈表中各個同學(xué)的信息cout<<p1->num<<"t"<<p1->name<<"t"<<p1->score<<endl;p1=p1->next;while(p1!=NULL);5、main.cpp文件清單#include<iostre
10、am.h>#include"頭文件.h"void main()student *headl;cout<<"輸入學(xué)生的成績信息"<<endl;cout<<"學(xué)號"<<"t姓名"<<"t成績"<<endl;headl=creatlist();int k;while(1) /菜單選項(xiàng)cout<<endl;cout<<"-菜單選項(xiàng)-"<<endl;cout<<
11、"1.插入新信息 ,請選擇:1"<<endl;cout<<"2.刪除信息, 請選擇:2"<<endl;cout<<"3.顯示信息, 請選擇:3"<<endl;cout<<"4.結(jié)束程序, 請選擇:4"<<endl;cout<<" 選擇"cin>>k;if(k=1) /插入新信息int m;cout<<"輸入插入學(xué)生人數(shù)"<<endl;cin>
12、;>m;cout<<"學(xué)號"<<"t姓名"<<"t成績"<<endl;for(int i=0;i<m;i+) student *stu; stu=new(student); cin>>stu->num>>stu->name>>stu->score; headl=insert(headl,stu);else if(k=2) /刪除信息int num;cout<<"輸入要刪除學(xué)生的學(xué)號n"cin
13、>>num;headl=del(headl,num);else if(k=3) /顯示信息output(headl);else /結(jié)束程序break;6、頭文件.h文件清單struct student /定義結(jié)構(gòu)體類型int num;char name20;double score;student *next;student *creatlist(); /創(chuàng)建鏈表函數(shù)原型說明student *insert(student * ,student * ); /插入函數(shù)原型說明student *del(student * ,int ); /刪除函數(shù)原型說明void output(student * ); /顯示函數(shù)原型說明四、對該設(shè)計(jì)題目有何更完善的方案1、對自己完成程序進(jìn)行自我評價。完成了課程設(shè)計(jì)的基本要求,同時在此基礎(chǔ)上進(jìn)行了一些創(chuàng)新,使用了多文件,使程序看起來更清晰更有條理。但由于能力有限,以及對C+的認(rèn)識不深,其中還有不夠完善合理的地方。2、對課題提出更完善的方案增加按照成績對鏈表進(jìn)行排序的功能,使學(xué)生信息能夠按照成績的高低進(jìn)行顯示,能夠更清晰地顯示學(xué)生的學(xué)習(xí)情況五、收獲及心得體會1、通過本次課程設(shè)計(jì),自
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 殯葬代理服務(wù)合同內(nèi)容
- 教育行業(yè)在線課堂系統(tǒng)搭建及優(yōu)化方案
- 醫(yī)廢處理相關(guān)行業(yè)投資方案范本
- 嘧菌酯相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 乙苯脫氫催化劑相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 幼兒園安全標(biāo)志說課
- 專業(yè)培訓(xùn)學(xué)校招生與運(yùn)營管理協(xié)議
- 企業(yè)級應(yīng)用軟件定制協(xié)議
- 公司聯(lián)營保底合同
- 河北省2024-2025學(xué)年高三下學(xué)期省級聯(lián)測考試數(shù)學(xué)試卷(原卷版+解析版)
- 《不合格品管理》課件
- 駕駛員春季安全行車培訓(xùn)
- 俄烏沖突專題解讀課件
- 2024年廣西職業(yè)院校技能大賽高職組《視覺藝術(shù)設(shè)計(jì)》賽項(xiàng)規(guī)程
- JGJT46-2024《施工現(xiàn)場臨時用電安全技術(shù)標(biāo)準(zhǔn)》條文解讀
- 餐廳服務(wù)員上菜培訓(xùn)
- 鉆機(jī)的基礎(chǔ)知識介紹
- ICU重癥患者康復(fù)護(hù)理
- 簡單詞考研英語5500單詞表
- 廣東省佛山市2024年中考英語模擬試卷(含答案)
- ISO14644國際標(biāo)準(zhǔn)(中文版)
評論
0/150
提交評論