學(xué)生成績(jī)信息標(biāo)準(zhǔn)管理系統(tǒng)樣本(共43頁(yè))_第1頁(yè)
學(xué)生成績(jī)信息標(biāo)準(zhǔn)管理系統(tǒng)樣本(共43頁(yè))_第2頁(yè)
學(xué)生成績(jī)信息標(biāo)準(zhǔn)管理系統(tǒng)樣本(共43頁(yè))_第3頁(yè)
學(xué)生成績(jī)信息標(biāo)準(zhǔn)管理系統(tǒng)樣本(共43頁(yè))_第4頁(yè)
學(xué)生成績(jī)信息標(biāo)準(zhǔn)管理系統(tǒng)樣本(共43頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)生成績(jī)信息標(biāo)準(zhǔn)管理系統(tǒng)學(xué)生成績(jī)信息管理系統(tǒng)1 引 言 設(shè)計(jì)目的與要求2系統(tǒng)需求與功能分析 系統(tǒng)需求分析3總體結(jié)構(gòu)設(shè)計(jì)4 系統(tǒng)詳細(xì)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)5 系統(tǒng)測(cè)試6 結(jié)束語(yǔ)參考文獻(xiàn)附錄1:鏈表結(jié)構(gòu)化設(shè)計(jì)源程序清單附錄2:順序表結(jié)構(gòu)化設(shè)計(jì)源程序清單. . .261 引 言 設(shè)計(jì)目的與要求該學(xué)生信息管理系統(tǒng)采用C+語(yǔ)言開(kāi)發(fā)研制,針對(duì)學(xué)生成績(jī)及其數(shù)據(jù)特點(diǎn),可以全面實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的插入、查詢、修改、刪除和輸出等功能的計(jì)算機(jī)管理。它能使學(xué)生信息數(shù)據(jù)的工作人員從繁重的工作中解脫出來(lái),大大減輕了工作量,減少人為的工作失誤,全面提高學(xué)生信息管理的效率,從而使學(xué)校對(duì)于學(xué)生成績(jī)的管理水平和技術(shù)水平躍上一個(gè)新的臺(tái)階。(1

2、) 程序要添加適當(dāng)?shù)淖⑨?,程序的書寫要采用縮進(jìn)格式。(2) 程序要具在一定的健壯性,即當(dāng)輸入數(shù)據(jù)非法時(shí),程序也能適當(dāng)?shù)刈龀龇磻?yīng),如插入刪除時(shí)指定的位置不對(duì)等等。(3) 程序要做到界面友好,在程序運(yùn)行時(shí)用戶可以根據(jù)相應(yīng)的提示信息進(jìn)行操作。(4) 根據(jù)實(shí)驗(yàn)報(bào)告模板詳細(xì)書寫實(shí)驗(yàn)報(bào)告,在實(shí)驗(yàn)報(bào)告中給出鏈表根據(jù)姓名進(jìn)行查找的算法和插入算法的流程圖。定義一個(gè)包含學(xué)生信息(學(xué)號(hào),姓名,成績(jī))的的順序表和鏈表,使其具有如下功能: (1) 根據(jù)指定學(xué)生個(gè)數(shù),逐個(gè)輸入學(xué)生信息;(2) 逐個(gè)顯示學(xué)生表中所有學(xué)生的相關(guān)信息;(3) 根據(jù)姓名進(jìn)行查找,返回此學(xué)生的學(xué)號(hào)和成績(jī);(4) 根據(jù)指定的位置可返回相應(yīng)的學(xué)生信息(

3、學(xué)號(hào),姓名,成績(jī)); (5) 給定一個(gè)學(xué)生信息,插入到表中指定的位置; (6) 刪除指定位置的學(xué)生記錄;(7) 統(tǒng)計(jì)表中學(xué)生個(gè)數(shù)。2系統(tǒng)需求與功能分析 系統(tǒng)需求分析 (1) 能完成學(xué)生信息的插入、查詢、修改、刪除、輸出等功能;(2)采用單鏈表與順序表存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn);(3) 所有數(shù)據(jù)以外部文件方式保存。(1)要設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng),其功能包括:插入函數(shù)Add():將學(xué)生成績(jī)信息插入到鏈表中;查詢函數(shù)Search():分別可以按學(xué)號(hào)和按姓名進(jìn)行學(xué)生成績(jī)查詢;刪除函數(shù)Delete():當(dāng)需要?jiǎng)h除的學(xué)號(hào)和姓名一致時(shí)則刪除對(duì)應(yīng)的學(xué)生記錄;修改函數(shù)Modify():修改指定的學(xué)生成績(jī)信息;輸出函數(shù)Sho

