基于C++的學(xué)生籍貫信息記錄簿設(shè)計(共30頁)_第1頁
基于C++的學(xué)生籍貫信息記錄簿設(shè)計(共30頁)_第2頁
基于C++的學(xué)生籍貫信息記錄簿設(shè)計(共30頁)_第3頁
基于C++的學(xué)生籍貫信息記錄簿設(shè)計(共30頁)_第4頁
基于C++的學(xué)生籍貫信息記錄簿設(shè)計(共30頁)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于C+的學(xué)生籍貫信息記錄簿設(shè)計學(xué)生姓名: 指導(dǎo)老師: 摘 要 隨著現(xiàn)代化校園的發(fā)展,學(xué)生的學(xué)籍管理需要更快捷方便的信息化管理模式。設(shè)計一個基于c+的學(xué)生檔案管理系統(tǒng),可以方便對學(xué)生信息的管理。本設(shè)計實現(xiàn)了全校學(xué)生信息查詢,新來的學(xué)生信息進行信息錄入,由于學(xué)生上課情況復(fù)雜,還實現(xiàn)了信息修改,及時調(diào)整學(xué)生的基本情況的功能。本設(shè)計的學(xué)校學(xué)生檔案管理系統(tǒng),使用了面向?qū)ο蟮姆椒?,運用Microsoft Visual C+ 6.0實現(xiàn)具有添加新學(xué)生、顯示全部、刪除、刪除全部、修改、退出等功能的學(xué)生籍貫管理系統(tǒng)。 關(guān)鍵詞 程序設(shè)計;C+;學(xué)籍管理 1 引 言學(xué)生檔案管理系統(tǒng)是一個

2、教育單位不可缺少的部分,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。計算機已經(jīng)成為我們學(xué)習(xí)和工作的得力助手:今天,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計算機之所以如此流行的原因主要有以下幾個方面:首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節(jié)省許多資源;第三,計算機可以大大的提高人們的工作效率等等。 隨著

3、科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對學(xué)生檔案信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)生檔案管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。學(xué)生檔案管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括保密和前臺應(yīng)用程序的開發(fā)兩個方面。本次課程設(shè)計目的:通過一個企業(yè)人事管理系統(tǒng),使學(xué)校檔案管理工作系統(tǒng)化、規(guī)范化、自動化,從而達(dá)到提高學(xué)校管理效率。使學(xué)生掌握一門

4、高級程序設(shè)計語言,了解面向?qū)ο蟪绦蛟O(shè)計的基本概念與方法,進而學(xué)會利用C+語言學(xué)會解決一般應(yīng)用問題,并為后續(xù)的專業(yè)課程奠定程序設(shè)計基礎(chǔ)。系統(tǒng)的基本模塊:根據(jù)系統(tǒng)功能的要求,學(xué)生檔案系統(tǒng)可以分為新學(xué)生檔案的輸入,學(xué)生檔案的修改、查詢和刪除等模塊。2 系統(tǒng)需求分析2.1問題定義項目:學(xué)生管理應(yīng)用軟件。目的:讓院校有效的管理體制學(xué)生信息,幫助學(xué)校老師掌握學(xué)生的情況。背景:根據(jù)當(dāng)前某高校的學(xué)生管理出現(xiàn)異常問題,它浪費人力和其它資源。因此,這種缺陷而制定開發(fā)這個學(xué)生管理系統(tǒng)軟件。2.2 可行性研究從技術(shù)方面,是通過C+來做系統(tǒng)的前臺,來實現(xiàn)整系統(tǒng)的功能;從操作方面,基本的錄入、查詢、修改等都能滿足用戶的需

5、求;此次設(shè)計沒有考慮經(jīng)濟可行性。經(jīng)過這一階段確定了該系統(tǒng)的粗略系統(tǒng)流程圖??尚醒芯侩A段的目標(biāo)是:使工作人員從繁瑣的填表,查表工作中解放出來;提高工作質(zhì)量,使供需雙方都獲得滿意的結(jié)果;促進報表,提高工作效率。2.3 需求分析應(yīng)該確定系統(tǒng)必須在Microsoft Visual C+ 6.0的環(huán)境下實現(xiàn)具有添加新學(xué)生、顯示全部、刪除、刪除全部、修改、退出等功能的學(xué)生檔案管理系統(tǒng)。通過以上可以知道該軟件主要有以下功能模塊:Ø 學(xué)生學(xué)籍異動管理Ø 獎懲情況管理Ø 檔案管理Ø 成績管理Ø 考勤管理其中本次課程設(shè)計實現(xiàn)的檔案模塊又分為如下子模塊:Ø

