




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数计学院课 程 设 计 报 告 书所属课程名称 C语言程序设计 _题 目 _专业班级 _学号 _学生姓名 _指导教师 _ 2013 年 05月 24日 新余学院课程设计(论文)任务书二级学院: 学 号1202020034学生姓名方锦专业(班级)12级软件班设计题目学生选修课程系统设计设计技术参数设计要求假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学时不得少于270学时或者学分不少于40)自由选课。试设计一选修课程系统,使之能提供以下功能: 1、课程信息录入功能(课程信息用文件保存)2、课程信息浏览功能3、查询功能:(至少一种查询方式)3、按学分查询4、按课程性质查询5、学生选修课程工作量 各功能模块的源代码一份 课程设计说明书一份工作计划5月20日:熟读项目设计要求,进行需求分析,画出系统模块图,程序流程图。5月21日:对各个模块进行详细设计,编写代码。5月22日:整合各个模块,进行代码调试、功能测试。5月23日:整理资料,撰写课程设计说明书。5月24日:向指导老师作总结报告,指导教师测评系统优劣。参考资料C语言程序设计 刘克成 编郑莉著 C+ 语言程序设计(含实验指导书)。 清华大学出版社 ( 结构化程序设计部分 ) 指导教师签字教研室主任签字说明:此表一式叁份,学生、指导教师、二级学院各一份。年 月 日 项目设计功能、模块图、程序流程图 1.系统需求分析(1)、本系统是针对高校学生的选修课程而设计,通过本系统高校学生可以很方便地进行自由选课。主要的问题描述是(功能要求):n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。(2)、主要要求实现的功能如下: 课程信息录入功能:能根据提示将各课程的相关信息进行输入并保存; 课程信息浏览功能:能将已经录入并保存的信息进行浏览;查询功能:可根据不同的查询方式查询相应的课程信息。其中查询方式有按学分查询和按课程性质查询两种;系统流程图如下: 输入与功能对应的的数字判断有否开始执行相应功能结束是否(3)、输入输出要求: 系统以菜单方式工作。用户根据每一个功能模块输入相应内容,然后进行相应的操作。如需进行其他操作,可返回主菜单。输出的内容要有一个良好的界面,使用户看清楚明白。 2.总体设计 (1)、系统功能分析本系统主要由一个Class类及其五个成员函数组成。课题所要求的功能由各个函数分别得以实现。首先,在Class类内定义了一些成员变量,用来保存课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,还对它的成员变量进行了声明,如:然后,在类外,通过作用域运算符将类内声明的成员函数定义,以及进行相应的操作,以实现相应的功能。主要包括功能要求中的五大功能,即信息输入、信息浏览、按学分查询课程、按课程性质查询课程等。最后,在主函数中设置目录显示。用switch瓜分不同的功能选项。系统根据用户输入的符号,调用相应的成员函数,完成功能的实现。 (2)、各个模块之间的关系如下图:学生选修课程系统设计Course类Main函数Input()Output() SearchByscore()SearchByKind() 3.详细设计(1) 数据库需求分析该程序主要包含一个Class类和一个main()函数。其中Class类中有Input(),OutPut(),Search(),SearchByscore(float),SearchByKind(string)函数来实现各功能。像在Input()信息输入函数中,ofstream outfile 创建一个文件输出流对象语句就要用到系统库函数fstream,而conio.h则是 Console (键盘和屏幕) 输出输入函数的头文件,con - Console,io - input,output。程序中各功能函数如SearchBy (float)按分数查询和 SearchByKind(string)按性质查询,显然是两个独立的函数,但其实现过程很像似。 (2) 数据库概念结构设计(ER图)课程授课学时时编号名称上级学时性质学分时 时总学分开课学期输入入输出显示查找(3) 数据库逻辑结构设计;(4) 类层次图课程课程编号课程名字课程性质总学时授课学时实验或上机学时 学分开课学期课程信息录入功能课程信息浏览功能查询功能按学分查询按课程性质查询学生选修课程程序源代码主函数:int main()Course Excourse;while(1)cout *n;cout * 学生选课系统 *n;cout * 请选择操作 *n;cout * (1).录入课程信息 *n;cout * (2).浏览课程信息 *n;cout * (3).查询课程信息 *n;cout * (0).退出系统 *n;cout *;cout i;switch(i)case 1:Excourse.CourseInfoInput();break;case 2:Excourse.CourseInfoOutPut();break;case 3:Excourse.Search();break;case 0:exit(0);return 1; 菜单函数:class Courseprivate:int courseNumber;string courseName;string courseKind;int coursePeriod;int schoolPeriod;int experimentPeriod;float credithour;string courseterm;public:void CourseInfoInput(); /信息输入void CourseInfoOutPut(); /信息输出void Search(); /查找信息void SearchByCredithour(float); /按照学分查找void SearchByCourseKind(string); /按照课程;类型查找;源程序如下:#include#include#include#include#includeusing namespace std;class Courseprivate:int courseNumber;string courseName;string courseKind;int coursePeriod;int schoolPeriod;int experimentPeriod;float credithour;string courseterm;public:void CourseInfoInput(); /信息输入void CourseInfoOutPut(); /信息输出void Search(); /查找信息void SearchByCredithour(float); /按照学分查找void SearchByCourseKind(string); /按照课程;类型查找;const char* coursefile=C:course.txt; /将课程信息定位到C盘下的course.txt中!void Course:CourseInfoInput() /课程信息的录入ofstream outcoursefile; /创建一个文件输出流对象outcoursefile.open(coursefile); /打开文件if(!outcoursefile) /判断文件是否存在cout 文件打开失败! endl;return ;while(1) /无限循环,给出指定条件退出cout *课程信息*n;cout 按任意键开始信息录入 n;cout 输入q退出 n;if(getch()=q)break;coutcourseNumber;coutcourseName;coutcourseKind;coutcoursePeriod;coutschoolPeriod;coutexperimentPeriod;coutcredithour; coutcourseterm;outcoursefilecourseNumber courseName courseKind coursePeriod schoolPeriod experimentPeriod credithour endl;outcoursefile.close(); /关闭输出流文件void Course:CourseInfoOutPut() /课程信息的浏览ifstream incoursefile; /创建输入流文件对象incoursefile.open(coursefile); /打开if(!incoursefile) /判断文件存在cout 文件读取失败;return ;cout 课程编号 | 课程名称 | 课程性质 | 总学时 | 授课学时 | 实验上机学时 | 学分|开课学期n;string arrcourse100100; /定义一个string类型的二维数组,用来保存从文本内读取的信息int line=0;memset(arrcourse,0,sizeof(arrcourse); /将数组清空while(!incoursefile.eof() /文件不为空的条件设置 for(int j=0;jarrcourselinej;line+; for(int i=0;iline;i+)for(int j=0;j7;j+)cout arrcourseij t;cout endl;incoursefile.close();void Course:SearchByCredithour(float tempch)ifstream incoursefile; /创建输入流文件对象incoursefile.open(coursefile); /打开if(!incoursefile) /判断文件存在cout arrcourseline0arrcourseline1arrcourseline2arrcourseline3arrcourseline4arrcourseline5arrcourseline6; /文件流读取数据line+;cout 课程编号 | 课程名称 | 课程性质 | 总学时 | 授课学时 | 实验上机学时 | 学分|开课学期n;for(int i=0;iline;i+)if(atof(arrcoursei6.c_str()=tempch) /比较cout arrcoursei0 t arrcoursei1 t arrcoursei2 t arrcoursei3 t arrcoursei4 t arrcoursei5 t arrcoursei6n- endl;cout nn;incoursefile.close();void Course:SearchByCourseKind(string strtemp)/课程类型查询ifstream incoursefile; /创建输入流文件对象incoursefile.open(coursefile); /打开if(!incoursefile) /判断文件存在cout arrcourseline0arrcourseline1arrcourseline2arrcourseline3arrcourseline4arrcourseline5arrcourseline6;line+;cout 课程编号 | 课程名称 | 课程性质 | 总学时 | 授课学时 | 实验上机学时 | 学分|开课学期n;for(int i=0;iline;i+)if(arrcoursei2=strtemp)cout arrcoursei0 t arrcoursei1 t arrcoursei2t arrcoursei3 t arrcoursei4 t arrcoursei5 tarrcoursei6n- endl;cout nn;void Course:Search()while(1)cout 选择查询方式: endl;cout (1).按课程类型查询 endl;cout (2).按学分查询 endl;cout (0).返回i;switch(i)case 1:cout strtmp;SearchByCourseKind(strtmp);break;case 2:cout ftemp;SearchByCredithour(ftemp);break;if(i=0)break;int main()Course Excourse;while(1)cout *n;cout * 学生选课系统 *n;cout * 请选择操作 *n;cout * (1).录入课程信息 *n;cout * (2).浏览课程信息 *n;cout * (3).查询课程信息 *n;cout * (0).退出系统 *n;cout *;cout i;switch(i)case 1:Excourse.CourseInfoInput();break;case 2:Excourse.CourseInfoOutPut();break;case 3:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025云南牟定县国有资本投资运营集团有限公司公开招聘工作人员5人笔试题库历年考点版附带答案详解
- 2025年医学影音学音学专业医学影像解剖识别模拟考核卷答案及解析
- 2025年医疗健康行业生物科技与数字化医疗研究报告
- 2025年建筑行业绿色建筑技术创新研究报告
- 2025年环保科技行业环境保护与清洁能源研究报告
- 2025年口腔科学基础知识考核模拟测试卷答案及解析
- 2025年通信行业通信技术与通信产业研究报告
- 2025年IT服务行业IT服务智能化发展研究报告
- 2025年人工智能行业发展趋势与前景展望研究报告
- 2025年金融行业智能化风险管理分析研究报告
- 2025年学校少先队知识应知应会题库(含答案)
- 核桃肽粉生产技术规程(征求意见稿)编制说明
- 《储能技术》课件-3.各种类型的蓄能技术
- (2025)企业首席质量官培训考核试题(附含答案)
- 工业厂区场地平整建设方案
- 2024年丽水市莲都区事业单位招聘真题
- DB31∕T 1545-2025 卫生健康数据分类分级要求
- 初中毕业证在哪里查询
- 九宫格智力数独200题(题答案)版
- GB/T 5796.4-2022梯形螺纹第4部分:公差
- 智能电网-课件
评论
0/150
提交评论