4、w():輸出全部學(xué)生成績(jī)信息;菜單函數(shù)Menu():為程序的菜單函數(shù)為實(shí)現(xiàn)各種功能提供便捷;讀取數(shù)據(jù)函數(shù)Read():從外部文件讀取學(xué)生成績(jī)信息;保存數(shù)據(jù)函數(shù)Save():將數(shù)據(jù)保存到外部文件中。3總體結(jié)構(gòu)設(shè)計(jì)通過(guò)對(duì)學(xué)生信息管理系統(tǒng)的功能分析,可以定義出系統(tǒng)的總體結(jié)構(gòu)模塊圖,。學(xué)生成績(jī)管理系統(tǒng) 學(xué)生信息插入學(xué)生信息查詢學(xué)生信息刪除學(xué)生信息修改學(xué)生信息輸出學(xué)生信息讀取學(xué)生信息保存 前面的分析中已經(jīng)定義了系統(tǒng)各個(gè)模塊,屬于靜態(tài)建模的范圍。在系統(tǒng)運(yùn)行時(shí)刻的動(dòng)態(tài)模型應(yīng)該由系統(tǒng)的流程決定。當(dāng)用戶運(yùn)行該系統(tǒng)后可以來(lái)進(jìn)行學(xué)生信息插入管理、學(xué)生信息查詢管理、學(xué)生信息刪除管理、學(xué)生信息修改管理及學(xué)生信息輸出等操

5、作,。進(jìn)入系統(tǒng)數(shù)據(jù)讀入查詢修改刪除輸出數(shù)據(jù)保存退出系統(tǒng)不保存YN主模塊應(yīng)負(fù)責(zé)應(yīng)用程序的主界面,、界面清晰的特點(diǎn),使用戶能夠很方便地找到所需功能。根據(jù)功能需求的結(jié)果分析,主界面應(yīng)該由學(xué)生信息插入管理,學(xué)生信息查詢管理、學(xué)生信息修改管理、學(xué)生信息刪除管理和學(xué)生信息輸出管理組成,可以通過(guò)輸入相應(yīng)的數(shù)字進(jìn)入相應(yīng)的功能模塊。4 鏈表學(xué)生信息管理系統(tǒng)詳細(xì)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)系統(tǒng)總體設(shè)計(jì)完成后,就可以根據(jù)需求對(duì)各個(gè)模塊來(lái)進(jìn)行實(shí)現(xiàn)了。在本系統(tǒng)中需要編碼實(shí)現(xiàn)的主要有學(xué)生信息插入、學(xué)生信息查詢、學(xué)生信息修改、學(xué)生信息刪除和學(xué)生信息輸出等5個(gè)模塊。(1)學(xué)生信息插入模塊添加的信息包括學(xué)號(hào)(不允許重復(fù))、姓名(不允許重復(fù))

6、、分?jǐn)?shù)。開(kāi)始插入數(shù)據(jù)輸入學(xué)生信息調(diào)用類成員函數(shù)采用單鏈表保存數(shù)據(jù)結(jié)束本程序采用的是尾插法,就是每次將新申請(qǐng)的結(jié)點(diǎn)插在終端結(jié)點(diǎn)的后面,。(2)學(xué)生信息查詢模塊。結(jié)束輸入要查找姓名判斷抱歉沒(méi)有該學(xué)生輸出該學(xué)生的信息按姓名查找開(kāi)始NY在單鏈表中,即使知道被訪問(wèn)結(jié)點(diǎn)的位置i,也不能像順序表那樣直接按序號(hào)訪問(wèn),而只能從頭指針出發(fā),設(shè)置一個(gè)工作指針p,順next域逐個(gè)結(jié)點(diǎn)往下搜索。當(dāng)p指向某個(gè)結(jié)點(diǎn)時(shí)判斷是否為第i個(gè)結(jié)點(diǎn),若是則查找成功;否則,將工作指針p后移,即將p指向原來(lái)所指結(jié)點(diǎn)的后繼結(jié)點(diǎn)。直到p為NULL時(shí)查找失敗。按學(xué)號(hào)查詢學(xué)生信息同按姓名查找學(xué)生信息,此處不再詳細(xì)列出。(3)學(xué)生信息修改模塊首先要