6、 登陸界面:主要是對用戶權(quán)限的判斷,.判斷是否為合法用戶,是合法用戶的就可以對數(shù)據(jù)進行。Ø 新生錄入:主要是將新生信息錄入到數(shù)據(jù)庫中;Ø 管理項目:對學(xué)生信息進行添加、刪除、修改、查詢等。3設(shè)計流程及算法3.1總體設(shè)計:1.設(shè)置輸入輸出流及將程序由磁盤文件保存,構(gòu)件類stu,其主要包括:學(xué)號,姓名,籍貫.2.構(gòu)建無返回值main函數(shù),輸出由與程序相關(guān)操作構(gòu)成的信息鏈表3.根據(jù)鏈表設(shè)置利用switch函數(shù)和循環(huán)函數(shù)將鏈表中的內(nèi)容一一實現(xiàn).3.2詳細(xì)設(shè)計:設(shè)計流程圖:目前程序已達(dá)到的功能檔案管理添加修改查詢刪除系統(tǒng) 圖3.1 系統(tǒng)設(shè)計流程圖一 信息鏈表內(nèi)容如下: 請選擇您需要的

7、操作操作:(0) 數(shù)據(jù)錄入(1) 增加人員(2) 刪除人員(3) 修改數(shù)據(jù)查詢:(4) 按姓名查詢(5) 按學(xué)號查詢(6) 輸出所有學(xué)生的籍貫信息(7) 按籍貫查詢二.選擇相關(guān)操作請輸入相對應(yīng)的括號里的阿拉伯?dāng)?shù)字。三.設(shè)置do-while函數(shù)使輸入序號與符號所需要求相對應(yīng)。四.在do函數(shù)中設(shè)立switch語句,實現(xiàn)多分支選擇結(jié)構(gòu),并實現(xiàn)序號與相應(yīng)內(nèi)容的對應(yīng)關(guān)系.SwitchCase 0數(shù)據(jù)錄入case 1增加人員case 2刪除人員case 3修改數(shù)據(jù)case 4按姓名查詢case 5輸出所有學(xué)生的籍貫信息case 6按籍貫查詢 圖3.23.3算法的實現(xiàn)與運行:在程序開始運行是既會出現(xiàn)一信息鏈

8、表,按鏈表要求輸入序號,若輸入的數(shù)字不是在0-7這個范圍之內(nèi)則要求重新輸入。而實現(xiàn)該過程需要利用到boor語句和if循環(huán)。 case 0 數(shù)據(jù)錄入:以cin和cout形式輸入學(xué)號,籍貫,姓名,以filej形式存入到數(shù)組si中,并將信息存 入到磁盤中.filej=new ofstream("d:document.txt",ios:ate);其作用是將輸入的數(shù)據(jù)存入到已有的文件,文件指針指向文件末尾。既是將錄入的內(nèi)容添加到文件的末尾。并在輸入完成后將*filej和si中的i和j都自加1,既是自動使文件指針指向文件末尾。char c; char name20,bornplace5

9、0;int number; do cout<<"請輸入姓名"<<endl; cin>>name; cout<<"請輸入學(xué)號:"<<endl; cin>>number; cout<<"請輸入籍貫:"<<endl; cin>>bornplace; filej=new ofstream("d:document.txt",ios:ate);*filej<<"姓名"<<nam

10、e<<"學(xué)號"<<number<<"籍貫"<<bornplace <<endl; j+; si=new stu(name,number,bornplace); i+; case 1增加人員:定義字符型變量姓名,籍貫,學(xué)號,并根據(jù)其大小分配相應(yīng)的內(nèi)存空間。輸入相關(guān)內(nèi)容,利用指針使輸入的數(shù)據(jù)直接存入到內(nèi)存中。char name20,bornplace50;int number; char c; do cout<<"請輸入您要增加的學(xué)生的姓名:"<<endl

