




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課程設(shè)計說明書題 目: 學(xué)生信息管理系統(tǒng)學(xué) 院: 信息工程學(xué)院班 級: 軟件09-12011年1月21日XX大學(xué)課程設(shè)計(論文)任務(wù)書課程名稱:面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計 學(xué)院:信息工程學(xué)院班級:軟件09-1學(xué)生姓名: XXX學(xué)號:0000指導(dǎo)教師: XXX一、題目學(xué)生信息管理系統(tǒng)二、目的與意義《面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計》課程設(shè)計是計算機科學(xué)與技術(shù)專業(yè)實踐性環(huán)節(jié)之一,通過課程設(shè)計的綜合訓(xùn)練可以使學(xué)生進一步理解和掌握面向?qū)ο蟪绦蛟O(shè)計課程的基本知識 ;掌握面向?qū)ο蟪绦蛟O(shè)計的思路和方法;基本具有利用面向?qū)ο蟮姆椒ㄒ约?C++的編程思想來完成系統(tǒng)設(shè)計的能力。三、要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計要求、圖紙量、工作量要求等).要求利用面向?qū)ο蟮姆椒ㄒ约?C++的編程思想來完成系統(tǒng)的設(shè)計;.要求在設(shè)計的過程中,建立清晰的類層次;.在系統(tǒng)中至少要定義一個類,類中要有各自的屬性和方法;.在系統(tǒng)的設(shè)計中,至少要用到面向?qū)ο蟮囊环N機制。四、工作內(nèi)容、進度安排.根據(jù)課程設(shè)計的要求,確定設(shè)計題目; (0.5天).查找相關(guān)資料,進行應(yīng)用程序總體結(jié)構(gòu)、使用功能的設(shè)計; (0.5天).進行應(yīng)用程序的界面設(shè)計和源程序代碼的編寫; (2.5天).設(shè)計說明書的撰寫、答辯(1.5天)五、主要參考文獻[1]《C++語言程序設(shè)計(第三版)〉〉,鄭莉,清華大學(xué)出版社,2004[2]《C++程序設(shè)計教程》,錢能主編,清華大學(xué)出版社, 1999.4[3]《C++程序設(shè)計課程設(shè)計》,劉振安,機械工業(yè)出版社, 2004.8審核意見系(教研室)主任(簽字)指導(dǎo)教師下達時間 2011年1月17日指導(dǎo)教師簽字: 目錄TOC\o"1-5"\h\z\o"CurrentDocument"前言 1\o"CurrentDocument"第一章系統(tǒng)概述 2\o"CurrentDocument"功能簡介 2\o"CurrentDocument"設(shè)計思路 2\o"CurrentDocument"第二章系統(tǒng)功能的分析和設(shè)計 3\o"CurrentDocument"初始錄入功能 3\o"CurrentDocument"添加函數(shù) 3\o"CurrentDocument"刪除函數(shù) 3\o"CurrentDocument"修改函數(shù) 3\o"CurrentDocument"查詢函數(shù) 4按學(xué)號查詢 4按姓名查詢 4\o"CurrentDocument"顯示函數(shù) 4\o"CurrentDocument"退出系統(tǒng) 4\o"CurrentDocument"第三章調(diào)試及運行結(jié)果 5\o"CurrentDocument"主菜單 5\o"CurrentDocument"顯示功能 5\o"CurrentDocument"增加功能 5\o"CurrentDocument"刪除功能 6\o"CurrentDocument"修改功能 6\o"CurrentDocument"查詢功能 6\o"CurrentDocument"第四章總結(jié) 8\o"CurrentDocument"遇到的問題及解決方法 8\o"CurrentDocument"收獲和體會 8前言學(xué)生信息管理系統(tǒng),是針對學(xué)校人事處的大量業(yè)務(wù)處理工作而開發(fā)的管理軟件,是典型的管理信息系統(tǒng)。它是一個教育單位不可缺少的部分,它的內(nèi)容對于學(xué)校管理者來說是至關(guān)重要的,能有效的幫助學(xué)校和老師掌握學(xué)生的情況。在傳統(tǒng)模式下利用人工進行學(xué)生信息管理,存在著較多的缺點,如:效率底,保密性差,時間一長將產(chǎn)生大量的文件和數(shù)據(jù),更不便于查找,更新,維護等。諸如這些情況,令學(xué)校管理者對學(xué)生的信息管理帶來了很大困難,嚴重影響了教育工作者的工作效率。隨著科學(xué)技術(shù)的不斷提高,使用日趨成熟的計算機技術(shù)來代替?zhèn)鹘y(tǒng)的人工模式,來實現(xiàn)學(xué)生信息的現(xiàn)代化管理,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對學(xué)生信息進行管理,具有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、易修改、可靠性高、存儲量大、數(shù)據(jù)處理快捷、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)生信息管理的效率,也是學(xué)校實現(xiàn)科學(xué)化、正規(guī)化管理的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情。第一章系統(tǒng)概述功能簡介本軟件是一個簡單的學(xué)校學(xué)生信息管理系統(tǒng),軟件窗口為DOS頁面。學(xué)生信息管理系統(tǒng)的功能主要是實現(xiàn)學(xué)校學(xué)生的信息化管理。通過學(xué)生信息管理系統(tǒng),教學(xué)管理人員可以實現(xiàn)對學(xué)生信息的增加、刪除、修改和查詢等操作。本系統(tǒng)最大的優(yōu)點就是操作簡便快捷等。設(shè)計思路將學(xué)生信息定義為一個student類,在類中包含私有數(shù)據(jù)成員intnum、stringnamestringsex、stringpolitic、stringaddress,分別表示學(xué)號、姓名、性別、政治面貌、家庭住址。公有成員函數(shù)包括 set(),add(),del(),change(),research(),show()分別用來實現(xiàn)對,學(xué)生信息的數(shù)據(jù)初始錄入、增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)、顯示所有數(shù)據(jù)功能。然后定義了一個 menu()菜單函數(shù),使功能菜單顯示在運行窗口以提示用戶如何進行操作。主函數(shù)是一個程序必不可少的,在主函數(shù)中,使用一個switch語句來選擇調(diào)用主菜單中的各個功能函數(shù)。第二章系統(tǒng)功能的分析和設(shè)計在本章中,主要是介紹各個功能函數(shù)的設(shè)計思路和實現(xiàn)方法。初始錄入功能此函數(shù)實現(xiàn)的功能主要是,對學(xué)生信息的初始化錄入功能,在初始時,文件中沒有任何數(shù)據(jù),可以通過次函數(shù)輸入任意個學(xué)生的信息,在輸入時通過一個 if條件語句來實現(xiàn)控制循環(huán),當輸入的姓名是“0”時,使用break語句就跳出循環(huán),即停止輸入學(xué)生信息。在此函數(shù)中使用文件處理的方式,先建立一個文件輸出流對象,以寫的方式打開f1.txt文件,使輸入的學(xué)生信息都寫入文件。添加函數(shù)此函數(shù)實現(xiàn)的功能主要是,添加一個學(xué)生的信息,也就是說調(diào)用一次這個函數(shù)只能添加一個學(xué)生的信息。在此函數(shù)中也使用文件處理的方式,但使用的是以追加的方式打開文件,使輸入的學(xué)生信息寫在文件里原有信息的后面。刪除函數(shù)此函數(shù)實現(xiàn)的功能主要是,刪除一個學(xué)生的信息。在此函數(shù)中,先以讀的方式打開文件,讀出文件里的信息在顯示在屏幕上,用戶再根據(jù)提示信息輸入想要刪除第幾個人的信息,關(guān)閉文件。再以寫的方式打開文件,以一個 if條件語句控制,再重新將學(xué)生信息寫入文件(除了打算刪除的那個學(xué)生的信息),由于是以寫的方式打開的文件,所以文件里原有的輸入就都沒有了,存入的新的數(shù)據(jù)。修改函數(shù)此函數(shù)實現(xiàn)的功能主要是,修改一個學(xué)生的信息。此函數(shù)的設(shè)計方法和刪除函數(shù)的設(shè)計思想相類似,應(yīng)用的思想都是將學(xué)生信息重新寫入文件的方法,將原有數(shù)據(jù)覆蓋。查詢函數(shù)在查詢功能中,可以按多條件查詢,本系統(tǒng)分為兩個查詢條件,即按學(xué)號查詢和按姓名查詢。使用if語句來選擇查詢條件。按學(xué)號查詢根據(jù)提示信息輸入學(xué)號后,然后使用一個 for循環(huán)語句,從第一個學(xué)生開始檢索,如果該學(xué)生的學(xué)號和輸入的學(xué)號相等,則輸出該學(xué)生的信息,由于學(xué)生的學(xué)號是唯一固定的,所以并使用break語句跳出循環(huán)。當無查詢結(jié)果時,會輸出一條提示信息“無此人信息!”。按姓名查詢根據(jù)提示信息輸入姓名后,然后使用一個 for循環(huán)語句,從第一個學(xué)生開始檢索,如果該學(xué)生的姓名和輸入的姓名一樣,則輸出該學(xué)生的信息,由于學(xué)生的姓名有可能重復(fù)出現(xiàn),所以不能使用break語句跳出循環(huán),應(yīng)該從第一個學(xué)生開始檢索直到最后一名學(xué)生。當無查詢結(jié)果時,會輸出一條提示信息“無此人信息!”。顯示函數(shù)此函數(shù)實現(xiàn)的功能主要是,顯示所有學(xué)生的信息。先是從文件中讀取學(xué)生信息,然后在輸出到顯示窗口中。用一個 for循環(huán)語句,來把所有學(xué)生的信息都輸出。退出系統(tǒng)當輸入“ 0”時,就能退出系統(tǒng),這是通過 while語句來控制實現(xiàn)的。第三章調(diào)試及運行結(jié)果3.1主菜單主菜單顯示如下:部部全入加除改詢一備展刪修查顯退1234568圖3-1主菜單3.2顯示功能按6則顯示全部信息,如圖3-2:匚竽節(jié)姓名性別政治面貌 家庭住址111Jian?nana a112zhaonub b113wan]nanc c圖3-2顯示功能3.3增加功能進入主菜單后選擇2,進入增加功能,按要求輸入學(xué)生信息,增加數(shù)據(jù)前顯示如圖3-2:增加后顯示如圖3-3:圖3-3增加后圖3-3增加后子F匈IJ貌111jiariOtnan改a112zhaanubb113ucingnancc114chftnnvdd3.4刪除功能進入主菜單后選擇3,進入刪除功能,按要求輸入要刪除的學(xué)生信息,刪除數(shù)據(jù)前顯示如圖3-3:刪除數(shù)據(jù)后顯示如圖3-4: D千萬姓名性別政治面貌家庭住址111jiangnanaa113uangnancc114£hennudd圖3-4刪除后3.5修改功能進入主菜單后選擇4,進入修改功能,按要求輸入要修改的學(xué)生信息,修改數(shù)據(jù)前顯示如圖3-4:修改后如圖3-5:圖3-5修改后3.6查詢功能進入主菜單后選擇5,進入查詢功能,如圖3-6:圖3-6選擇查詢條件按學(xué)號查詢?nèi)鐖D3-7:按姓名查詢?nèi)鐖D3-8:a-筏竽咕查找 瓦按姓名查我請輸入孑或者b,譽輸入學(xué)號!111學(xué)號姓名性別 政治面貌 家庭住址111Jiangnan a a圖3-7按學(xué)好查詢:”按字號查找 h.按姓名直教請輸入a或善h?3輸入姓名?chen學(xué)號姓名性別 政治面貌 家庭住址114chen nu d d圖3-8按姓名查詢第四章總結(jié)遇到的問題及解決方法首先,是對文件的處理不夠熟練,通過看書和搜集一些資料解決了這個問題;其次,是在編寫程序的過程中出現(xiàn)了一些語法錯誤,后通過調(diào)試逐一解決。收獲和體會此次C++面向?qū)ο笳n程設(shè)計,在指導(dǎo)教師的精心教導(dǎo)下,我們學(xué)會了如何用C+瑞寫一個簡單的應(yīng)用程序。首先要對程序的設(shè)計要求有一個比較明確的認識,然后系統(tǒng)分析與系統(tǒng)設(shè)計,最后是代碼設(shè)計與調(diào)試。程序?qū)崿F(xiàn)上,設(shè)計了簡單的菜單界面,將各個功能集中出現(xiàn)在主菜單中,便于調(diào)用。根據(jù)C+解程所學(xué)的概念、理論和方法,按照C++?序設(shè)計的基本步驟,設(shè)計出一個適當規(guī)模的程序;進一步加深對C+叫言的理解和掌握。理論聯(lián)系實際,加深和鞏固所學(xué)的理論知識,提高實踐能力和計算機的綜合運用能力。我們編寫程序的過程是辛苦與快樂的,程序的編寫原則很重要,只要我們在編程,就必須不斷改進,才能更好提高編程能力。參考文獻[1]《C++語言程序設(shè)計(第三版)?,鄭莉,清華大學(xué)出版社,2004[2]《C++語言程序設(shè)計案例教程》,鄭莉,清華大學(xué)出版社,2005[3]《C++程序設(shè)計教程》,錢能主編,清華大學(xué)出版社,1999.4[4]《C++程序設(shè)計》,譚浩強,清華大學(xué)出版社, 2004[5]《C++程序設(shè)計實踐指導(dǎo)》,譚浩強,清華大學(xué)出版社,2005[6]《C++程序設(shè)計課程設(shè)計》,劉振安,機械工業(yè)出版社,2004.8附錄:程序代碼#include<iostream>#include<fstream>#include<string>#include<iomanip>usingnamespacestd;//可以存信息總量//學(xué)生總量//可以存信息總量//學(xué)生總量classstudentpublic:student();voidset(); //初始化信息,第一次對信息的錄入voidadd(); //添加學(xué)生信息voiddel(); //刪除某學(xué)生信息voidchange(); //修改某學(xué)生信息voidsearch(); //查詢某學(xué)生信息voiddisplay(); //顯示全部學(xué)生信息private:staticintnum;stringname,sex,politic,address;};intstudent::num=110;student::student(){}voidstudent::set(){inti;stringsetname,setsex,setpolitic,setaddress;ofstreamoutfile;outfile.open("f1.txt",ios::out);// 打開文件 if(!outfile){cerr<<"openerror"<<endl;exit(1);// 依次錄入相應(yīng)個數(shù)的學(xué)生信息 for(i=0;i<M;i++){cout<<"當姓名輸入為 '0'時,停止輸入! ??!"<<endl;cout<<"請輸入姓名:"<<endl;cin>>setname;name=setname;if(setname=="0")break;if(setname!="0"){N++;num++;outfile<<num<<"";outfile<<setname<<"";cout<<"請輸入性別:"<<endl;cin>>setsex;sex=setsex;outfile<<setsex<<"";cout<<”請輸入政治面貌:"<<endl;cin>>setpolitic;politic=setpolitic;outfile<<setpolitic<<"";cout<<”請輸入家庭住址:"<<endl;cin>>setaddress;address=setaddress;outfile<<setaddress<<endl;}outfile.close();// 關(guān)閉文件 voidstudent::add(){stringaddname,addsex,addpolitic,addaddress;// 以追加的方式錄入信息,直接將信息追加到以前文件的末尾ofstreamoutfile("f1.txt",ios::app);if(!outfile){cerr<<"openerror"<<endl;exit(1);}N=N+1;// 依次輸入相應(yīng)的數(shù)據(jù),并且追加到之前的文件中去 cout<<"請輸入您要添加的數(shù)據(jù)"<<endl;num++;outfile<<num<<"";cout<<"請輸入姓名:"<<endl;cin>>addname;outfile<<addname<<"";cout<<"請輸入性別:"<<endl;cin>>addsex;outfile<<addsex<<"";cout<<"請輸入政治面貌:"<<endl;cin>>addpolitic;outfile<<addpolitic<<"";cout<<”請輸入家庭住址:"<<endl;cin>>addaddress;outfile<<addaddress<<endl;outfile.close();cout<<"已添加成功!"<<endl;voidstudent::del(){intk,i;intnum[M];stringname[M],sex[M],politic[M],address[M];ifstreaminfile("f1.txt",ios::in);if(!infile){cerr<<"openerror"<<endl;exit(1);}for(i=0;i<N;i++){cout<<"";infile>>num[i];cout<<setw(9)<<num[i];infile>>name[i];cout<<setw(9)<<name[i];infile>>sex[i];cout<<setw(9)<<sex[i];infile>>politic[i];cout<<setw(9)<<politic[i];infile>>address[i];cout<<setw(9)<<address[i]<<endl;}cout<<"你想刪除第幾個?"<<endl;cin>>k;k=k-1;infile.close();ofstreamoutfile("f1.txt",ios::out);if(!outfile){cerr<<"openerror"<<endl;exit(1);//退出程序}// 將數(shù)組存取的信息輸出到文件中去 for(i=0;i<N;i++){if(i!=k){outfile<<num[i]<<"";outfile<<name[i]<<"";outfile<<sex[i]<<"";outfile<<politic[i]<<"";outfile<<address[i]<<""<<endl;}outfile.close();N=N-1;cout<<"已刪除成功!"<<endl;voidstudent::change(){inti,k;intnum[M];stringname[M],sex[M],politic[M],address[M];ifstreaminfile("f1.txt",ios::in);if(!infile){cerr<<"openerror"<<endl;exit(1);}for(i=0;i<N;i++){cout<<"infile>>num[i];cout<<setw(9)<<num[i];infile>>name[i];cout<<setw(9)<<name[i];infile>>sex[i];cout<<setw(9)<<sex[i];infile>>politic[i];cout<<setw(9)<<politic[i];infile>>address[i];cout<<setw(9)<<address[i]<<endl;}infile.close();ofstreamoutfile("f1.txt",ios::out);if(!outfile)cerr<<"openerror"<<endl;exit(1);}cout<<"你想修改第幾個數(shù)據(jù)?"<<endl;cin>>k;k=k-1;cout<<"請輸入新的數(shù)據(jù):"<<endl;cout<<"請輸入姓名:"<<endl;cin>>name[k];cout<<"請輸入性別:"<<endl;cin>>sex[k];cout<<”請輸入政治面貌:"<<endl;cin>>politic[k];cout<<”請輸入家庭住址:"<<endl;cin>>address[k];for(i=0;i<N;i++){outfile<<num[i]<<"";outfile<<name[i]<<"";outfile<<sex[i]<<"";outfile<<politic[i]<<"";outfile<<address[i]<<""<<endl;}outfile.close();cout<<"已修改成功!"<<endl;voidstudent::search(){inti,n,w=0,num[M],a[M];charch;stringsearchname,name[M],sex[M],politic[M],address[M],b[M][4];cout<<"a.按學(xué)號查找 b.按姓名查找"<<endl;ifstreaminfile("f1.txt",ios::in);if(!infile)
(cerr<<"openerror"<<endl;exW);)for(i=0;i<N;i++)(infile>>num[i];a[i]=num[i];infile>>name[i];b[i][0]=name[i];infile>>sex[i];b[i][1]=sex[i];infile>>politic[i];b[i][2]=politic[i];infile>>address[i];b[i][3]=address[i];)cout<<”請輸入a或者b!"<<endl;cin>>ch;if(ch=='a')(cout<<"請輸入學(xué)號!"<<endl;cin>>n;for(i=0;i<N;i++)if(a[i]==n)(w=1;cout<<" 學(xué)號姓名性別庭住址"<<endl;cout<<"";cout<<setw(9)<<a[i];cout<<setw(9)<<b[i][0];cout<<setw(9)<<b[i][1];cout<<setw(9)<<b[i][2];cout<<setw(9)<<b[i][3]<<endl;)if(w==0)cout<<"無此人信息!"<<endl;)elseif(ch=='b')(cout<<"請輸入姓名!"<<endl;cin>>searchname;for(i=0;i<N;i++)if(name[i]==searchname)(w=1;cout<<" 學(xué)號姓名性別政治面貌 家政治面貌 家庭住址"<<endl;政治面貌 家政治面貌 家cout<<"II.cout<<setw(9)<<a[i];cout<<setw(9)<<b[i][0];cout<<setw(9)<<b[i][1];cout<<setw(9)<<b[i][2];co
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藏藏醫(yī)藥大學(xué)《數(shù)字視頻特技》2023-2024學(xué)年第二學(xué)期期末試卷
- 渤海石油職業(yè)學(xué)院《Python語》2023-2024學(xué)年第二學(xué)期期末試卷
- 陽泉師范高等專科學(xué)?!督煌üぞ咴O(shè)計(Ⅰ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川華新現(xiàn)代職業(yè)學(xué)院《食品添加劑線上》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年江蘇省東臺市第一中學(xué)高三上學(xué)期12月份階段測試歷史試卷
- 2025年安徽省安全員《B證》考試題庫
- 中山大學(xué)《DMAXD》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢晴川學(xué)院《工程經(jīng)濟學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古大學(xué)創(chuàng)業(yè)學(xué)院《產(chǎn)品設(shè)計與市場營銷》2023-2024學(xué)年第二學(xué)期期末試卷
- 泰山護理職業(yè)學(xué)院《行政學(xué)原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 體育賽事直播服務(wù)投標管理辦法
- 高三沖刺畢業(yè)家長會課件2024-2025學(xué)年
- 【申報書】高職院校高水平專業(yè)群建設(shè)項目申報書
- 《美特斯邦威公司財務(wù)現(xiàn)狀及其盈利能力問題探析(10000字論文)》
- 餐飲服務(wù)電子教案 學(xué)習(xí)任務(wù)4 擺臺技能(4)-西餐宴會餐臺擺臺
- 河南省公安基礎(chǔ)知識真題匯編1
- 2024年江蘇常州市教育基本建設(shè)與裝備管理中心招聘3人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 《護理交接班規(guī)范》課件
- 2022年新高考I卷讀后續(xù)寫David's run公開課課件-高三英語一輪復(fù)習(xí)
- 糧油食材配送投標方案(大米食用油食材配送服務(wù)投標方案)(技術(shù)方案)
- 祭掃烈士實施方案
評論
0/150
提交評論