7、查找與要修改數(shù)據(jù)相匹配的信息,若沒(méi)有則返回失敗。否則把相應(yīng)的信息輸出,然后再重新輸入新的數(shù)據(jù)并保存到單鏈表。(4)學(xué)生信息刪除模塊當(dāng)選擇刪除功能時(shí),首先輸入要?jiǎng)h除的同學(xué)的姓名,然后輸入要?jiǎng)h除的同學(xué)的學(xué)號(hào),如果該同學(xué)存在并且姓名與學(xué)號(hào)匹配的上,則進(jìn)行刪除操作,否則返回失敗。:開(kāi)始刪除操作輸入姓名輸入學(xué)號(hào)姓名學(xué)號(hào)一致執(zhí)行刪除功能返回主菜單NY刪除操作定義為將單鏈表的第i個(gè)結(jié)點(diǎn)刪去。因?yàn)樵趩捂湵碇薪Y(jié)點(diǎn)ai存儲(chǔ)地址在其前驅(qū)結(jié)點(diǎn)ai-1的指針域,所以必須首先找到ai-1的存儲(chǔ)地址p,然后令p的next域指向ai 的后繼結(jié)點(diǎn),即把結(jié)點(diǎn)ai 從鏈上摘下來(lái),最后釋放結(jié)點(diǎn)ai的存儲(chǔ)空間,。 (5)學(xué)生信息輸出模

8、塊從單鏈表表頭遍歷整個(gè)單鏈表,將所有數(shù)據(jù)輸出。其部分代碼如下: void Function:Show() char choose;Student *temp;system("cls");temp=Student_First->Next; if(!temp) cout<<"文件無(wú)數(shù)據(jù)nn "<<endl;cout<<""<<endl; cin>>choose; while(choose!='1') cout<<""<&

9、lt;endl; cin>>choose; Menu(); elsecout<<"姓名t學(xué)號(hào)t語(yǔ)文成績(jī)t數(shù)學(xué)成績(jī)t英語(yǔ)成績(jī)n"while(temp!=NULL)temp->Out(); temp=temp->Next; cout<<""<<endl;cin>>choose;while(choose!='1')cout<<""<<endl; cin>>choose;Menu(); 5 系統(tǒng)測(cè)試在完成了系統(tǒng)各方面的設(shè)

10、計(jì)后,并不是可以運(yùn)行就完成的,為了保證系統(tǒng)性能的穩(wěn)定性跟安全性等,就要對(duì)系統(tǒng)做測(cè)試。測(cè)試環(huán)境如下:l 硬件:P4C ,80GB硬盤,512M內(nèi)存;l 軟件:Windows XP Personal SP2,分辨率1024*768,Microsoft Visual C+ 。我就以順序表為例介紹一下我的學(xué)生信息管理系統(tǒng)吧 選擇1清空學(xué)生信息功能時(shí),。返回主菜單后選擇3插入學(xué)生成績(jī)信息,4刪除學(xué)生信息,。當(dāng)在主菜單中選擇4時(shí),則進(jìn)行刪除功能。 刪除學(xué)生信息功能實(shí)現(xiàn)當(dāng)在主菜單中選擇6時(shí),則進(jìn)行顯示當(dāng)前信息功能。6 結(jié)束語(yǔ)通過(guò)這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的實(shí)驗(yàn),在解決問(wèn)題的過(guò)程中,充分體會(huì)到了數(shù)據(jù)結(jié)構(gòu)這門課程對(duì)于