11、; cin>>name; cout<<"請輸入學(xué)號:"<<endl; cin>>number; cout<<"請輸入籍貫:"<<endl; cin>>bornplace; filej=new ofstream("d:document",ios:ate); *filej<<"姓名"<<name<<"學(xué)號"<<number<<"籍貫"&l

12、t;<bornplace<<endl; j+; si=new stu(name,number,bornplace); i+; case 2 刪除人員:定義字符型變量姓名并分配20個字節(jié)的內(nèi)存空間,定義布爾型變量控制函數(shù)。利用if和do-while函數(shù)在數(shù)據(jù)庫中尋找相對應(yīng)姓名的數(shù)據(jù),找到后將其刪除。在未找到的情況下重新輸入需要查找的人的姓名。在刪除人員上使用的方法為間接刪除,即在sh->name中找到與輸入name相同的數(shù)據(jù)后,使其在輸出時是不顯示的。char name20;bool flag3=0;char c; do cout<<"請輸入您要刪除

13、的學(xué)生姓名:"<<endl; cin>>name; for(int h=0;h<i;h+) if(strcmp(name,sh->name)=0) flag3=1; i-; do sh=sh+1; h+; while(h<=i); if(flag3=0) cout<<"您要求刪除的對象本來就不存在!請檢查輸入的正確性!" case 3 修改數(shù)據(jù):定義字符型變量姓名,籍貫,整型變量學(xué)號和布爾型變量,在利用do-while函數(shù)進行控制,在函數(shù)內(nèi)輸入學(xué)生的姓名,并利用程序中的strcmp 函數(shù)改變原數(shù)據(jù)庫中對應(yīng)學(xué)生姓

14、名下的各個信息。其原理即是尋找到需要修改的學(xué)生后用重新輸入的數(shù)據(jù)信息將原信息覆蓋,從而實現(xiàn)文件的修改。char name20,born50;int num;flag2=0; char c; do cout<<"請輸入您要修改的學(xué)生的姓名:"<<endl; cin>>name; for(int h=0;h<i;h+) if(strcmp(name,sh->name)=0) flag2=1; cout<<"請輸入新的學(xué)號:"<<endl; cin>>num; cout<

15、<"請輸入新的籍貫:"<<endl; cin>>born; sh->number=num; strcpy(sh->bornplace,born); cout<<"數(shù)據(jù)修改成功!" case 4 按姓名查詢:定義一字符型數(shù)組,輸入要查詢學(xué)生的姓名,利用指針和strcmp函數(shù)及for循環(huán)在數(shù)據(jù)庫中尋找相應(yīng)的數(shù)據(jù),在找到后輸出。其尋找的格式為(*sq).name。在找到后依次輸出同一個類中的其他的內(nèi)容。char t20;char c; do int flag1=0; cout<<"請輸

16、入你要查詢學(xué)生的姓名"<<endl; cin>>t; for(int q=0;q<i;q+) if(strcmp(*sq).name,t)=0) flag1=1; cout<<"您要查詢的學(xué)生是:"<<(*sq).name<<"學(xué)號是:"<<(*sq).number<<"籍貫是:"<<(*sq).bornplace<<endl; if(flag1=0) cout<<"對不起!您要查詢的學(xué)生不

17、存在!"<<endl; case 5按學(xué)號查詢:其主要操作與按姓名查詢相似。case7 按籍貫查詢:其主要操作與按姓名查詢相似。case 6輸出所有學(xué)生的籍貫信息:利用strcmp函數(shù)將數(shù)據(jù)庫中與要查詢的學(xué)生相對應(yīng)的信息內(nèi)容從數(shù)據(jù)庫中調(diào)出。其輸出的方式為循環(huán)方式,設(shè)置循環(huán)條件,利用if語句,設(shè)置變量k,使k從0進行自加,直到k的值為h,并依次將sk的值輸出,從而達(dá)到輸出所有學(xué)生的學(xué)籍信息的目的。cout<<"本系統(tǒng)所有學(xué)生的籍貫信息如下:"<<endl; if(i=0) cout<<"管理系統(tǒng)中沒有錄入數(shù)據(jù)

18、或者數(shù)據(jù)已經(jīng)被刪除!"<<endl; for(int k=0;k<i;k+) cout<<k+1<<" "<<"姓名:"<<" "<<sk->name<<" "<< "學(xué)號:"<<" "<<sk->number<<" "<<"籍貫:"<<" &q

