版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
文檔從互聯(lián)網(wǎng)中收集,已重新修正排版,word格式支持編輯,如有幫助歡迎下載支持。文檔從互聯(lián)網(wǎng)中收集,已重新修正排版,word格式支持編輯,如有幫助歡迎下載支持。word格式支持編輯,如有幫助歡迎下載支持。PAGE12word格式支持編輯,如有幫助歡迎下載支持。文檔從互聯(lián)網(wǎng)中收集,已重新修正排版,word格式支持編輯,如有幫助歡迎下載支持。word格式支持編輯,如有幫助歡迎下載支持。課程設(shè)計(jì)報(bào)告書設(shè)計(jì)名稱:數(shù)據(jù)結(jié)構(gòu)(C++版)題目:學(xué)生成績(jī)管理系統(tǒng)學(xué)生姓名:XXX專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班別:計(jì)科本XXX班學(xué)號(hào):XXXXXX指導(dǎo)老師:XXX日期:2012年7月一.問(wèn)題描述:設(shè)計(jì)目的:1.掌握線性鏈表的建立。2.掌握線性鏈表的基本操作。3.掌握查找的基本算法。設(shè)計(jì)內(nèi)容:利用線性鏈表實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng),具體功能:輸入、輸出、插入、刪除、查找、追加、讀入、顯示、退出,并能在屏幕上輸出操作前后的結(jié)果。二.基本要求1.寫出系統(tǒng)需求分析,并建模。2.編程實(shí)現(xiàn),界面友好。3.輸出操作前后的結(jié)果。三.工具/準(zhǔn)備工作在此次課程設(shè)計(jì)中,我們用到了MicrosoftVisualC++V6.0,所以在開始課程設(shè)計(jì)前我們首先要安裝好這個(gè)軟件。此外,在開始編程之前要做好相應(yīng)的系統(tǒng)構(gòu)思,以及想好實(shí)現(xiàn)相應(yīng)的功能的算法。四.分析與實(shí)現(xiàn)1.系統(tǒng)功能分析本系統(tǒng)主要實(shí)現(xiàn)對(duì)學(xué)生成績(jī)信息進(jìn)行管理,需要實(shí)現(xiàn)以下幾個(gè)方面的管理功能:(0)創(chuàng)建學(xué)生成績(jī)信息:輸入學(xué)生的信息。(1)查找學(xué)生成績(jī)信息:按學(xué)號(hào)、姓名查找。(2)修改學(xué)生成績(jī)信息:找到要修改的學(xué)號(hào),修改相應(yīng)信息。(3)追加學(xué)生成績(jī)信息:找到要追加的學(xué)生成績(jī)的學(xué)號(hào),對(duì)相應(yīng)科目的成績(jī)進(jìn)行追加。(4)顯示學(xué)生成績(jī)信息:顯示全部學(xué)生的成績(jī)信息(5)插入學(xué)生成績(jī)信息:插入一個(gè)新的學(xué)生。(6)刪除學(xué)生成績(jī)信息;按學(xué)號(hào)、姓名刪除。目或者總分排序。2.系統(tǒng)模塊結(jié)構(gòu)圖學(xué)生成績(jī)管理系統(tǒng)學(xué)生成績(jī)管理系統(tǒng)輸入學(xué)生成績(jī)按學(xué)號(hào)查詢成績(jī)按姓名查詢成績(jī)修改學(xué)生成績(jī)信息追加學(xué)生成績(jī)顯示全部學(xué)習(xí)信息插入學(xué)生成績(jī)信息刪除學(xué)生信息3.模塊分析:3.1系統(tǒng)首頁(yè):功能介紹:輸入相應(yīng)功能序號(hào)即可進(jìn)行相應(yīng)的功能操作。圖1.系統(tǒng)首頁(yè)相應(yīng)的代碼:#include<stdio.h>#include<stdlib.h>#include<iostream>usingnamespacestd;#defineMAX100typedefstructstudent{ intnum; charname[20]; intenglish; intchinese; intmath; inttotal; intlength;structstudent*next;}s,*LinkList;intmain(){cout<<"\t\t\t歡迎登錄學(xué)生成績(jī)管理系統(tǒng)!"<<endl; cout<<"\t\t\t++"<<endl; cout<<"\t\t\t|序號(hào)|請(qǐng)選擇相應(yīng)的操作功能的序號(hào):|"<<endl;cout<<"\t\t\t+++"<<endl; cout<<"\t\t\t|0|請(qǐng)輸入學(xué)生的相關(guān)信息與成績(jī):|"<<endl;cout<<"\t\t\t+++"<<endl; cout<<"\t\t\t|1|按學(xué)生學(xué)號(hào)查詢學(xué)生成績(jī):|"<<endl;cout<<"\t\t\t+++"<<endl; cout<<"\t\t\t|2|按學(xué)生姓名查詢學(xué)生成績(jī):|"<<endl;cout<<"\t\t\t+++"<<endl; cout<<"\t\t\t|3|追加學(xué)生的成績(jī)信息:|"<<endl;cout<<"\t\t\t+++"<<endl; cout<<"\t\t\t|4|顯示全部學(xué)生的信息:|"<<endl;cout<<"\t\t\t+++"<<endl; cout<<"\t\t\t|5|插入學(xué)生信息:|"<<endl;cout<<"\t\t\t+++"<<endl;cout<<"\t\t\t|6|修改學(xué)生信息:|"<<endl;cout<<"\t\t\t+++"<<endl;cout<<"\t\t\t|7|刪除學(xué)生信息:|"<<endl;cout<<"\t\t\t+++"<<endl;intflag=1,flag1=1; LinkListl; l=(LinkList)malloc(sizeof(student)); l->next=NULL; charch,ch2; while(flag){ cout<<"請(qǐng)輸入你要進(jìn)行的操作數(shù):"<<endl;cin>>ch; while(ch>'7'||ch<'0') { cout<<"輸入有誤,請(qǐng)重新輸入"<<endl; cin>>ch; } switch(ch) { case'0':{input(l);cout<<"學(xué)生的基本信息存儲(chǔ)成功"<<endl;}break; case'1':{check(l);}break; case'2':check_name(l);break; case'3':add(l);break; case'4':output(l);break; case'5':insert_stu(l);break; case'6':xiugai(l);break; case'7':Delete_stu(l);break; } cout<<"你要繼續(xù)操作還是退出(y/n)"<<endl; cin>>ch2; while(flag1) { if((ch2=='Y')||(ch2=='y')) { flag=1; flag1=0; } elseif((ch2=='N')||(ch2=='n')) { //flag=0; //flag1=0; } else{ flag1=1; cout<<"輸入有誤,請(qǐng)重新輸入(y/n)(y:繼續(xù))(n:退出)!"<<endl; cin>>ch2; } } }return0;}3.2輸入學(xué)生信息功能介紹:輸入0,選擇進(jìn)入輸入學(xué)生信息功能中,輸入想輸入的學(xué)生信息個(gè)數(shù),并輸入相應(yīng)的學(xué)生信息。圖2.輸入信息相關(guān)代碼:intInitLink(LinkList&L)//輸入學(xué)生信息{ L=(LinkList)malloc(sizeof(structstudent)); L->next=NULL; return0;}intinput(LinkList&L){ inti,n; L->next=NULL; LinkListp; LinkListq; cout<<"請(qǐng)輸入學(xué)生人數(shù):"<<endl; cin>>n; L->length=n; cout<<"請(qǐng)輸入學(xué)生的基本信息:"<<endl; for(i=0;i<L->length;i++) { p=(LinkList)malloc(sizeof(student)); cout<<"學(xué)號(hào):"; cin>>p->num; cout<<endl;cout<<"姓名:"; cin>>p->name; cout<<endl;cout<<"英語(yǔ):"; cin>>p->english; cout<<endl;cout<<"語(yǔ)文:"; cin>>p->chinese; cout<<endl;cout<<"數(shù)學(xué):"; cin>>p->math; cout<<endl; p->total=p->english+p->chinese+p->math;cout<<"++"<<endl;cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl; cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl;cout<<"++"<<endl; if(L->next==NULL) { L->next=p; p->next=NULL; q=p; } else { p->next=NULL; q->next=p; q=p; } //L=L->next; } return0;}3.3顯示學(xué)生全部信息功能簡(jiǎn)介:顯示連表中的全部學(xué)生信息。圖3.顯示全部信息相關(guān)代碼:intoutput(LinkList&L)//顯示全部信息{ LinkListp=L->next; if(L->next==NULL) cout<<"鏈表中沒(méi)有學(xué)生信息,請(qǐng)先輸入學(xué)生信息!"<<endl; else{cout<<"++"<<endl;cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl; while(p) { cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl; p=p->next; } cout<<"++"<<endl; } return0;}intcheck(LinkList&L){ intn; LinkListp=L->next; if(p==NULL) { cout<<"鏈表中沒(méi)有學(xué)生信息,請(qǐng)先輸入學(xué)生信息!"<<endl; } else{ cout<<"請(qǐng)輸入你要查找的同學(xué)的學(xué)號(hào):"<<endl;cin>>n; while(p&&p->num!=n) { p=p->next; } if(!p) cout<<"鏈表中沒(méi)有學(xué)號(hào)為:"<<n<<"的同學(xué)信息!"<<endl; else{ cout<<"學(xué)號(hào)為:"<<n<<"的同學(xué)信息如下:"<<endl; cout<<"++"<<endl; cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl; cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl; cout<<"++"<<endl; } } return0;}intcheck_name(LinkList&L){ charname[20]; LinkListp=L->next; if(p==NULL) { cout<<"鏈表中沒(méi)有學(xué)生信息,請(qǐng)先輸入學(xué)生信息!"<<endl; } else{ cout<<"請(qǐng)輸入你要查找的同學(xué)的姓名:"<<endl;cin>>name; while(p&&strcmp(p->name,name))//strcmp(p->name,name)如果p->name=name,則比較的函數(shù)值為0 { p=p->next; } if(!p) cout<<"鏈表中沒(méi)有姓名為:name"<<name<<":的同學(xué)信息!"<<endl; else{ cout<<"姓名為:name="<<name<<":的同學(xué)信息如下:"<<endl; cout<<"++"<<endl; cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl; cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl; cout<<"++"<<endl; } } return0;3.4學(xué)生成績(jī)追加功能介紹:追加相應(yīng)學(xué)生的相應(yīng)成績(jī)。相關(guān)代碼:intadd(LinkList&L)//追加學(xué)生信息{intn,i,j,k; LinkListp=L->next; if(p==NULL) { cout<<"鏈表中沒(méi)有學(xué)生信息,請(qǐng)先輸入學(xué)生信息!"<<endl; } else{ cout<<"請(qǐng)輸入你要追加的同學(xué)成績(jī)的學(xué)號(hào):"<<endl;cin>>n; while(p&&p->num!=n) { p=p->next; } if(!p) cout<<"鏈表中沒(méi)有學(xué)號(hào)為:"<<n<<"的同學(xué)信息!"<<endl; else{cout<<"請(qǐng)輸入要追加的成績(jī):(相應(yīng)的追加分?jǐn)?shù)分別為英語(yǔ)i,語(yǔ)文j,數(shù)學(xué)k,若是不追加,請(qǐng)輸入0.)"<<endl;cout<<"i=";cin>>i;cout<<endl;cout<<"j=";cin>>j;cout<<endl;cout<<"k=";cin>>k;cout<<endl;p->english+=i;p->chinese+=j;p->math+=k; cout<<"學(xué)號(hào)為:"<<n<<"的同學(xué)信息如下:"<<endl; cout<<"++"<<endl; cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl; cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl; cout<<"++"<<endl; } }return0;}3.5修改學(xué)生信息功能介紹:修改相應(yīng)學(xué)號(hào)學(xué)生信息。相關(guān)代碼:intxiugai(LinkList&L)//修改學(xué)生信息{intn; charx; LinkListp=L->next; if(p==NULL) { cout<<"鏈表中沒(méi)有學(xué)生信息,請(qǐng)先輸入學(xué)生信息!"<<endl; } else{ cout<<"請(qǐng)輸入你要修改的同學(xué)成績(jī)的學(xué)號(hào):"<<endl;cin>>n; while(p&&p->num!=n) { p=p->next; } if(!p) cout<<"鏈表中沒(méi)有學(xué)號(hào)為:"<<n<<"的同學(xué)信息!"<<endl; else{cout<<"++"<<endl;cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl;cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl;cout<<"++"<<endl;cout<<"是否要修改學(xué)號(hào)為"<<n<<"的同學(xué)的信息?(y/n)"<<endl;cin>>x;if((x=='Y')||(x=='y')){cout<<"姓名修改為:";cin>>p->name;cout<<endl;cout<<"英語(yǔ)成績(jī)修改為:";cin>>p->english;cout<<endl;cout<<"語(yǔ)文成績(jī)修改為:";cin>>p->chinese;cout<<endl;cout<<"數(shù)學(xué)成績(jī)修改為:";cin>>p->math;cout<<endl;p->total=p->english+p->chinese+p->math;cout<<"學(xué)號(hào)為"<<n<<"的同學(xué)修改后的信息為:"<<endl;cout<<"++"<<endl;cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl;cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl;cout<<"++"<<endl; }}}return0;}3.6插入學(xué)生信息功能介紹:在鏈表的第i個(gè)節(jié)點(diǎn)插入學(xué)生信息。相關(guān)代碼:intinsert_stu(LinkList&L)//插入學(xué)生信息{ LinkListp,s=L; intj,i,flag=1;if(s->next==NULL) { cout<<"鏈表中沒(méi)有學(xué)生信息,請(qǐng)先輸入學(xué)生信息!"<<endl; }else{cout<<"請(qǐng)輸入你要在鏈表第i個(gè)位置中插入學(xué)生信息的i值:"<<endl;while(flag){ j=0;cin>>i; p=L;while(p&&j<i-1){ p=p->next; ++j;}if(!p||j>i-1){ cout<<"輸入i值小于1或者大于表長(zhǎng)+1,請(qǐng)重新輸入!"<<endl; flag=1;}elseflag=0;} s=(LinkList)malloc(sizeof(student)); cout<<"請(qǐng)輸入學(xué)生的基本信息:"<<endl;cout<<"學(xué)號(hào):";cin>>p->num;cout<<endl;cout<<"姓名:";cin>>p->name;cout<<endl;cout<<"英語(yǔ):";cin>>p->english;cout<<endl;cout<<"語(yǔ)文:";cin>>p->chinese;cout<<endl;cout<<"數(shù)學(xué):";cin>>p->math;cout<<endl;p->total=p->english+p->chinese+p->math;cout<<"插入的學(xué)生信息為:"<<endl; cout<<"++"<<endl; cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl; cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl; cout<<"++"<<endl; s->next=p->next; p->next=s;}return0;}3.7刪除學(xué)生信息功能介紹:刪除某個(gè)學(xué)生的信息。相關(guān)代碼:intDelete_stu(LinkList&L)//刪除學(xué)生信息{intn;charx; LinkListq=L,p=L->next; if(p==NULL) { cout<<"鏈表中沒(méi)有學(xué)生信息,請(qǐng)先輸入學(xué)生信息!"<<endl; } else{ cout<<"請(qǐng)輸入你要查找的同學(xué)的學(xué)號(hào):"<<endl;cin>>n; while(p&&p->num!=n) {q=p; p=p->next; } if(!p) cout<<"鏈表中沒(méi)有學(xué)號(hào)為:"<<n<<"的同學(xué)信息!"<<endl; else{ cout<<"學(xué)號(hào)為:"<<n<<"的同學(xué)信息如下:"<<endl; cout<<"++"<<endl; cout<<"學(xué)號(hào):姓名:英語(yǔ):語(yǔ)文:數(shù)學(xué):總成績(jī):"<<endl; cout<<p->num<<""<<p->name<<""<<p->english<<""<<p->chinese<<""<<p->math<<""<<p->total<<endl; cout<<"++"<<endl; cout<<"是否要?jiǎng)h除該同學(xué)信息?(y/n)"<<endl; cin>>x;if((x=='Y')||(x=='y')){p=p->next;q->next=p;cout<<"該學(xué)生信息已刪除!"<<endl; } } }return0; }五.測(cè)試與結(jié)論1.系統(tǒng)測(cè)試結(jié)果如下:1.1系統(tǒng)首頁(yè):功能介紹:輸入相應(yīng)功能
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大全【人事管理】
- 三角形的面積推導(dǎo)課件
- 第4單元 民族團(tuán)結(jié)與祖國(guó)統(tǒng)一 測(cè)試卷-2021-2022學(xué)年部編版八年級(jí)歷史下冊(cè)
- DBJT 13-317-2019 裝配式輕型鋼結(jié)構(gòu)住宅
- 《電鍍錫工藝學(xué)》課件
- 2024年大學(xué)生攝影大賽活動(dòng)總結(jié)
- 《焊接基本知識(shí)》課件
- 中小學(xué)家長(zhǎng)會(huì)122
- 美術(shù):源起與影響
- 醫(yī)療行業(yè)專業(yè)技能培訓(xùn)體會(huì)
- 《蘇寧電器的內(nèi)部控制與評(píng)價(jià)研究》18000字(論文)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之12:“6策劃-6.1應(yīng)對(duì)風(fēng)險(xiǎn)和機(jī)遇的措施”(雷澤佳編制-2025B0)
- 《IT企業(yè)介紹》課件
- 2024年研究生考試考研思想政治理論(101)試卷及解答參考
- 年終獎(jiǎng)發(fā)放通知范文
- 油田員工勞動(dòng)合同范例
- Unit 5 Music Listening and Talking 說(shuō)課稿-2023-2024學(xué)年高一英語(yǔ)人教版(2019)必修第二冊(cè)
- 車間主任個(gè)人年終總結(jié)
- 2024年甘肅省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- 消防工程技術(shù)專業(yè)畢業(yè)實(shí)習(xí)報(bào)告范文
- 2024年高等教育法學(xué)類自考-00229證據(jù)法學(xué)考試近5年真題附答案
評(píng)論
0/150
提交評(píng)論