11、軟件設(shè)計(jì)的重要性,也體會(huì)到了數(shù)據(jù)結(jié)構(gòu)+算法=程序這句話的真正含義,一個(gè)實(shí)際問(wèn)題的解決第一步就是要依賴于良好的抽象思維的,將實(shí)際問(wèn)題轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)結(jié)構(gòu),只有這一步做好了,才能采取相應(yīng)的算法和優(yōu)化方法解決問(wèn)題和解決好問(wèn)題。參考文獻(xiàn)1 錢新賢,楊猛,程兆煒,張少東Visual C+編程疑難詳解M 北京:人民郵電出版社,2000 2 王紅梅,胡明,王濤數(shù)據(jù)結(jié)構(gòu)(C+)M 北京:清華大學(xué)出版社,2007 3 程學(xué)先數(shù)據(jù)庫(kù)原理與技術(shù)M北京:中國(guó)水利水電出版社,2001 4 Alex Kriegel & Boris SQL BibleM北京:電子工業(yè)出版社,20005 鄭章,程剛,張勇Visual

12、 C+M北京:機(jī)械工業(yè)出版社,6 and . C+ Annotations. Version ,ICCE,University of Groningen,Netherlands,1990. 250280附錄1:鏈表結(jié)構(gòu)化設(shè)計(jì)源程序清單/ 程序名稱: / 程序功能:采用鏈表與文件實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng)。 #include <iostream>#include <fstream>#include<cstring>#include<>#include <ctime>using namespace std;struct Class i

13、nt Chinese; int Math; int English;class Studentpublic: Student(); void Ofile(ofstream &of); void Infile(ifstream &f); void Out(); void Set(char *name,int no,Class score); char *GetName(); int GetNo(); Student *Next; protected:char Name20; int No;Class Score ;Student:Student():Next(0) char *S

14、tudent:GetName()return Name; int Student:GetNo()return No;void Student:Set(char *name,int no,Class score)strcpy(Name,name);No=no; Score=score;void Student:Infile(ifstream &f)f>>Name>>No>>>>>> /將數(shù)據(jù)輸入到文件 void Student:Ofile(ofstream &of)of<<" "<&

15、lt;Name<<" "<<No<<" "<<<<" "<<<<" "<< /從文件中提取數(shù)據(jù)void Student:Out() cout<<Name<<"t"<<No<<"t"<<<<"tt"<<<<"tt"<<<<&q

16、uot;t"<<endl; class Function /功能類 public:Function(); /構(gòu)造函數(shù)Function(); /析構(gòu)函數(shù)void Menu(); /菜單函數(shù)void Add(); /錄入學(xué)生成績(jī)函數(shù) void Search(); /查詢學(xué)生成績(jī)函數(shù)void Delete(); /刪除學(xué)生成績(jī)函數(shù)void Modify(); /修改學(xué)生成績(jī)函數(shù)void Show(); /顯示學(xué)生成績(jī)函數(shù)private:Student *Student_First; void Read(); /讀取學(xué)生成績(jī)函數(shù) void Save(); /保存學(xué)生成績(jī)信息函數(shù);

17、Function:Function() Student_First=new Student; Read(); Function:Function()delete Student_First; void Function:Add() /錄入學(xué)生成績(jī)信息函數(shù)char name20; int no; Class score;char choose; Student *f1,*p,*f2; system("cls");f1=Student_First;f2=Student_First->Next;while(f1->Next)f1=f1->Next; do p=n

18、ew Student;cout<<"請(qǐng)輸入您要添加的學(xué)生成績(jī)信息:"<<endl;cout<<"請(qǐng)輸入學(xué)生姓名:" cin>>name;while(f2)if(strcmp(f2->GetName(),name)=0)cout<<"該學(xué)生已存在,請(qǐng)確定姓名!nn"cout<<"請(qǐng)輸入姓名:" cin>>name;break;f2=f2->Next; cout<<"請(qǐng)輸入學(xué)號(hào):" cin&g