19、uot;<<sk->bornplace <<endl; break; 4 數(shù)據(jù)結(jié)構(gòu)的設(shè)計數(shù)據(jù)字典:數(shù)據(jù)字典包括以下幾種類型的條目: 數(shù)據(jù)流條目數(shù)據(jù)流條目給出某個數(shù)據(jù)流和定義,它通常是列出該數(shù)據(jù)流的各組成數(shù)據(jù)元素。該系統(tǒng)中的數(shù)據(jù)流條目有:學(xué)生基本信息學(xué)生姓名學(xué)生學(xué)號學(xué)生籍貫班級信息班號年級邏輯結(jié)構(gòu)的設(shè)計如表5.1所示:表4.1學(xué)生基本信息結(jié)構(gòu)設(shè)計列名數(shù)據(jù)類型可否為空說明namechar20NOT NULL學(xué)生姓名numberintNOT NULL學(xué)號bornplacechar50NOT NULL籍貫5軟件的測試與調(diào)試登陸界面:圖6.01)輸入0后并輸入相關(guān)數(shù)據(jù)呈現(xiàn)的

20、界面:圖6.12)輸入1后并輸入相關(guān)數(shù)據(jù)呈現(xiàn)的界面:圖6.23)在第一步和第二步的基礎(chǔ)上使用操作2后上呈現(xiàn)的界面:圖6.34)在第一步,第二步的基礎(chǔ)上使用操作3后上呈現(xiàn)的界面:圖6.45)在第一步,第二步和第四步的基礎(chǔ)上使用操作4后上呈現(xiàn)的界面:圖6.56)在前幾步的基礎(chǔ)上使用操作5后上呈現(xiàn)的界面:圖6.67)在前幾步的基礎(chǔ)上使用操作6后上呈現(xiàn)的界面:圖6.78)在前幾步的基礎(chǔ)上使用操作7后上呈現(xiàn)的界面:圖6.86 課程設(shè)計心得在本次課程設(shè)計中,我利用到了本學(xué)期學(xué)到的大部分知識,而在次程序中,最主要運用是在數(shù)組和類及在指針的運用方面。同時明白只要充分的融會貫通在課堂上學(xué)會的東西并在課后積極的進

21、行程序設(shè)計的訓(xùn)練,增加自己對C+程序語言的了解,并應(yīng)取盡早的熟練的使用這一門語言。通過此學(xué)期的學(xué)習(xí)我了解到了C+作為一種面向?qū)ο蟮某绦蛟O(shè)計語言,它支持對類的抽象。而在此程序中,主要運用的知識為函數(shù)的循環(huán)系統(tǒng),類的組成,對象成員的應(yīng)用等,而訪問對象中的成員可以有三種方法,通過對象名和成員運算符訪問對象中的成員,通過指向?qū)ο蟮闹羔樤L問對象中的成員,通過對象的引用變量訪問對象中的成員。課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,當(dāng)今計算機應(yīng)用在生活中可以說得是無處不在。因此作為二十一

22、世紀(jì)的大學(xué)來說掌握計算機開發(fā)技術(shù)是十分重要的?;仡櫰鸫舜握n程設(shè)計,至今我仍感慨頗多,的確,自從拿到題目到完成整個編程,從理論到實踐,在整整一個星期的日子里,可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,這畢竟獨立做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻

23、,掌握得不夠牢固,比如說結(jié)構(gòu)體通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。7 致謝在本次課程設(shè)計中,鄧澤林老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我受益匪淺。在整個設(shè)計過程中給與我很大的幫助,特別是他看完我們所做的半成品之后,給了很多意見并指出其中的錯誤和不足之處,使我們得到不少的提高,這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝他耐心的輔導(dǎo)。另外,在系統(tǒng)開發(fā)過程中,很多同學(xué)給我提供了無私的幫助,他們犧牲自己寶貴的時間給我傳授豐富的知識經(jīng)驗,在此表示衷心的感謝。參考文獻(xiàn)1 SongWANG, The Design and Implementation of St

