版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要本課程設(shè)計(jì)的目的是設(shè)計(jì)一個(gè)學(xué)生選修課程系統(tǒng)的程序,用來實(shí)現(xiàn)對(duì)學(xué)生成績的管理,其中包括學(xué)生信息的文件讀入、添加、查詢、保存、刪除以及相應(yīng)的課程信息管理。程序設(shè)計(jì)了兩個(gè)類,其中一個(gè)包含學(xué)生的學(xué)號(hào)、姓名、選課數(shù)以及選修總學(xué)分,另一個(gè)則包含了課程的信息,包括課程編號(hào)、課程名稱、課程性質(zhì)、課時(shí)等等。然后通過數(shù)組、向量、集合等來實(shí)現(xiàn)學(xué)生選課信息的記錄、保存,刪除等相關(guān)操作從而達(dá)到管理學(xué)生選課的。因?yàn)檫@次課程設(shè)計(jì),我們可以熟練的使用C+語言來完成一個(gè)學(xué)生選課管理系統(tǒng)。但是編寫過程中難免會(huì)遇到錯(cuò)誤,希望老師給予指導(dǎo)。目 錄1 需求分析12 概要設(shè)計(jì)12.1 對(duì)象設(shè)計(jì)12.2 設(shè)計(jì)優(yōu)缺點(diǎn)13 詳細(xì)設(shè)計(jì)23.
2、1總體設(shè)計(jì)思路23.2 類定義23.3 宏定義33.4文件操作函數(shù)33.5用戶操作函數(shù)33.6 其他重要函數(shù)34測(cè)試結(jié)果及運(yùn)行效果45系統(tǒng)開發(fā)所用到的技術(shù)6參考文獻(xiàn)7附錄 全部代碼81 需求分析 計(jì)算機(jī)技術(shù)作為信息化的核心技術(shù)受到全社會(huì)的普遍重視。如今,計(jì)算機(jī)的使用也已不再局限于科學(xué)計(jì)算,它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。深入掌握計(jì)算機(jī)專業(yè)知識(shí)、具有良好系統(tǒng)設(shè)計(jì)與分析能力的計(jì)算機(jī)高級(jí)專業(yè)人才在社會(huì)上深受歡迎。而系統(tǒng)設(shè)計(jì)與分析能力的培養(yǎng)需要通過實(shí)踐訓(xùn)練才能獲得。通過計(jì)算機(jī)對(duì)一些系統(tǒng)的管理已經(jīng)成為一種系統(tǒng)、便捷的方式。本課程設(shè)計(jì)就是用C+設(shè)計(jì)學(xué)生選課系統(tǒng)的問題,實(shí)現(xiàn)對(duì)學(xué)生選課的管
3、理操作。本課程設(shè)計(jì)的目的是設(shè)計(jì)一個(gè)學(xué)生選修課程系統(tǒng)的程序,用來實(shí)現(xiàn)對(duì)學(xué)生成績的管理,其中包括學(xué)生信息的文件讀入、添加、查詢、保存、刪除以及相應(yīng)的課程信息管理。程序設(shè)計(jì)了兩個(gè)類,其中一個(gè)包含學(xué)生的學(xué)號(hào)、姓名、選課數(shù)以及選修總學(xué)分,另一個(gè)則包含了課程的信息,包括課程編號(hào)、課程名稱、課程性質(zhì)、課時(shí)等等。然后通過數(shù)組、向量、集合等來實(shí)現(xiàn)學(xué)生選課信息的記錄、保存,刪除等相關(guān)操作從而達(dá)到管理學(xué)生選課的。2 概要設(shè)計(jì)2.1 對(duì)象設(shè)計(jì)把學(xué)生和學(xué)科信息設(shè)計(jì)成類student和類subject,通過文件操作函數(shù)對(duì)輸入的學(xué)生和學(xué)科信息進(jìn)行讀取和存放。2.2 設(shè)計(jì)優(yōu)缺點(diǎn)優(yōu)點(diǎn):1. 人性化的程序提示語言,程序提示語言較
4、人性化,不僅大多為祈使語句、疑問句,而且提示明確,具有較強(qiáng)的明確的指導(dǎo)作用。程序提示不僅層次分明,提示方式多樣,而且提示信息井然有序,更加有利于用戶順利、準(zhǔn)確地進(jìn)行程序的操作。2.所有的操作大多是在內(nèi)存中實(shí)現(xiàn),增加操作的速度,十分的方便。 缺點(diǎn):1. 程序雖然經(jīng)過多次精簡(jiǎn),但僅僅是形式上、小范圍的精簡(jiǎn),仍未得到本質(zhì)上的精簡(jiǎn),即未找到更加簡(jiǎn)單、更加高效、更加合理、更小占用的資源的算法。2. 程序仍然存在不合理的地方,例如程序某些部分輸入錯(cuò)誤會(huì)導(dǎo)致程序中止或轉(zhuǎn)向其他功能模塊,即程序建議用戶注意提示,進(jìn)行合理的準(zhǔn)確的輸入,這樣更有利于管理工作。3 詳細(xì)設(shè)計(jì)3.1總體設(shè)計(jì)思路通過對(duì)課題的分析,程序的要
5、求是設(shè)計(jì)選修課管理系統(tǒng),對(duì)選修課程能夠進(jìn)行錄入和修改操作等,要求有主界面和退出功能。首先,考慮到程序的數(shù)據(jù)輸入,可以設(shè)置一個(gè)課程增加選項(xiàng),通過該界面,進(jìn)行選修課的錄入和修改操作,最后將錄入的課程存到相應(yīng)的文件中。然后定義各種函數(shù)的功能包括:查看、查詢、刪除等。另一個(gè)為選課界面,該界面學(xué)生可以進(jìn)行課程選擇和瀏覽查詢等操作。在進(jìn)行該操作之前需要對(duì)保存的文件進(jìn)行讀取,然后對(duì)其中的東西進(jìn)行查詢等。在學(xué)生選好課程以后,可以將選好的課程保存于相應(yīng)的文件中,以便下次進(jìn)行修改。通過函數(shù)的層層調(diào)用來實(shí)現(xiàn)程序的邏輯結(jié)構(gòu)。中間通過文件的打開和關(guān)閉實(shí)現(xiàn)對(duì)文件內(nèi)部所包含的數(shù)據(jù)操作。為了方便用戶控制管理,又添加了一些更人
6、性化的功能如人工調(diào)試,運(yùn)行配置等功能。文件存儲(chǔ)信息的方式更是簡(jiǎn)化了程序結(jié)構(gòu),使程序讀起來更容易懂。除此之外,本系統(tǒng)采用分塊實(shí)現(xiàn)功能,將要實(shí)現(xiàn)的增加課程信息、修改課程信息、刪除課程信息、增加學(xué)生信息和修改學(xué)生信息等功能分別用不同的子程序來完成,這樣不僅方便了我們程序調(diào)試,更提高了程序的移植性。3.2 類定義class subject /建立一個(gè)課程類,保存課程信息class student /建立一個(gè)學(xué)生類,保存學(xué)生信息函數(shù):該程序包含的主要函數(shù)功能說明:void XuanKeMenu(); / 選課主菜單函數(shù)int find(int no); void Save(); void DL();/登
7、錄界面的函數(shù)void MainMenu();void output(); void Load(); /載入文件信息的函數(shù)void Load2();void quit();void add();void ChaXun();void chaxun1();void chaxun2();void xuanke();void tq1(); /提取選課編號(hào)的函數(shù)void tq2();void AddStuInfo();/添加學(xué)生信息的函數(shù)void SaveStuInfo(); /保存學(xué)生信息到文件中void del();/刪除已選課程信息的函數(shù)void sum();3.3 宏定義#define N 103
8、.4文件操作函數(shù)void AddStuInfo();/添加學(xué)生信息的函數(shù)void SaveStuInfo();/保存學(xué)生信息到文件中3.5用戶操作函數(shù)/該函數(shù)根據(jù)用戶的選擇,完成指定的操作void DL()/登錄界面void MainMenu()/系統(tǒng)主菜單void output()/顯示函數(shù):將課程信息輸出到屏幕void AddStuInfo()/增加學(xué)生信息,并保存在文件中void add()/增加課程信息,并保存在文件中void del()/刪除已選課程信息void ChaXun() /查詢主菜單函數(shù)void xuanke() /選課函數(shù):執(zhí)行選課功能void sum()/統(tǒng)計(jì)函數(shù),統(tǒng)計(jì)
9、并輸出文件中的數(shù)據(jù)3.6 其他重要函數(shù)void Load()/載入函數(shù):載入課程信息(文件此前已建立)void Load2()/載入學(xué)生信息(文件此前已建立)void Save()/保存已選的課程信息void SaveStuInfo()/保存學(xué)生信息void quit()/退出函數(shù)void chaxun1()/按學(xué)分方式查詢void chaxun2()/按課程性質(zhì)查詢void tq1(char *str)/提取出選課時(shí)輸入的課程編號(hào)int find(int no)/尋找函數(shù),找到想要的課程編號(hào)void display(int i)/輸出函數(shù)void tq2(char *str)/提取函數(shù):提前
10、刪除時(shí)輸入的課程編號(hào)4 測(cè)試結(jié)果及運(yùn)行效果運(yùn)行程序后,登陸界面登陸學(xué)號(hào),進(jìn)入登陸后的界面,在其中可以選擇查看課程信息、添加課程信息、查詢課程信息、學(xué)生選課、統(tǒng)計(jì)情況和退出。按照提示輸入0-5和Enter鍵進(jìn)入下級(jí)菜單,或者退出程序。圖4-1登陸后的界面輸入1進(jìn)入查看課程信息頁面后,給出存放在文件類的所有課程信息,按y和Enter鍵停留界面,按n和Enter退出。圖4-2 進(jìn)入查看課程信息界面在主菜單中選擇2,進(jìn)入添加課程信息界面。圖4-3 添加課程時(shí)的界面在主菜單中選4,學(xué)生選課界面。圖4-4 學(xué)生選課時(shí)的界面在登陸界面輸入exit退出系統(tǒng)。圖4-5 退出系統(tǒng)時(shí)的界面5 系統(tǒng)開發(fā)所用到的技術(shù)操
11、作系統(tǒng): Windows 7開發(fā)軟件: Microsoft Visual Studio 2013技術(shù):功能模塊(函數(shù));向量;文件保存及讀取。模塊:是抽象的概念,按照功能劃分模塊,盡可能保證每個(gè)模塊互相獨(dú)立。這個(gè)一般同程序的邏輯設(shè)計(jì)有關(guān),同具體語言關(guān)系不大。函數(shù):一般都有有明確的定義,有明確的語法。用來完成相對(duì)獨(dú)立功能和程序。向量(Vector):Vector 是C+標(biāo)準(zhǔn)程序庫中的一個(gè)類,可視為會(huì)自動(dòng)擴(kuò)展容量的數(shù)組,以循序(Sequential)的方式維護(hù)變量集合。vector的特色包括支持隨機(jī)存取,在集合尾端增刪元素很快,但是在集合中間增刪元素比較費(fèi)時(shí)。vector是C+標(biāo)準(zhǔn)程序庫中的眾多容
12、器(container)之一,除此之外還有l(wèi)ist、set、map、等等。 vector以模板(泛型)方式實(shí)現(xiàn),可以存儲(chǔ)任何類型的變量,包括用戶自定義的數(shù)據(jù)型態(tài)。文件操作:C語言對(duì)文件的處理一般有兩種方法,緩沖文件系統(tǒng)和非緩沖文件系統(tǒng)。在文件系統(tǒng)中,系統(tǒng)對(duì)文件進(jìn)行讀寫之前首先在內(nèi)存區(qū)開辟一個(gè)稱作緩沖區(qū)的專用內(nèi)存區(qū)域。在緩沖文件系統(tǒng)中,系統(tǒng)對(duì)文件進(jìn)行讀寫之前首先在內(nèi)存區(qū)開辟一個(gè)稱作緩沖區(qū)的專用內(nèi)存區(qū)域。從內(nèi)存向磁盤寫文件時(shí)必須先寫入緩沖區(qū),裝滿緩沖區(qū)后才一起寫到磁盤上去;從磁盤讀文件時(shí)必須先把一批數(shù)據(jù)讀到緩沖區(qū)(充滿緩沖區(qū)),然后再從緩沖區(qū)將數(shù)據(jù)逐個(gè)送到用戶數(shù)據(jù)區(qū)。在非緩沖文件系統(tǒng)中,文件的處理
13、不自動(dòng)開辟確定大小的緩沖區(qū),而是由程序設(shè)定的緩沖區(qū)。一般用緩沖文件系統(tǒng)進(jìn)行的輸入/輸出。用非緩沖文件系統(tǒng)進(jìn)行的輸入/輸出稱為低級(jí)(低層)輸入/輸出。ANSI C標(biāo)準(zhǔn)采用緩沖文件系統(tǒng),現(xiàn)代的操作系統(tǒng)也廣泛采用緩沖型文件系統(tǒng)。參考文獻(xiàn)1 李素若. C+面向?qū)ο蟪绦蛟O(shè)計(jì).北京:中國水利水電出版社,2013.2 曾輝.王更生. C+程序設(shè)計(jì)實(shí)訓(xùn)教程.北京:北京郵電大學(xué)出版社,20113 揣錦華等編.C+程序設(shè)計(jì)語言.西安: 西安電子科技大學(xué)出版社,20114 張素琴主編.C+程序設(shè)計(jì)語言.北京:清華大學(xué)出版社,20105 鄧飛,李瑤主編C+程序設(shè)計(jì).北京科海電子出版社 20096 李軍民等編.C+程序
14、設(shè)計(jì)語言.西安: 西安電子科技大學(xué)出版社,2011附錄 全部代碼#include<iostream>#include<vector>#include<set>#include<string.h>#include<conio.h>#include<stdlib.h> #include<fstream>#define N 10using namespace std;int F;class subject /建立一個(gè)課程類,保存課程信息public:int num;char name30;char cha20;int
15、 Time, time1, time2, xf;char kkxq20;S;class student /建立一個(gè)學(xué)生類,保存學(xué)生信息public:char nam10;char num15;int zxf;int cnt;Stu;vector <subject> v; /聲明一個(gè) 指向課程信息的向量vector <student> z; /聲明一個(gè) 指向?qū)W生信息的向量set <int> T; /建立一個(gè) 集合vector <set<int> > TT; /建立一個(gè) 向量集合set <int> :iterator it;
16、/建立一個(gè) 迭代器void XuanKeMenu(); /聲明一個(gè) 選課主菜單函數(shù)int find(int no);void Save();void DL(); /聲明一個(gè)登錄界面的函數(shù)void MainMenu();void output();void Load(); /聲明載入文件信息的函數(shù)void Load2();void quit();void add();void ChaXun();void chaxun1();void chaxun2();void xuanke();void tq1(); /聲明提取信息的函數(shù)void tq2();void AddStuInfo(); /聲明添加學(xué)
17、生信息的函數(shù)void del();void sum();void AddStuInfo()FILE *fp;fp = fopen("d:student.txt", "a"); fseek(fp, 0, 2); /打開學(xué)生信息文件system("cls");cout << endl << endl << endl << endl << endl;cout << "tt*" << endl;cout << "tt*
18、 學(xué)生選課系統(tǒng) *" << endl;cout << "tt*" << endl << endl;cout << "ttt請(qǐng)輸入學(xué)號(hào):" cin >> Stu.num;cout << "ttt請(qǐng)輸入姓名:" cin >> Stu.nam;St = Stu.zxf = 0;fprintf(fp, "%s %s %d %dn", Stu.num, Stu.nam, St, Stu.zxf); /存入文件z.push
19、_back(Stu); T.clear(); TT.push_back(T); /用向量指向?qū)W生信息fclose(fp);void add()A: system("cls");cout << endl << endl << endl;cout << "t *" << endl;cout << "t * 課 程 信 息 *" << endl;cout << "t *" << endl << endl
20、;cout << "ttt請(qǐng)輸入課程編號(hào):"cin >> S.num;cout << "ttt請(qǐng)輸入課程名稱:"cin >> S.name;cout << "ttt請(qǐng)輸入課程性質(zhì):"cin >> S.cha;cout << "ttt請(qǐng)輸入總課時(shí):"cin >> S.Time;cout << "ttt請(qǐng)輸入授課學(xué)時(shí)"cin >> S.time1;cout << &qu
21、ot;ttt請(qǐng)輸入上機(jī)學(xué)時(shí)(實(shí)驗(yàn)學(xué)時(shí)):"cin >> S.time2;cout << "ttt請(qǐng)輸入學(xué)分:"cin >> S.xf;cout << "ttt請(qǐng)輸入開課學(xué)期:"cin >> S.kkxq;v.push_back(S);Save();cout << endl << "t 是否繼續(xù)添加Y/N:"string s; cin >> s;if (s0 = 'Y' | s0 = 'y') got
22、o A;else MainMenu();void Save() /保存已選的課程信息FILE *fp;fp = fopen("d:subject.txt", "w");for (unsigned int i = 0; i<v.size(); i+)fprintf(fp, "%d %s %s %d %d %d %d %sn", vi.num, ,vi.cha, vi.Time, vi.time1, vi.time2, vi.xf, vi.kkxq);fclose(fp);void SaveStuInfo() /保存學(xué)
23、生信息FILE *fp;fp = fopen("d:student.txt", "w");for (unsigned int i = 0; i<z.size(); i+)fprintf(fp, "%s %s %d %d", zi.num, zi.nam, t, zi.zxf);for (it = TTi.begin(); it != TTi.end(); it+)fprintf(fp, " %d", *it);fprintf(fp, "n");fclose(fp);void qu
24、it() /退出函數(shù)exit(1);void ChaXun() /查詢主菜單函數(shù)system("cls");cout << endl << endl << endl;cout << "t *" << endl;cout << "t * 課 程 信 息 *" << endl;cout << "t *" << endl << endl;cout << "tttt請(qǐng)選擇查詢方式:n
25、tttt1學(xué)分查詢ntttt2課程性質(zhì)查詢ntttt0返回主菜單nn"cout << "tttt請(qǐng)選擇0-2:"int choice;cin >> choice;if (choice >= 0 && choice<3)if (choice = 1) chaxun1();if (choice = 2) chaxun2();if (choice = 0) MainMenu();else ChaXun();void chaxun1() /按學(xué)分方式查詢system("cls"); int cnt =
26、 0;cout << endl << endl << endl;cout << "t *" << endl;cout << "t * 課 程 信 息 *" << endl;cout << "t *" << endl << endl;cout << "t 請(qǐng)輸入學(xué)分:"int key;cin >> key;cout << "t 課程" <
27、< " " << " 課程 " << "課程" << " " << " 總 "<< " " << "授課" << " " << " 實(shí)驗(yàn)或 " << " " << "學(xué)分" << " " << "開課
28、" << endl;cout << "t 編號(hào)" << " " << " 名稱 " << "性質(zhì)" << " " << "學(xué)時(shí)"<< " " << "學(xué)時(shí)" << " " << "上機(jī)學(xué)時(shí)" << " " << &
29、quot;學(xué)分" << " " << "學(xué)期" << endl << endl;for (unsigned int i = 0; i<v.size(); i+)if (cnt&&cnt % 10 = 0)cout << endl << "t =" << endl;cout << "t 按任意鍵查看下一頁" _getch();system("cls");cout <
30、< endl << endl << endl;cout << "t *" << endl;cout << "t * 課 程 信 息 *" << endl;cout << "t *" << endl << endl;cout << "t 課程" << " " << " 課程 " << "課程" &l
31、t;< " " << " 總 "<< " " << "授課" << " " << " 實(shí)驗(yàn)或 " << " " << "學(xué)分" << " " << "開課" << endl;cout << "t 編號(hào)" << " &qu
32、ot; << " 名稱 " << "性質(zhì)" << " " << "學(xué)時(shí)"<< " " << "學(xué)時(shí)" << " " << "上機(jī)學(xué)時(shí)" << " " << "學(xué)分" << " " << "學(xué)期" << e
33、ndl << endl;if (vi.xf = key)cnt+;printf("t %3d%12s%8s%4d%6d%8d%8d%7sn",vi.num, , vi.cha, vi.Time, vi.time1, vi.time2, vi.xf, vi.kkxq);cout << endl << "t 是否繼續(xù)查詢Y/N:"string s; cin >> s;if (s0 = 'Y' | s0 = 'y') chaxun1();else MainMenu()
34、;void chaxun2() /按課程性質(zhì)查詢system("cls"); int cnt = 0;cout << endl << endl << endl;cout << "t *" << endl;cout << "t * 課 程 信 息 *" << endl;cout << "t *" << endl << endl;cout << "t 請(qǐng)輸入課程性質(zhì):"
35、char key20;cin >> key;cout << "t 課程" << " " << " 課程 " << "課程" << " " << " 總 "<< " " << "授課" << " " << " 實(shí)驗(yàn)或 " << " " &
36、lt;< "學(xué)分" << " " << "開課" << endl;cout << "t 編號(hào)" << " " << " 名稱 " << "性質(zhì)" << " " << "學(xué)時(shí)"<< " " << "學(xué)時(shí)" << " &qu
37、ot; << "上機(jī)學(xué)時(shí)" << " " << "學(xué)分" << " " << "學(xué)期" << endl << endl;for (unsigned int i = 0; i<v.size(); i+)if (cnt&&cnt % 10 = 0)cout << endl << "t =" << endl;cout << &qu
38、ot;t 按任意鍵查看下一頁" _getch();system("cls");cout << endl << endl << endl;cout << "t *" << endl;cout << "t * 課 程 信 息 *" << endl;cout << "t *" << endl << endl;cout << "t 課程" << &qu
39、ot; " << " 課程 " << "課程" << " " << " 總 "<< " " << "授課" << " " << " 實(shí)驗(yàn)或 " << " " << "學(xué)分" << " " << "開課" &
40、lt;< endl;cout << "t 編號(hào)" << " " << " 名稱 " << "性質(zhì)" << " " << "學(xué)時(shí)"<< " " << "學(xué)時(shí)" << " " << "上機(jī)學(xué)時(shí)" << " " << "學(xué)分&
41、quot; << " " << "學(xué)期" << endl << endl;if (!strcmp(vi.cha, key)cnt+;printf("t %3d%12s%8s%4d%6d%8d%8d%7sn",vi.num, , vi.cha, vi.Time, vi.time1, vi.time2, vi.xf, vi.kkxq);cout << endl << "t 是否繼續(xù)查詢Y/N:"string s; cin >&g
42、t; s;if (s0 = 'Y' | s0 = 'y') chaxun2();else MainMenu();void tq1(char *str) /提取出選課時(shí)輸入的課程編號(hào)string t = ""int i = 0, cont = 0;while (stri)if (isalnum(stri) t += stri;elseint tmp = atoi(t.c_str();if (TTF.find(tmp) != TTF.end() t = "" i+; continue; zF.zxf += vfind(tmp)
43、.xf;TTF.insert(tmp); t = "" cont+;i+;int tmp = atoi(t.c_str();if (TTF.find(tmp) = TTF.end()cont+;TTF.insert(tmp);zF.zxf += vfind(tmp).xf;zF.cnt += cont;void xuanke() /選課函數(shù):執(zhí)行選課功能char str100;system("cls");cout << endl << endl;cout << "t *" << endl
44、;cout << "t * 課 程 信 息 *" << endl;cout << "t *" << endl << endl;cout << "t 課程" << " " << " 課程 " << "課程" << " " << " 總 "<< " " << &quo
45、t;授課" << " " << " 實(shí)驗(yàn)或 " << " " << "學(xué)分" << " " << "開課" << endl;cout << "t 編號(hào)" << " " << " 名稱 " << "性質(zhì)" << " " <
46、< "學(xué)時(shí)"<< " " << "學(xué)時(shí)" << " " << "上機(jī)學(xué)時(shí)" << " " << "學(xué)分" << " " << "學(xué)期" << endl << endl;for (unsigned int i = 0; i<v.size(); i+)if (i&&i % 1
47、0 = 0)cout << endl << "t =" << endl;cout << endl << "t 請(qǐng)輸入所選課程編號(hào):" gets(str);if (strcmp(str, "") tq1(str);/,system("cls");cout << endl << endl;cout << "t *" << endl;cout << "t * 課 程 信 息
48、 *" << endl;cout << "t *" << endl << endl;cout << "t 課程" << " " << " 課程 " << "課程" << " " << " 總 "<< " " << "授課" << " "
49、; << " 實(shí)驗(yàn)或 " << " " << "學(xué)分" << " " << "開課" << endl;cout << "t 編號(hào)" << " " << " 名稱 " << "性質(zhì)" << " " << "學(xué)時(shí)"<< &quo
50、t; " << "學(xué)時(shí)" << " " << "上機(jī)學(xué)時(shí)" << " " << "學(xué)分" << " " << "學(xué)期" << endl << endl;printf("t %3d%12s%8s%4d%6d%8d%8d%7sn",vi.num, , vi.cha, vi.Time, vi.time1, vi.
51、time2, vi.xf, vi.kkxq);cout << endl << "t ="cout << endl << "t 請(qǐng)輸入所選課程編號(hào):" gets(str);if (strcmp(str, "") tq1(str);SaveStuInfo();cout << "tt是否繼續(xù)選課!Y/N"string x; cin >> x;if (x0 = 'y' | x0 = 'Y') xuanke();else
52、XuanKeMenu();int find(int no) /尋找函數(shù),找到想要的課程編號(hào)for (unsigned int i = 0; i<v.size(); i+)if (vi.num = no) return i;void display(int i)printf("t %3d%12s%8s%4d%6d%8d%8d%7sn",vi.num, , vi.cha, vi.Time, vi.time1, vi.time2, vi.xf, vi.kkxq);void XuanKeMenu() /選課菜單函數(shù)system("cls");
53、int choice, l = 0;cout << endl << endl;cout << "t *" << endl;cout << "t * 學(xué) 生 選 課 *" << endl;cout << "t *" << endl << endl;cout << "t 姓名:" << zF.nam << " 學(xué)號(hào):" << zF.num <
54、;< " 已選 " << zF.cnt;cout << "門課程" << " 已選課程總學(xué)分:" << zF.zxf << endl;cout << "t =" << endl;cout << "t 已選課程信息:n"cout << "t 課程" << " " << " 課程 " << &
55、quot;課程" << " " << " 總 "<< " " << "授課" << " " << " 實(shí)驗(yàn)或 " << " " << "學(xué)分" << " " << "開課" << endl;cout << "t 編號(hào)" <
56、;< " " << " 名稱 " << "性質(zhì)" << " " << "學(xué)時(shí)"<< " " << "學(xué)時(shí)" << " " << "上機(jī)學(xué)時(shí)" << " " << "學(xué)分" << " " << "學(xué)期&
57、quot; << endl << endl;for (it = TTF.begin(); it != TTF.end(); it+, l+)if (l&&l % 10 = 0)cout << endl << "t =" << endl;cout << "t 1 開始選課 2 刪除已選課程 3 下一頁 0 返回 請(qǐng)選擇0/3:" cin >> choice; getchar();if (choice = 1) xuanke();else if (choice
58、 = 2) del();else if (choice = 0) MainMenu();else if (choice = 3);else XuanKeMenu();system("cls");cout << endl << endl;cout << "t *" << endl;cout << "t * 學(xué) 生 選 課 *" << endl;cout << "t *" << endl << endl;cout
59、 << "t 姓名:" << zF.nam << " 學(xué)號(hào):" << zF.num << " 已選 " << zF.cnt;cout << "門課程" << " 已選課程總學(xué)分:" << zF.zxf << endl;cout << "t =" << endl;cout << "t 已選課程信息:n"c
60、out << "t 課程" << " " << " 課程 " << "課程" << " " << " 總 "<< " " << "授課" << " " << " 實(shí)驗(yàn)或 " << " " << "學(xué)分" <&l
61、t; " " << "開課" << endl;cout << "t 編號(hào)" << " " << " 名稱 " << "性質(zhì)" << " " << "學(xué)時(shí)"<< " " << "學(xué)時(shí)" << " " << "上機(jī)學(xué)時(shí)"
62、 << " " << "學(xué)分" << " " << "學(xué)期" << endl << endl;display(find(*it);cout << endl << "t =" << endl;cout << "t 1 開始選課 2 刪除已選課程 0 返回 請(qǐng)選擇0/2:" cin >> choice; getchar();if (choice = 1) xuanke();else if (choice = 2) del();else if (choice = 0) MainMenu();else XuanKeMenu();void tq2(char *str) /提取函數(shù):提前刪除時(shí)輸入的課程編號(hào)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣控課程設(shè)計(jì)cad圖
- 小學(xué)航天衛(wèi)星課程設(shè)計(jì)
- 條碼識(shí)別技術(shù)的課程設(shè)計(jì)
- 油畫蛋糕課程設(shè)計(jì)
- DB5104T 26-2020 特色康養(yǎng)村建設(shè)管理服務(wù)規(guī)范
- 小蝌蚪主題網(wǎng)絡(luò)課程設(shè)計(jì)
- 故宮瓷器課程設(shè)計(jì)教案
- 液壓專業(yè) 課程設(shè)計(jì)
- 智慧平臺(tái)教育課程設(shè)計(jì)
- 油氣集輸課程設(shè)計(jì)
- 生物安全教學(xué)課件
- 漢語言文學(xué)生涯發(fā)展展示
- 盆底功能障礙問卷(PFDI20)
- 期末綜合復(fù)習(xí)(試題)-2023-2024學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)人教版
- 《精益生產(chǎn)豐田》課件
- 充電樁競(jìng)爭(zhēng)格局分析
- 線性規(guī)劃課后題答案
- 裝修工作的進(jìn)度報(bào)告
- 壓裂作業(yè)質(zhì)量、安全、環(huán)保管理體系與措施
- JGJ120-2012建筑基坑支護(hù)技術(shù)規(guī)程
- 普外科護(hù)士長述職報(bào)告
評(píng)論
0/150
提交評(píng)論