19、t;>no; cout<<"請(qǐng)輸入語(yǔ)文成績(jī):" cin>> cout<<"請(qǐng)輸入數(shù)學(xué)成績(jī):" cin>> cout<<"請(qǐng)輸入英語(yǔ)成績(jī):" cin>> p->Set(name,no,score);f1->Next=p; p->Next=NULL;f1=f1->Next;cout<<"是否繼續(xù)輸入信息?(YN) "<<endl;cin>>choose;while(choose=&#

20、39;y'|choose='Y');Save();cout<<""<<endl;cin>>choose;while(choose!='1')cout<<""<<endl; cin>>choose;Menu();void Function:Delete() /刪除信息函數(shù) char name20; int no;char choose;Student *temp,*p;system("cls");p=temp=Student_

21、First->Next; cout<<"請(qǐng)輸入姓名:"cin>>name;cout<<"輸入學(xué)號(hào):"cin>>no;while(temp) if(strcmp(temp->GetName(),name)=0&&temp->GetNo()=no) /判斷該學(xué)生信息是否存在 cout<<"姓名t學(xué)號(hào)t語(yǔ)文成績(jī)t數(shù)學(xué)成績(jī)t英語(yǔ)成績(jī)n" temp->Out(); cout<<"n是否刪除(Y/N)" cin>

22、;>choose; if(choose='y'|choose='Y')p->Next=temp->Next;delete temp;cout<<"刪除成功:n" break; p=temp; temp=temp->Next; Save(); cout<<""<<endl;cin>>choose; while(choose!='1'&&choose!='2')cout<<""

23、<<endl; cin>>choose;if(choose='1')Menu(); else if(choose='2')Delete(); void Function:Modify() /修改學(xué)生信息函數(shù)char choose,name20; Student *temp,*p; int no;Class score;system("cls");temp=p=Student_First;cout<<"請(qǐng)輸入您要修改的學(xué)生姓名:"cin>>name;while(temp)if(

24、strcmp(temp->GetName(),name)=0) cout<<"姓名t學(xué)號(hào)t語(yǔ)文成績(jī)t數(shù)學(xué)成績(jī)t英語(yǔ)成績(jī)n"temp->Out(); cout<<"請(qǐng)輸入姓名:" cin>>name; cout<<"請(qǐng)輸入學(xué)號(hào):" cin>>no; cout<<"請(qǐng)輸入語(yǔ)文成績(jī):" cin>> cout<<"請(qǐng)輸入數(shù)學(xué)成績(jī):" cin>> cout<<"請(qǐng)輸

25、入英語(yǔ)成績(jī):" cin>> temp->Set(name,no,score);break;temp=temp->Next; Save();cout<<"修改成功!"<<endl;cout<<""<<endl;cin>>choose;while(choose!='1'&&choose!='2') cout<<""<<endl; cin>>choose;if(ch

26、oose='1')Menu();else if(choose='2')Modify();void Function:Read() /讀取信息函數(shù)Student *p,*p2; p=Student_First; long t; ifstream is("",ios:in); if(!is) ofstream os("",ios:out); (); return ; while(!() p2=new Student; p2->Infile(is); p->Next=p2; p2->Next=NULL; p=p

27、->Next;void Function:Save() /保存學(xué)生成績(jī)信息函數(shù)ofstream of("",ios:out); Student *p=Student_First->Next; while(p)p->Ofile(of); p=p->Next; ();void Function:Search() int flag(0); char choose; char t120;int t2;system("cls");Student *temp=Student_First->Next; do cout<<&qu

28、ot;輸入查詢方式:n"cin>>choose;if(choose='1')cout<<"請(qǐng)輸入您要查詢的姓名:"cin>>t1;while(temp)if(strcmp(t1,temp->GetName()=0) flag=1;break;temp=temp->Next; if(flag=0)cout<<"n無(wú)該學(xué)生的信息n"<<endl;elsecout<<"姓名t學(xué)號(hào)t語(yǔ)文成績(jī)t數(shù)學(xué)成績(jī)t英語(yǔ)成績(jī)n"temp->O

29、ut();break;else if(choose='2')cout<<"請(qǐng)輸入您要查詢的學(xué)號(hào)"cin>>t2;while(temp)if(t2=temp->GetNo() flag=1; break;temp=temp->Next; if(flag=0)cout<<"n無(wú)該學(xué)生的信息n"<<endl;elsecout<<"姓名t學(xué)號(hào)t語(yǔ)文成績(jī)t數(shù)學(xué)成績(jī)t英語(yǔ)成績(jī)n"temp->Out(); break;while(choose!='

30、1'|choose!='2'); cout<<""<<endl;cin>>choose;while(choose!='1'&&choose!='2')cout<<""<<endl;cin>>choose;if(choose='1')Menu(); else if(choose='2') Search(); void Function:Show() char choose;Stude

31、nt *temp;system("cls");temp=Student_First->Next; if(!temp) cout<<"文件無(wú)數(shù)據(jù)nn "<<endl;cout<<""<<endl; cin>>choose; while(choose!='1') cout<<""<<endl; cin>>choose; Menu(); elsecout<<"姓名t學(xué)號(hào)t語(yǔ)文成績(jī)t數(shù)

32、學(xué)成績(jī)t英語(yǔ)成績(jī)n"while(temp!=NULL) temp->Out(); temp=temp->Next; cout<<""<<endl;cin>>choose;while(choose!='1')cout<<""<<endl; cin>>choose;Menu(); void Function:Menu() time_t t; time(&t);char choose; system("cls");cout&

33、lt;<" -版權(quán)所有:李卉-"<<endl; cout<<endl; cout<<"*"<<endl; cout<<" 平頂山學(xué)院歡迎你 "<<endl<<endl; cout<<" 學(xué)生成績(jī)信息管理系統(tǒng) "<<endl<<endl; cout<<" 顯示系統(tǒng)時(shí)間和日期: "<<ctime(&t)<<endl; cout<

34、;<"*"<<endl<<endl;cout<<"請(qǐng)選擇您需要的操作,選擇相關(guān)操作請(qǐng)輸入相對(duì)的括號(hào)里的阿拉伯?dāng)?shù)字!"<<endl; cout<<"n" cout<<" 1 錄入學(xué)生成績(jī)信息:n"<<endl;cout<<" 2 查詢學(xué)生成績(jī)信息:n"<<endl; cout<<" 3 刪除學(xué)生成績(jī)信息:n"<<endl;cout<&l

35、t;" 4 修改學(xué)生成績(jī)信息:n"<<endl;cout<<" 5 顯示全部學(xué)生成績(jī)信息:n"<<endl; cout<<" 6 退出系統(tǒng)"<<endl;cout<<"n" cin>>choose;switch(choose)case '1': Add();break; case '2': Search();break; case '3': Delete();break;case &#

36、39;4': Modify();break;case '5': Show();break; case '6': exit(1);break;default:cout<<"請(qǐng)按規(guī)定輸入選擇項(xiàng)!"<<endl;Menu();void main()Function function; /定義功能接口(); /調(diào)用主菜單附錄2:鏈表結(jié)構(gòu)化設(shè)計(jì)源程序清單#define LIST_INIT_SIZE 10 /確定分配空間大小#include <>#include <>#include <>

37、;#include <> /getch()#include <>typedef struct student /學(xué)生信息結(jié)構(gòu)體類型 char No100; char name7; float score;typedef struct /定義順序類型sqlist student *stu; /指向數(shù)據(jù)元素的基地址int length; /線性表的當(dāng)前長(zhǎng)度int listsize;sqlist;/下面是函數(shù)的原型聲明int Initlist(sqlist &sl); /順序表初始化int creat(sqlist &sl);/順序表的建立int insert

38、list(sqlist &sl,student elem,int pos);/順序表的插入操作int search(sqlist sl,int pos);/按指定位置刪除int dele_elem1(sqlist &sl,int pos,student &elem);/順序表的按位置刪除操作int dele_elem2(sqlist &sl,char *num,student &elem);/順序表的按學(xué)號(hào)刪除int out_list(sqlist sl);/順序表的輸出操作/主函數(shù)/void main() cout<<"nn歡迎使

39、用學(xué)生信息查詢系統(tǒng),請(qǐng)按提示使用!nnn" sqlist sl; Initlist(sl); student s; char number9; int pos; while(1) cout<<" n 以下程序是使用順序表實(shí)現(xiàn)的:n"cout<<" n 0126程正爐請(qǐng)您選擇您要執(zhí)行的操作:n"cout<<endl<<endl; cout<<" 1、清空順序表 2、創(chuàng)建順序表 3、插入信息 4、刪除信息 5、查找信息 6、顯示當(dāng)前信息 0、退出系統(tǒng)n" cout<

40、;<" n請(qǐng)從序號(hào)0-6中選擇,繼續(xù)你所需要的工作" int n;char c; cin>>n; if(n=0)/退出 cout<<"n謝謝您的使用,該系統(tǒng)是11電商一班的程正爐設(shè)計(jì),多謝你的使用!n" break; else if(n=1)/清空 cout<<"此操作將清空順序表,您是否繼續(xù)?輸入n表示你要退出,輸入其他任意鍵繼續(xù)你需要的工作n" cin>>c; if(c=n) break; else Initlist(sl);cout<<"順序表已清空!您

41、可以繼續(xù)其他操作!nn" else if(n=2)/創(chuàng)建 cout<<"n此操作將創(chuàng)建順序表,您是否繼續(xù)?輸入n表示你要退出,輸入其他任意鍵繼續(xù)你需要的工作n" cin>>c; if(c=n) break; else creat(sl); else if(n=3)/插入 cout<<"輸入插入學(xué)生信息:n" cout<<"請(qǐng)輸入學(xué)生學(xué)號(hào):" cin>> cout<<"請(qǐng)輸入學(xué)生姓名:" cin>> cout<<

42、"請(qǐng)輸入學(xué)生成績(jī):" cin>> insertlist(sl,s,pos); else if(n=4)/刪除功能 int m; cout<<"1、我想按輸入特定位置刪除n" cout<<"2、我想按輸入學(xué)生學(xué)號(hào)刪除n" cout<<"請(qǐng)您選擇:" cin>>m; cout<<endl; if(m=1) dele_elem1(sl,pos,s); else if(m=2) cout<<"輸入您要?jiǎng)h除的學(xué)生學(xué)號(hào):"

43、cin>>number; dele_elem2(sl,number,s); cout<<endl; else if(n=5) int num; cout<<"請(qǐng)輸入您要查找的學(xué)生學(xué)號(hào):" cin>>num; search(sl,num); else if(n=6)/顯示 out_list(sl); else if(n!=0|n!=1|n!=2|n!=3|n!=4|n!=5|n!=6) cout<<"您的輸入有誤,請(qǐng)重新輸入!n" /while /函數(shù)定義/int Initlist(sqlist

44、&sl) =(student *)malloc(LIST_INIT_SIZE*sizeof(student); if(!) return 0; cout<<"分配失?。" =0; =LIST_INIT_SIZE; return 1;/創(chuàng)建操作/int creat(sqlist &sl) cout<<"下面創(chuàng)建學(xué)生信息查詢系統(tǒng),請(qǐng)按提示輸入數(shù)據(jù):n" =0; int m; /用于記數(shù) cout<<"您一共要建立多少名學(xué)生數(shù)據(jù)?n" cin>>m;cout<<&

45、quot;名n" for(int i=1;i<=m;i+) cout<<"請(qǐng)輸入第"<<i<<"名同學(xué)的學(xué)號(hào):" cin>>i-1.No; cout<<endl; cout<<"請(qǐng)輸入第"<<i<<"名同學(xué)的姓名:" cin>> ; cout<<endl; cout<<"請(qǐng)輸入第"<<i<<"名同學(xué)的

46、成績(jī):" cin>>i-1.score ; cout<<endl; +; cout<<"n本次操作您一共輸入了"<<m<<"名數(shù)據(jù)n" return 1;/插入操作/int insertlist(sqlist &sl,student elem,int pos) cout<<"請(qǐng)輸入您要插入信息的位置:n" cin>>pos; if(pos<1|pos>+1) cout<<"您要插入的位置不存在,請(qǐng)檢查

47、!n" return 0; struct student *p; for(p=;p<+;p+) if(strcmp(p->No, )=0) cout<<"對(duì)不起!輸入的學(xué)號(hào)已存在,請(qǐng)輸入其它學(xué)號(hào)!n" cout<<"該學(xué)號(hào)在系統(tǒng)中代表的信息為:n" cout<<"學(xué)號(hào):"<<p->No<<endl; cout<<"姓名:"<<p->name<<endl; cout<<"成績(jī):"<<p->score<<endl; return 0; struct student *q; q=&(pos-1); for(p=&(); p>=q;-p) *(p+1)=*p; *q=elem; +; cout<<"n插入已成功,要檢查請(qǐng)看輸出!n" return 1;int sea

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論