24、udents' Status Management System ,,  2G.Perry. C+程序設(shè)計教程. 北京:清華大學(xué)出版社,19943 譚浩強 ,C+程序設(shè)計, 北京:清華大學(xué)出版社4 宜晨 ,Visual C+5.0實用培訓(xùn)教程,北京:電子工業(yè)出版社,19985 丁勇, 彭積云, 查金旺;學(xué)生管理系統(tǒng)的設(shè)計與實現(xiàn)6周曉聰,李文軍,李師賢. 面向?qū)ο蟪绦蛟O(shè)計實踐與提高. 中山大學(xué)計算機科學(xué)學(xué)院講義,1999附錄:源程序清單:#include<iostream.h > /輸入輸出流#include<string.h> /類的運算#includ

25、e<fstream.h> /用來支持對磁盤文件的輸出#include<stdlib.h>class stu /構(gòu)造一個類,類名為stu char name20; /名字int number; /學(xué)號char bornplace50; /出生地public: stu() stu(char n20,int num,char born50) /將n,num,born的內(nèi)容復(fù)制給name,number,bornplace strcpy(name,n); number=num;strcpy(bornplace,born); friend void main(); /友元函數(shù); v

26、oid main() cout<<"請選擇您需要的操作!"<<endl; /輸出菜單頁面cout<<" 操作:"<<endl; cout<<"(0)數(shù)據(jù)錄入"<<endl; cout<<"(1)增加人員"<<endl; cout<<"(2)刪除人員"<<endl; cout<<"(3)修改數(shù)據(jù)"<<endl; cout<<

27、" 查詢:"<<endl; cout<<"(4)按姓名查詢"<<endl; cout<<"(5)按學(xué)號查詢"<<endl; cout<<"(6)輸出所有學(xué)生的籍貫信息"<<endl; cout<<"(7)按籍貫查詢"<<endl;cout<<"選擇相關(guān)操作請輸入相對的括號里的阿拉伯?dāng)?shù)字!"<<endl; char p;char w; stu *s

28、50; /定義指針變量ofstream *file50; /定義指針變量int i=0; int j=0; bool flag2=0; /布爾運算,使輸入的數(shù)字在0-7范圍之內(nèi)do cin>>p; /命題為真時 if(p>='0'&&p<='7') flag2=1; else /命題為假時令重新輸入 cout<<"指令錯誤!請重新輸入:"<<endl; while(flag2=0); /構(gòu)造while-do函數(shù),使序號與內(nèi)容之間實現(xiàn)對應(yīng)關(guān)系do switch(p) /switch

29、函數(shù),利用case條件實現(xiàn)功能 case '0': /數(shù)據(jù)錄入 char c; char name20,bornplace50;int number; /定義內(nèi)容變量do /實現(xiàn)數(shù)據(jù)錄入中的錄入功能 cout<<"請輸入姓名"<<endl; cin>>name; cout<<"請輸入學(xué)號:"<<endl; cin>>number; cout<<"請輸入籍貫:"<<endl; cin>>bornplace; fil

30、ej=new ofstream("d:document.txt",ios:ate); /將錄入的內(nèi)容存入磁盤中*filej<<"姓名"<<name<<"學(xué)號"<<number<<"籍貫"<<bornplace <<endl; /將指針指向下一個內(nèi)存單元j+; si=new stu(name,number,bornplace); i+; cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<<

31、;endl; cin>>c; flag2=0; do /控制輸入內(nèi)容為y或n if(c!='y'&&c!='n') /if語句為控制條件 cout<<"指令錯誤!請重新輸入!"<<endl; cin>>c; else flag2=1; while(flag2=0); while(c='y'); break; case '1': /增加人員 char name20,bornplace50;int number; /定義變量char c; do /輸入

32、要增加的學(xué)生的相關(guān)內(nèi)容cout<<"請輸入您要增加的學(xué)生的姓名:"<<endl; cin>>name; cout<<"請輸入學(xué)號:"<<endl; cin>>number; cout<<"請輸入籍貫:"<<endl; cin>>bornplace; filej=new ofstream("d:document",ios:ate); /將輸入的內(nèi)容存入磁盤空間*filej<<"姓名&quo

33、t;<<name<<"學(xué)號"<<number<<"籍貫"<<bornplace<<endl; j+; si=new stu(name,number,bornplace); i+; cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎(y/n)"<<endl; cin>>c; if(c!='y'&&c!='n') cout<<"指令錯誤!請重新輸入!"<&l

