第一篇:C++課程設(shè)計(教務(wù)管理系統(tǒng))
#include
void menu(University uni);//菜單函數(shù)聲明
class Student//學(xué)生類 { public: string name;int age;string sex;int number;string major;
public: void disp_stu();
friend void file_in(University &uni);
friend void file_out(University uni);};void Student::disp_stu(){
}
class Institute//學(xué)院類 { public: string name;cout<<“學(xué)生姓名:”<
public: void add_stu();
//添加學(xué)生
bool delete_stu(int i);
// 刪除學(xué)生
bool modefy_stu(int i);
//修改學(xué)生信息
void disp_ins_1();
// 顯示本院學(xué)生信息
friend void file_in(University &uni);
friend void file_out(University uni);};void Institute::add_stu(){
} Student *p=new Student;cout<<“學(xué)生名字:”;cin>>(*p).name;cout<<“學(xué)生年齡:”;cin>>(*p).age;cout<<“學(xué)生性別:”;cin>>(*p).sex;cout<<“學(xué)生學(xué)號:”;cin>>(*p).number;cout<<“學(xué)生專業(yè):”;cin>>(*p).major;head.Add(p);//在鏈表末尾增加一個節(jié)點(diǎn)
bool Institute::delete_stu(int i){
} head.Remove(i);//刪除鏈表指定位置節(jié)點(diǎn) return true;bool Institute::modefy_stu(int i){
Student *p=new Student;cout<<“學(xué)生名字:”;cin>>(*p).name;cout<<“學(xué)生年齡:”;cin>>(*p).age;cout<<“學(xué)生性別:”;cin>>(*p).sex;cout<<“學(xué)生學(xué)號:”;cin>>(*p).number;cout<<“學(xué)生專業(yè):”;cin>>(*p).major;head.Remove(i);//刪除鏈表指定位置節(jié)點(diǎn) head.Insert(i,p);//在鏈表指定位置插入一個新節(jié)點(diǎn)
return true;} void Institute::disp_ins_1(){
}
class University//學(xué)校類 { public: string name;int age;string addr;List
void design_stu();//學(xué)生信息設(shè)置 int i;Node
cout<<“學(xué)院名字:”< } cout<<“-------”<pData->disp_stu();q=q->pNext; void add_ins(); //添加學(xué)院 bool delete_ins(int n); // 刪除學(xué)院 void design_cqut(); //設(shè)置學(xué)校信息 bool modefy_cqut(); //修改學(xué)校信息 void disp_cqut(); //顯示學(xué)校信息 void design_ins(); //學(xué)院信息設(shè)置 bool modefy_ins(int n); //修改學(xué)院 void disp_ins(); //顯示學(xué)院信息 void search_menu();void search_name(string n);//姓名 void search(string n);//性別//函數(shù)重載 void search(int n);//學(xué)號 bool search_age(int n);//年齡 friend void file_in(University &uni);};friend void file_out(University uni); void University::design_stu(){ int i,m,j;int n;cout<<“ ★★★★★★學(xué)生信息設(shè)置★★★★★★ ”< { disp_ins(); cout< cout<<“輸入學(xué)生所在學(xué)院序號:”< cin>>m;system(“cls”);//清屏 head.pCurrent=head.pHead;//當(dāng)前指針指向雙向鏈表頭指針 for(j=1;j { } } head.pCurrent=head.pCurrent->pNext;//當(dāng)前指針指后移 cout<<“輸入要添加的學(xué)生信息:”;head.pCurrent->pData->add_stu();cout<<“按任意鍵返回上一級菜單:”< disp_ins(); cout< cout<<“輸入學(xué)生所在學(xué)院序號:”< cin>>m;system(“cls”);//清屏 head.pCurrent=head.pHead;//當(dāng)前指針指向雙向鏈表頭指針 for(j=1;j { head.pCurrent=head.pCurrent->pNext;//當(dāng)前指針指后移 } } head.pCurrent->pData->disp_ins_1();cout< { disp_ins(); cout< cout<<“輸入學(xué)生所在學(xué)院序號:”< cin>>m;system(“cls”);//清屏 head.pCurrent=head.pHead;//當(dāng)前指針指向雙向鏈表頭指針 for(j=1;j { } } head.pCurrent=head.pCurrent->pNext;//當(dāng)前指針指后移 head.pCurrent->pData->disp_ins_1();cout< } cin>>n;head.pCurrent->pData->modefy_stu(n);cout<<“按任意鍵返回上一級菜單:”< void University::add_ins(){ } bool University::delete_ins(int n){ } bool University::modefy_ins(int n){ Institute *p=new Institute;cout<<“學(xué)院名字:”;cin>>(*p).name;head.Remove(n);//刪除鏈表指定位置節(jié)點(diǎn) head.Insert(n,p);//在指定位置插入節(jié)點(diǎn)信息 return true;head.Remove(n);//刪除鏈表指定位置節(jié)點(diǎn) return true;Institute *p=new Institute;cout<<“學(xué)院名字:”;cin>>(*p).name;head.Add(p);//在鏈表末尾增加一個節(jié)點(diǎn) } void University::disp_ins(){ int i;Node for(i=1;i<=head.size;i++){ cout<pData->name< } void University::design_ins(){ int i;int j;cout<<“ ★★★★★★學(xué)院信息設(shè)置★★★★★★ ”< cout< { } disp_ins();cout<<“按任意鍵返回上一級菜單:”< disp_ins(); add_ins(); cout<<“按任意鍵返回上一級菜單:”< getch();system(“cls”);//清屏 design_ins(); break;} case 3: { } disp_ins();cout<<“輸入刪除學(xué)院序號:”;cin>>j;delete_ins(j);cout<<“按任意鍵返回上一級菜單:”< disp_ins();cout<<“輸入修改學(xué)院序號:”;cin>>j;modefy_ins(j);cout<<“按任意鍵返回上一級菜單:”< } case 5:menu(*this);break;} } bool University::modefy_cqut(){ cout<<“學(xué)校名字:”;cin>>name;cout<<“創(chuàng)建年代:”;cin>>age;cout<<“學(xué)校地址:”;cin>>addr;return true;} void University::design_cqut(){ int i; University uni;cout<<“ ★★★★★★學(xué)校信息設(shè)置★★★★★★ cout< switch(i){ case 1: { disp_cqut(); cout<<”按任意鍵返回上一級菜單:“< getch();system(”cls“);//清屏 design_cqut(); break; } case 2: { modefy_cqut(); cout<<”按任意鍵返回上一級菜單:“< getch();system(”cls“);//清屏 design_cqut();break;”< } } } case 3:menu(uni);break; void University::disp_cqut(){ cout<<“學(xué)校有關(guān)信息為:”< } void University::search_name(string n){ int i,j,m=0;head.pCurrent=head.pHead;//當(dāng)前指針指向?qū)W院節(jié)點(diǎn)頭指針 for(i=0;i for(j=0;j { if(n==head.pCurrent->pData->head.pCurrent->pData->name) { } head.pCurrent->pData->head.pCurrent->pData->disp_stu();m++;head.pCurrent->pData->head.pCurrent=head.pCurrent->pData->head.pCurrent->pNext;//學(xué)生當(dāng)前指針后移 } bool University::search_age(int n){ int i,j,m=0;head.pCurrent=head.pHead;for(i=0;i } cout<<“有”< } head.pCurrent->pData->head.pCurrent=head.pCurrent->pData->head.pHead;for(j=0;j } head.pCurrent->pData->head.pCurrent->pData->disp_stu();m++;head.pCurrent->pData->head.pCurrent=head.pCurrent->pData->head.pCurrent->pNext;} head.pCurrent=head.pCurrent->pNext;} cout<<“有”< void University::search(string n){ } int i,j,m=0;head.pCurrent=head.pHead;for(i=0;i for(j=0;j if(n==head.pCurrent->pData->head.pCurrent->pData->sex){ head.pCurrent->pData->head.pCurrent->pData->disp_stu();} m++; head.pCurrent->pData->head.pCurrent=head.pCurrent->pData->head.pCurrent->pNext; } cout<<“有”< int i,j,m=0;head.pCurrent=head.pHead;for(i=0;i head.pCurrent->pData->head.pCurrent=head.pCurrent->pData->head.pHead; for(j=0;j { if(n==head.pCurrent->pData->head.pCurrent->pData->number) { head.pCurrent->pData->head.pCurrent->pData->disp_stu(); m++; } head.pCurrent->pData->head.pCurrent=head.pCurrent->pData->head.pCurrent->pNext; } head.pCurrent=head.pCurrent->pNext;} cout<<“有”< /****************************************信息查詢菜***********************************************/ void University::search_menu(){ int i;cout<<“ ★★★★★信息查詢顯示★★★★★”< switch(i){ case 1: { 單 disp_ins(); cout<<“按任意鍵返回上一級菜單:”< { } head.pCurrent=head.pHead;//當(dāng)前指針指向?qū)W院節(jié)點(diǎn)頭指針 for(i=0;i } head.pCurrent->pData->disp_ins_1();head.pCurrent=head.pCurrent->pNext;cout<<“按任意鍵返回上一級菜單:”< } int j;disp_ins();cout<<“請輸入學(xué)生所在學(xué)院序號:”;cin>>i;system(“cls”);//清屏 head.pCurrent=head.pHead;for(j=1;jpNext;head.pCurrent->pData->disp_ins_1();cout<<“按任意鍵返回上一級菜單:”< case 4: { string n;cout<<“輸入要查詢的姓名:”;cin>>n;system(“cls”);//清屏 search_name(n); } cout<<“按任意鍵返回上一級菜單:”< { } int n1;cout<<“輸入要查詢的年齡:”;cin>>n1;search_age(n1);cout<<“按任意鍵返回上一級菜單:”< system(“cls”);//清屏 case 6: { } string n;cout<<“輸入要查詢的性別:”;cin>>n;system(“cls”);//清屏 search(n);cout<<“按任意鍵返回上一級菜單:”< } int n;cout<<“輸入要查詢的學(xué)號:”;cin>>n;system(“cls”);//清屏 search(n);cout<<“按任意鍵返回上一級菜單:”< menu(*this); } } } break;/**********************************************************************/ { int i,j;ifstream inf(“cqutData.txt”,ios::in);inf>>uni.name;inf>>uni.age;inf>>uni.addr;inf>>uni.head.size;//學(xué)院個數(shù) for(i=0;i 導(dǎo)出文件數(shù)據(jù)void file_in(University &uni) Node else uni.head.pEnd->pNext=m;//把節(jié)點(diǎn)m賦給下一個學(xué)院信息節(jié)點(diǎn) m->pPrev=uni.head.pEnd;//節(jié)點(diǎn)m指向?qū)W院信息的尾節(jié)點(diǎn) uni.head.pCurrent=uni.head.pEnd=m;//學(xué)院信息的尾節(jié)點(diǎn)始終指向m節(jié)點(diǎn) inf>>uni.head.pCurrent->pData->head.size;//學(xué)生個數(shù) for(j=0;j Student *q=new Student;inf>>q->name;inf>>q->age;inf>>q->sex;inf>>q->number;inf>>q->major; Node n->pPrev=uni.head.pCurrent->pData->head.pEnd; uni.head.pCurrent->pData->head.pCurrent=uni.head.pCurrent->pData->head.pEnd=n;//學(xué)生信息的尾節(jié)點(diǎn)始終指向n節(jié)點(diǎn) } } } /************************************************************************************/ void file_out(University uni){ ofstream ouf(“cqutData.txt”,ios::out);int i,j;ouf< 導(dǎo)入文件數(shù)據(jù)ouf< uni.head.pCurrent=uni.head.pHead;//當(dāng)前指針指向?qū)W院節(jié)點(diǎn)頭指針 for(i=0;i ouf< ouf< uni.head.pCurrent->pData->head.pCurrent=uni.head.pCurrent->pData->head.pHead;//當(dāng)前指針指向?qū)W生節(jié)點(diǎn)頭指針 for(j=0;j ouf< uni.head.pCurrent->pData->head.pCurrent=uni.head.pCurrent->pData->head.pCurrent->pNext;//學(xué)生當(dāng)前指針后移 } } } uni.head.pCurrent=uni.head.pCurrent->pNext;//學(xué)院當(dāng)前指針后移 /************************退出系統(tǒng)菜單****************************/ void exit(University uni){ } int i;cout<<“是否保存修改內(nèi)容:”< { } file_out(uni);exit(0);break;case 2:{exit(0);break;} case 3: { menu(uni);break;} case 4: { file_out(uni); } } menu(uni);break; /***************************************************************************************/ void menu(University uni){ system(“cls”);/*清屏*/ int i;cout< 主菜單 cout<<“★★★★★★★★★★★★★主菜單★★★★★★★★★★★★★”< cout< cout< cout< } int main(){ University u; } file_in(u);menu(u);return 0;switch(i){ case 1:uni.design_cqut();break;case 2:uni.design_ins();break;case 3:uni.design_stu();break; case 4:uni.search_menu();break; case 5:exit(uni);break;} #include string name;};class Student:public Person { public: Student(string n,int num,string ss):Person(n),number(num),address(add),str1(ss){} virtual void show(); void input_stu(); void display_stu(); void display_qu(); ~Student(){} protected: string str1; int number; string address;};void Student::show(){ cout<<“向老師提出的問題是:”;cin>>str1;} void Student::display_qu(){ cout< void Student::input_stu(){ cin>>Student::name;cin>>Student::number;cin>>Student::address;} void Student::display_stu(){ add,string cout<<“姓名:”< Teacher(string n,string sub,string sdf):Person(n),subject(sub),str2(sdf){} virtual void show(); void input_t(); void display_t(); void display_an(); ~Teacher(){} protected: string subject; string str2;};void Teacher::display_an(){ cout< void Teacher::show(){ cout<<“我的回答是:”;cin>>str2;} void Teacher::input_t(){ cin>>Teacher::name;cin>>Teacher::subject;} void Teacher::display_t(){ cout<<“姓名:”< Admin(string n,int tel,string ssfs):Person(n),telphone(tel),str3(ssfs){} virtual void show(); void input_ad(); void display_ad(); void display_gg(); ~Admin(){} protected: int telphone; string str3;};void Admin::display_gg(){ cout<<“公告:”;cout< void Admin::show(){ cout<<“公告是:”;cin>>str3;} void Admin::input_ad(){ cin>>Admin::name;cin>>Admin::telphone;} void Admin::display_ad(){ cout<<“姓名是:”< int main(){ int z,h,m;z=0;h=0;m=0; Student stu(“guochun”,20150311,“qlu”,“sdss”); Teacher tea(“cuiyu”,“math”,“dsdf”); Admin ad(“steve jobs”,178641,“sdfs”); while(1) { int x; cout<<“*******************”< cout<<“1.學(xué)生”< cout<<“2.教師”< cout<<“3.管理員”< cout<<“*******************”< cout<<“選擇你的身份”< cin>>x; if(x<=0||x>3) cout<<“輸入錯誤!”< else { switch(x) { case 1: cout<<“請選擇你要干什么”< case 1:stu.display_stu();break; case 2:stu.input_stu(); } cout<<“修改后的個人信息為:”< { stu.Student::show(); z=1;} break; } break; case 2: cout<<“請選擇你要干什么”< cout<<“學(xué)生有問題提問”< ad.display_gg();} cout<<“___________________”< cout<<“發(fā)生錯誤!”;else { switch(q) { case 1:tea.display_t();break; case 2:tea.input_t(); cout<<“修改后的個人信息為:”< tea.display_t();break; case 3: { if(z==1) { cout<<“學(xué)生的問題是:”; stu.display_qu(); tea.Teacher::show(); h=1; } } break; } } break; case 3: cout<<“請選擇你要干什么”< cout<<“___________________”< cout<<“1.顯示個人信息”< cout<<“發(fā)生錯誤!”; else { switch(l) { case 1:ad.display_ad();break; case 2:ad.input_ad(); cout<<“修改后的個人信息為:”< ad.display_ad();break; case 3: { ad.Admin::show(); m=1; } break; } } break; } } } return 0;} 課 程 設(shè) 計 課程名稱 C++課程設(shè)計 題目名稱 圖書管理系統(tǒng) 2016 年月 29 日 目錄 一.設(shè)計內(nèi)容與要求...............................................................................................................2 二.設(shè)計思路:.......................................................................................................................4 三.關(guān)鍵模塊實(shí)現(xiàn)及主要代碼...............................................................................................4 四.實(shí)驗(yàn)結(jié)果及分析.............................................................................................................13 五、心得體會.........................................................................................................................16 六、參考文獻(xiàn).........................................................................................................................17 一.設(shè)計內(nèi)容與要求 (1)、設(shè)計一個圖書管理系統(tǒng),能夠?qū)崿F(xiàn)用戶信息管理,圖書信息的 錄入、查詢、刪除等功能。 (2)、實(shí)現(xiàn)用戶管理,系統(tǒng)具有用戶注冊功能。管理員的賬號和密碼由系統(tǒng)指定,登錄后可進(jìn)行修改。一般用戶注冊后才能登錄使用系統(tǒng)。管理員具有錄入、查詢、刪除圖書信息及一般用戶的功能。一般用戶只有圖書查詢功能。 (3)、登錄功能,只有注冊了的用戶才能進(jìn)入系統(tǒng),沒有注冊的則有提示信息出現(xiàn)。 (4)、圖書管理功能,管理員能夠錄入、查詢、刪除圖書信息。(5)、圖書查詢功能,管理員及一般用戶能夠通過圖書的基本信息,如圖書作者、書名、出版社、出版日期等等,進(jìn)行查詢。 提示:上述為基本功能,可參考實(shí)際的系統(tǒng)進(jìn)行擴(kuò)展。 二.設(shè)計思路: 為了實(shí)現(xiàn)用戶信息以及圖書信息的管理,建立一個用戶CUser類與圖書信息CBoodata類,其中CUser類應(yīng)該包含用戶賬號以及密碼,CBookdata類應(yīng)該包含圖書作者,書名,出版社,出版日期。同時應(yīng)該建立兩個dat文件,一個為存儲用戶信息,一個用來儲存圖書信息。程序主要分為4個頁面:(1)登錄頁面,由Cdialog類派生出CMyprojectDlg類,用來處理賬號注冊與用戶登錄。 (2)圖書查詢頁面。由Cdialog類派生出CSearch類。包含讀取所有圖書數(shù)據(jù)響應(yīng)函數(shù),以及根據(jù)作者姓名或者書名來查詢圖書響應(yīng)函數(shù)。 (3)管理員圖書管理頁面。由Cdialog類派生出CBookdata類。包含讀取所有圖書響應(yīng)函數(shù),添加圖書響應(yīng)函數(shù),修改圖書響應(yīng)函數(shù),刪除圖書響應(yīng)函數(shù)。(4)用戶信息管理頁面,由Cdialog類派生出CUserdata類。包含讀取所有用戶信息響應(yīng)函數(shù),刪除用戶響應(yīng)函數(shù)、添加用戶響應(yīng)函數(shù)、修改用戶信息響應(yīng)函數(shù)。 因?yàn)楸救四芰τ邢蓿易约菏歉鶕?jù)老師給的教程以及結(jié)合書本內(nèi)容來完成課程設(shè)計,于是我第一想到的就是應(yīng)數(shù)組來存儲信息,而不是用鏈表,所以,對于文件數(shù)據(jù)的刪除與修改,難免會過于乏力。 三.關(guān)鍵模塊實(shí)現(xiàn)及主要代碼 (1)自己建立的類 1.用戶類: class CUser { public: int num;char password[20];}; 2.圖書信息類: class Book //圖書類 { public: char author[10]; //設(shè)置作者姓名 char bname[20]; //設(shè)置圖書書名 char pub_name[20]; //設(shè)置出版社名稱 int pub_date; //設(shè)置出版年月 }; (2)登錄頁面,由Cdialog類派生出CMyprojectDlg類,用來處理賬號注冊與用戶登錄。1.用戶注冊處理響應(yīng)函數(shù): void CMyprojectDlg::OnButton3() //用戶注冊 { // TODO: Add your control notification handler code here ////////////////////////////////////////////////////////////////////////////////////// //以下代碼主要還是把這條記錄寫入文件,注意寫入的格式:文件的前四個字節(jié)是保持用戶記錄數(shù),//后面依次保持用戶記錄注意,寫用戶的每個信息的順序要與讀取時的順序一致。 UpdateData(TRUE);CUser user;int n_user=0; //用戶的個數(shù),管理員默認(rèn)為第一個。自己輸入為賬號:1111,密碼:0000。 int size=0; fstream file(“user.dat”,ios::in|ios::out);// 建立一個文件類,關(guān)于其用法,請baidu。 file.seekg(ios::beg); //將文件指針指向文件頭。 file.read((char*)&n_user,sizeof(n_user)); //讀取用戶數(shù)。 n_user+=1;file.seekp(ios::beg);file.write((char*)&n_user,sizeof(n_user));//寫學(xué)生記錄個數(shù) user.num=m_num; //之前定義user.password為string,導(dǎo)致密碼匹配時有錯誤。。。 memcpy(user.password,m_password.GetBuffer(m_password.GetLength()),m_password.GetLength());// 把類CString對象的內(nèi)容賦值到字符數(shù)組中 user.password[m_password.GetLength()]='
主站蜘蛛池模板:
色老板精品视频在线观看|
久久不见久久见免费视频1′|
久久久久人妻一区精品下载|
国产免费无遮挡吸乳视频|
亚洲亚洲人成综合网络|
亚洲国产亚综合在线区|
欧美熟妇性xxxx交潮喷|
中文字幕乱妇无码av在线|
亚洲精品中文字幕乱码4区|
久久99国产乱子伦精品免费|
成人欧美一区二区三区黑人免费|
成人毛片18女人毛片免费|
人人狠狠综合久久88成人|
精品一区二区三区在线播放视频|
亚洲人成小说网站色在线观看|
欧美顶级少妇作爱|
亚洲精品一区久久久久一品av|
亚洲成a∨人片在线观看无码|
国内精品久久久久久久久电影网|
中文字幕无码不卡在线|
国产精品无码一区二区三级|
a 'v片欧美日韩在线|
亚洲精品中文字幕无码av|
久久99热人妻偷产国产|
果冻传媒剧国产剧情mv在线|
免费无码不卡中文字幕在线|
国内外精品激情刺激在线|
国产成人免费无码av在线播放|
少妇高潮太爽了在线视频|
国产精品毛片在线完整版|
精品国精品无码自拍自在线|
一区一区三区产品乱码亚洲|
人妻中字视频中文乱码|
久久综合九色综合网站|
婷婷久久综合九色综合|
十八禁无码免费网站|
亚洲日韩精品欧美一区二区一|
人妻在线日韩免费视频|
国产亚洲欧美日韩亚洲中文色|
无遮挡又爽又刺激的视频|
国产亚洲精品一区在线播放|
第二篇:c++課程設(shè)計:教務(wù)管理系統(tǒng)源代碼
第三篇:C++課程設(shè)計(簡單圖書管理系統(tǒng))