c++课程设计之学生选修课程系统设计(16页).doc
《c++课程设计之学生选修课程系统设计(16页).doc》由会员分享,可在线阅读,更多相关《c++课程设计之学生选修课程系统设计(16页).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-c+课程设计之学生选修课程系统设计-第 14 页C+程序设计课程设计报告学生选修课程系统设计一、需求分析计算机技术作为信息化的核心技术受到全社会的普遍重视。如今,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。深入掌握计算机专业知识、具有良好系统设计与分析能力的计算机高级专业人才在社会上深受欢迎。而系统设计与分析能力的培养需要通过实践训练才能获得。通过计算机对一些系统的管理已经成为一种系统、便捷的方式。本课程设计就是用C+设计学生选课系统的问题,实现对学生选课的管理操作。本课程设计的目的是设计一个学生选修课程系统的程序,用来实现对学生成绩的管理,其中包
2、括学生信息的文件读入、添加、查询、保存、删除以及相应的课程信息管理。程序设计了两个类,其中一个包含学生的学号、姓名、选课数以及选修总学分,另一个则包含了课程的信息,包括课程编号、课程名称、课程性质、课时等等。然后通过数组、向量、集合等来实现学生选课信息的记录、保存,删除等相关操作从而达到管理学生选课的。二、设计要求假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验学时、学分、开课学期等信息。学生可以按要求(如每个学生总学分不得少于20、没学期不能超过3门课程,每门课程不得超过50个人,但不能少于10否则该课程不开设)自由选课。使之能提供一些功能:1) 课程信息录入功
3、能2) 课程信息浏览功能3) 查询功能:(按课程性质查询、按课程学分查询,查询每个学生的选修信息、查询每门课程的选修信息等)4) 学生选修课程5) 修改课程或选课信息(根据课程编号或名称修改课程信息、根据学生姓名修改选课信息);6) 删除课程或选课信息(根据课程编号或名称删除课程信息、根据学生姓名删除选课信息);三、总体设计我们设计一个程序对学生选课信息进行保存,对学生的选课信息进行可执行操作,如添加、删除、查询等等。该程序包括以下功能模块: 1) 学生信息添加模块:能够输入学生基本信息并保存到文件中。2) 查看模块:显示所有可选修课程的信息。3) 查询:显示所有符合要求的课程信息。4) 选课
4、:显示学生已选课程信息和选课,删除已选课程信息。5) 退出系统。为了完善系统,我们还添加了一个登录界面。考虑到添加课程信息的功能只适合老师,因此我们设置了添加课程的权限设置(必须输入密码)。我们建立了两个文件用来保存学生信息和课程信息。(student.txt和subject.txt)该系统功能说明:1) 系统以菜单方式工作 2) 课程信息录入功能(课程信息用文件保存)输入 3) 课程信息浏览功能输出 4) 查询功能:(至少一种查询方式)算法 5) 按学分查询 6) 按课程性质查询 7) 学生选修课程(可选项) 四、详细设计该成序包含的主要函数功能说明:void XuanKeMenu(); /
5、 选课主菜单函数int find(int no); void Save(); void DL();/登录界面的函数void MainMenu();void output(); void Load(); /载入文件信息的函数void Load2();void quit();void add();void ChaXun();void chaxun1();void chaxun2();void xuanke();void tq1(); /提取选课编号的函数void tq2();void AddStuInfo();/添加学生信息的函数void SaveStuInfo(); /保存学生信息到文件中voi
6、d del();/删除已选课程信息的函数主要的数据结构表: 序号成员名数据类型字段含义1namchar姓名2numchar学号3zxfint总学分4cntint选课总数5namechar课程名称6numint课程编号7chachar 课程性质8Timeint课程总学时9time1int授课总学时10time2int实验(上机)总学时11xfint课程学分12kkxqchar开课学期五、程序代码#include#include#include#include#include#define N 10using namespace std;int F;class subject /建立一个课程类,保
7、存课程信息public:int num;char name30;char cha20;int Time,time1,time2,xf;char kkxq20;S;class student /建立一个学生类,保存学生信息public:char nam10;char num15;int zxf;int cnt;Stu;vector v; /声明一个 指向课程信息的向量vector z; /声明一个 指向学生信息的向量set T; /建立一个 集合vector set TT; /建立一个 向量集合set :iterator it; /建立一个 迭代器void XuanKeMenu(); /声明一个
8、 选课主菜单函数int find(int no);void Save();void DL(); /声明一个登录界面的函数void MainMenu();void output();void Load(); /声明载入文件信息的函数void Load2();void quit();void add();void ChaXun();void chaxun1();void chaxun2();void xuanke();void tq1(); /声明提取信息的函数void tq2();void AddStuInfo(); /声明添加学生信息的函数void del();void AddStuInfo(
9、)FILE *fp;fp=fopen(d:student.txt,a);fseek(fp,0,2); /打开学生信息文件system(cls);coutendlendlendlendlendl;couttt*endl;couttt* 学生选课系统 *endl;couttt*endlendl;coutStu.num;coutStu.nam;St=Stu.zxf=0;fprintf(fp,%s %s %d %dn,Stu.num,Stu.nam,St,Stu.zxf); /存入文件z.push_back (Stu); T.clear(); TT.push_back(T); /用向量指向学生信息fc
10、lose(fp);void add()string password1,password2;char password20;int _cnt=0;FILE *fp;fp=fopen(d:password,r);fscanf(fp,%s,password); password2=password;fclose(fp);system(cls);coutendlendlendl;coutt *endl;coutt * 课 程 信 息 *endl;coutt *endlendl;coutt 请输入密码:; /对添加课程进行权限设置char ch;while(ch=getch()if(ch=13) br
11、eak;if(ch != 8) putchar(*); password1 += ch;_cnt+;elseif(_cnt)password1.erase(password1.end()-1);_cnt-;system(cls);coutendlendlendl;coutt *endl;coutt * 课 程 信 息 *endl;coutt *endlendl;coutt 请输入密码:;int x=_cnt;while(x-)cout*;if(password1 != password2) coutnnttt 密码错误!;getch(); MainMenu(); A: system(cls);
12、coutendlendlendl;coutt *endl;coutt * 课 程 信 息 *endl;coutt *endlendl;coutS.num;coutS.name;coutS.cha;coutS.Time;coutS.time1;coutS.time2;coutS.xf;coutS.kkxq;v.push_back(S);Save();coutendls;if(s0=Y|s0=y) goto A;else MainMenu();void Save() /保存已选的课程信息FILE *fp;fp=fopen(d:subject.txt,w);for(int i=0;iv.size()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 课程设计 学生 选修 课程 系统 设计 16
限制150内