34、t;endl; cin>>c; while(c='y'); break; case '2': /刪除人員 char name20;bool flag3=0;char c; do cout<<"請輸入您要刪除的學(xué)生姓名:"<<endl; cin>>name; for(int h=0;h<i;h+) if(strcmp(name,sh->name)=0) /通過指針使要刪除的學(xué)生信息被跳過,次刪除方式為間接刪除 flag3=1; /命題為真是學(xué)生總?cè)藬?shù)減1,并使指針跳過需要刪除的人員i-

35、; do sh=sh+1; /指針跳過需要刪除的人員h+; while(h<=i); if(flag3=0) /若輸入的學(xué)生不存在則執(zhí)行以下內(nèi)容cout<<"您要求刪除的對象本來就不存在!請檢查輸入的正確性!" cout<<"要繼續(xù)刪除嗎?(y/n)"<<endl; cin>>c; if(c!='y'&&c!='n') cout<<"指令錯誤!請重新輸入!"<<endl; cin>>c; while

36、(c='y'); break; case '3': /修改數(shù)據(jù) char name20,born50;int num;flag2=0; char c; do cout<<"請輸入您要修改的學(xué)生的姓名:"<<endl; cin>>name; for(int h=0;h<i;h+) /用重新輸入的內(nèi)容將原有信息覆蓋if(strcmp(name,sh->name)=0) flag2=1; cout<<"請輸入新的學(xué)號:"<<endl; cin>>

37、num; cout<<"請輸入新的籍貫:"<<endl; cin>>born; sh->number=num; strcpy(sh->bornplace,born); cout<<"數(shù)據(jù)修改成功!" if(flag2=0) /確定輸入的正確性 cout<<"您要修改的學(xué)生本來就不存在!請檢查重新輸入!"<<endl; cout<<"想繼續(xù)修改嗎(y/n)"<<endl; cin>>c; if(c!

38、='y'&&c!='n') cout<<"指令錯誤!請重新輸入!"<<endl; cin>>c; while(c='y'); break; case '4': /按姓名查詢 char t20;char c; do int flag1=0; cout<<"請輸入你要查詢學(xué)生的姓名"<<endl; cin>>t; for(int q=0;q<i;q+) if(strcmp(*sq).name,t)=0)

39、 flag1=1; cout<<"您要查詢的學(xué)生是:"<<(*sq).name<<"學(xué)號是:"<<(*sq).number<<"籍貫是:"<<(*sq).bornplace<<endl; if(flag1=0) cout<<"對不起!您要查詢的學(xué)生不存在!"<<endl; cout<<"您想繼續(xù)查詢嗎?(y/n)"<<endl; cin>>c; if(c

40、!='y'&&c!='n') cout<<"指令錯誤!請重新輸入!"<<endl; cin>>c; while(c='y'); break; case '5': /按學(xué)號查詢 int n ;int j=0;char c; do int flag=0; cout<<"請輸入你要查詢的學(xué)生學(xué)號:"<<endl; cin>>n; for(int j=0;j<i;j+) int no=(*sj).numbe

41、r);if(no=n) flag=1; cout<<"您要查詢的學(xué)生是:"<<(*sj).name<<endl; cout<<"籍貫是:"<<(*sj).bornplace<<endl; if(flag=0) cout<<"對不起!您要查詢的學(xué)生不存在!"<<endl; cout<<"您想繼續(xù)查詢嗎?(y/n)"<<endl; cin>>c; if(c!='y'&

42、;&c!='n') cout<<"指令錯誤!請重新輸入!"<<endl; cin>>c; while(c='y'); break; case '6': /輸出所有學(xué)生的籍貫信息 cout<<"本系統(tǒng)所有學(xué)生的籍貫信息如下:"<<endl; if(i=0) cout<<"管理系統(tǒng)中沒有錄入數(shù)據(jù)或者數(shù)據(jù)已經(jīng)被刪除!"<<endl; for(int k=0;k<i;k+) cout<<

43、k+1<<" "<<"姓名:"<<" "<<sk->name<<" "<< "學(xué)號:"<<" "<<sk->number<<" "<<"籍貫:"<<" "<<sk->bornplace <<endl; break; case '7': /按籍貫查詢 char m20;int j=0;char c; do int flag

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論