学生选课系统C++(共15页).doc
《学生选课系统C++(共15页).doc》由会员分享,可在线阅读,更多相关《学生选课系统C++(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目 录一、需求分析选课在大学生活中是必不可少的,为了能让学生们更加便利的查看并选择各种课程,自然就需要一个网络结构,建立一个选课系统,这样可以方便管理学生和课程等内容。二、程序的主要功能1、添加功能:添加课程以及学生的各类信息保存到一个文件中。2、删除功能:能够对一个学生或课程的信息按照编号进行删除。3、浏览功能:可以查看学生信息课程信息以及学生的选课信息。4、选课功能:学生可以通过输入自己的学号进入选择界面,选择各种不同的课程。5、修改功能:用于修改错误的学生信息或者课程信息。三、程序运行平台Windows8.1操作系统VC+6.0四、系统总框架图主 函 数信息录入
2、信息浏览选择课程删除信息修改信息退出程序 系统总框架图五、程序类的说明 student类的声明class student public:double xuehao; char name100; char major100; char coursename100; course类的声明class coursepublic:double coursenum;char coursename50; char coursetapy50;double xuefen; double xueshi; char courseteacher50; 六、模块分析1. 信息录入模块按照提示输入所需数字,进入添加界面后
3、添加课程以及学生的各类信息,最终保存到一个文件中,用以之后读取。2. 信息浏览模块可以用来查看学生信息和课程信息以及学生的选课信息。3. 修改信息模块用于修改错误的学生信息或者课程信息。4. 删除信息模块能够对一个学生或课程的信息按照编号进行删除。5. 选择课程模块学生可以通过输入自己的学号进入选择界面,选择各种不同的课程。七、比较有特色的函数void selectCoures()/选课函数 student stu;/用于保存将要选课的那名同学的信息int countCoures=0;/用来统计该学生选了多少门课程int countStudent=0;/用来统计学生的个数loop:couten
4、dlm_xuehao;ifstream is(studentInfo.text,ios:binary);is.seekg(0,ios:beg);while(!is.peek()is.read(char *)(&stu),sizeof(stu); /从“studentInfo.text”文件中一次读取学生的信息 if(m_xuehao = stu.xuehao)loob:countStudent+; cout请输入学号为m_xuehaom_coursenum;ifstream inCourse(courses.text,ios:binary); /用于从courses.text文件中找出该同学想
5、选择的课程信息inCourse.seekg(0,ios:beg);while(!inCourse.eof()/选课的核心代码course cus;/用于此同学将要选择的课程信息inCourse.read(char *)(&cus),sizeof(cus); if(m_coursenum = cus.coursenum) /若找到那门课程则选它countCoures+;strcpy(stu.coursename,cus.coursename);ofstream outStu(selectCourseResult.text,ios:binary|ios:app);/现将选课的同学信息放入选课结果的
6、文件中outStu.write(char *)(&stu),sizeof(stu);outStu.close();cout学号为m_xuehao成功选了课程号为m_coursenum的课程!2)cout同学:你选择的课程已经超过countCoures门了!endl;break;if(countCoures = 0)cout没有这门课程,还要继续选择其他课程吗y/n?ch;if(y=ch)|(Y=ch)goto loob;elsebreak;inCourse.close();if(countStudent=0)cout没有这个学生,是否重新输入y/n?ch;if(y=ch)|(Y=ch)goto
7、 loop;is.close();menu(); 八、存在的不足与对策由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,只能输入较少的课程以及学生信息。些许不足请老师多多谅解。今后会学习更多的编程技巧,不断的提高程序设计水平。九、程序源代码#include #include#include#include #include#include using namespace std; void menu() /主菜单coutendl;cout 学生选课系统 endl;cout 1. 信息录入 endl;cout 2. 信息浏览 endl;cout 3. 选择课程 endl;cout 4.
8、 删除信息 endl;cout 5. 修改信息 endl;cout 6. 退出程序 endl;class student public:double xuehao; char name100; char major100; char coursename100;void set() /学生信息录入student stu;coutendl;coutstu.xuehao;coutstu.name;coutstu.major;ofstream out(studentInfo.text,ios:app|ios:binary);out.write(char *)(&stu),sizeof(stu); o
9、ut.close(); menu(); void checkstudent() /查询学生信息student stu;cout学生学号t学生姓名t所学专业endl;ifstream is(studentInfo.text,ios:binary); while(!is.peek()is.read(char *)(& stu),sizeof(stu); cout stu.xuehaottstu.namettstu.majorttendl; is.close();menu();void cancleStudent() /删除学生信息string xueHaoNum,line,xuehao; ifst
10、ream fin(studentInfo.text.text); fstream outfile(studentInfo.text.text,ios:trunc|ios:out); /打开一个文件进行写操作和使同名文件被删除coutendl;coutxueHaoNum; while(!fin.eof() getline(fin,line); istringstream stream(line); /串流输入xueHaoNum = line.substr(0,line.find( ,0);if(xuehao != xueHaoNum) outfilelineendl; outfile.close
11、();fin.close();fstream f(studentInfo.text,ios:trunc|ios:out); /打开一个文件进行写操作和使同名文件被删除ifstream outf(studentInfo.text); foutf.rdbuf();outf.close();f.close();coutendl;menu();void changestudent() /修改学生信息student stu;int mark;coutendl;coutxuehao;ifstream is(studentInfo.text,ios:binary); for(int i=0;!is.eof(
12、);i+)is.seekg(48*i); /对输入文件定位,第一个参数是偏移量,第二个参数是基地址is.read(char *)(&stu),sizeof(stu); if(stu.xuehao=xuehao)coutstu.name;coutstu.major;cout修改完毕!endlendl;mark=48*i;menu();break;is.close();if(stu.xuehao!=xuehao)cout没有这个学生!endlendl;menu();elseofstream os(studentInfo.text,ios:in|ios:binary); os.seekp(mark)
13、;os.write(char *)(&stu),sizeof(stu); os.close(); ;class course /课程类public:double coursenum; char coursename50; char coursetapy50; double xuefen; double xueshi; char courseteacher50; void set() /课程信息录入course cus; coutcus.coursenum;coutcus.coursename;coutcus.coursetapy;coutcus.xuefen;coutcus.xueshi;co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 系统 15
限制150内