课程设计模版 (1)

上传人:第*** 文档编号:34268581 上传时间:2018-02-22 格式:DOC 页数:17 大小:170.44KB
返回 下载 相关 举报
课程设计模版 (1)_第1页
第1页 / 共17页
课程设计模版 (1)_第2页
第2页 / 共17页
课程设计模版 (1)_第3页
第3页 / 共17页
课程设计模版 (1)_第4页
第4页 / 共17页
课程设计模版 (1)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《课程设计模版 (1)》由会员分享,可在线阅读,更多相关《课程设计模版 (1)(17页珍藏版)》请在金锄头文库上搜索。

1、山东轻工业学院信息学院课 程 设 计 报 告课程名称: 面向对象程序设计 题目名称: 学生成绩管理系统 学生姓名: 王晓悦 专业班级: 嵌入 14-1 指导教师: 任晓强 一、 课程设计目的与任务课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,通过接近实际项目的训练,锻炼的分析解决实际问题的能力。在设计中,利用学到的编程知识,逐步学习面向对象程序设计中,类的设计,程序的编写,以及调试排错、测试等内容。 从实践中掌握程序设计的方法,提高学生面向应用的实践编程的能力。根据 C+课程所学的概念、理论和方法,按照 C+程序设计的基本步骤,设计出一个适当规模

2、的程序来实现设计课程内容中的全部功能;设计主控模块程序对给出的程序源代码要给出各部分的详细注释自己根据能力及需要添加相应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计,数据库中的表、视图(如果使用) 、索引的结构和定义、触发器、存储过程、课程设计体会。二、 课程设计内容1. 本设计题目的主要内容设计四个类;学生类(描述学生基本信息) ;成绩类:班级类;课程类(描述课程信息:课程编号,科目名称(如高等数学,大学英语等) ;学生成绩及课程信息用文件保存,每个类一个文件,程序执行时从文件读入。 能按学期,按班级完成对学生成绩的录入,修改,能按班

3、级统计学生的成绩;求学生的总分及平均分;并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单。 设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比 计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比) 显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息。分单人显示和以班输出(班成绩单格式输出到文件) 2. 设计思想与程序构架(1)需求分析:a.能对学生各科成绩进行录入:。b.能对学生的成绩进行增加。c.能对学生的成绩进行删除。d.能对学生的成绩进行修改。e.能

4、对学生的成绩按总成绩,姓名,进行查询。f.能输出学生的所有数据。g.能进行成绩统计h 能进行总分查询排名。(2)系统性能要求:a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d 易于维护和扩充。(3)系统的功能分析:资料维护:系统维护包括对学生信息的录入操作及数据表中的信息进行浏览。系统功能:可以对数据表中的信息进行浏览。系统查询:可以对学生的信息进行查询。(4)系统功能模块学生成绩查询系统有:成绩录入、增加、删除、修改,数据查询,排序显示构成。(5)模块框架图学生成绩管理系统操作 查询 成绩统计按总成绩排名录入 增加 删除 修改 总成绩 查询 姓名 每个学生的平均成绩各科不及格的人

5、数输出所有学生的成绩3. 软件使用说明书进入 visusal c+6.0 开发环境。单击 Next TipA 按钮可显示下一条信息,单击 Close 按钮关闭。创建一个 visual c+项目。在开发环境主窗口中选择File/new 菜单项,单击 Projects 选项卡,选择 Win32 Console Application,在 Project Name 文本框中输入“学生成绩管理系统” ,在 Location 文本框中输入要保存的路径,单击 OK 按钮完成该对话框的设置。在弹出的对话框中选择An Empty Project 单选钮,并单击 Finish 按钮,在弹出的对话框中单击 OK

6、按钮,完成“学生成绩管理系统”的创建。编辑并建立 C+源程序。选择Project Add To Project New 菜单项,在弹出的对话框的 File 选项卡中选择C+ Source File 选择,在 File 文本框中输入文件名“学生成绩管理系统” ,其他选项选择默认值。单击 OK 按钮,弹出编辑窗口,在该窗口中进行源代码的输入。编译并运行程序。在完成源代码的编辑后,选择 File Save 保存所编辑的源程序文件。选择 Build Compile 学生成绩管理系统.cpp 编译源程序。如果语法有错误,在屏幕下方会有提示,根据这些提示直到没有任何语法错误。选择 Build Compil

7、e 学生成绩管理系统.exe 连接学生成绩管理系统程序,如果有错误显示,则排除这些错误直到没有,那样就已经建立了学生成绩管理系统.exe 可执行文件。选择 Build Execute.exe,运行学生成绩管理系统程序。此软件可以分为四个类:操作、查询、成绩统计和排名。系统管理员首先要进行数据统计,按 1 录入学生姓名、学号、数学成绩、c+成绩和英语成绩,按 2 可以继续增加学生信息,如有问题可以按 3 修改或按 4 删除数据,管理员可以通过软件对输入的数据进行计算,算出学生的总成绩和平均成绩以及该学生成绩是否及格,如果要查询数据可以根据自己的情况选择用学生姓名或学号进行查询,同时可以得出其对应

8、的排名,最后退出该系统。通过上述测试,本系统实现了对学生成绩等信息的显示功能,能够显示已有学生的成绩信息;实现了对学生的添加功能,能够添加另外学生的成绩;实现了对已有学生成绩信息的查找功能,能够根据学生的姓名或学号来查找学生的成绩信息;实现了对学生成绩信息的修改,删除等功能,同时能够避对没有的学生进行准确的判断,输入没有登记的学生姓名或学号,系统会自动弹出输入错误的报告等。4. 程序测试及分析该软件可以正常运行,但是有很多的地方都不够完善,例如:在总成绩排序中,只能输出总成绩,不能单独的输出学生的相应的信息;每次进行别的操作之前都要在进行一次数据的录入,不能直接对原有的文件进行读取。可以运行界

9、面: 输入学生姓名学号以及各科成绩:添加学生姓名、学号以及各科成绩:5. 设计总结此次 c+课程设计,我们学会了如何用 C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。本系统是以 Visual C+6.0 为开发工具编的程序。本系统实现了对学生成绩等信息的显示,添加,查找,修改和删除的功能。第一周结束的时候,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。但是,到了第二周,我由不得不再次陷入困境。在

10、整个程序的编写过程中。最难的就是修改和删除这两个模块。开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。根据 C+课程所学的概念、理论和方法,按照 C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对 C+语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。三、 附录#include #include #include#include#inc

11、ludeusing namespace std; class Tstu /通过定义一个类来定义数据录入的函数 char name20; int number; float math,cpp,english,average,sum; public: Tstu(); Tstu ( char n20, int num,float ma,float cj,float eng ) ;float getsum();/得到总分的函数 float getaver(); /得到平均分的函数 friend void main(); /将主函数定义为友元函数,方便访问类中的成员 ;Tstu:Tstu ( char

12、n20, int num,float ma,float cj,float eng ) strcpy(name,n); /得到姓名 number=num; /得到学号 math=ma; /得到数学成绩 cpp=cj; /得到 c+成绩 english=eng; /得到英语成绩 float Tstu:getsum() /得到总分的函数 sum=cpp+english+math; return sum; float Tstu:getaver() /得到平均分的函数 average=getsum()/3; return average; void main() coutp; if(p=1&pname;

13、 coutnumber; coutmath; coutcpp; coutenglish; fstream outfile,infile; /作一个文本文档在文件夹中用于显示所录入的数据 outfile.open(f1.txt,ios:out|ios:app); if(!file) coutc; chris1=0; do if(c!=y&c!=n) coutc; else chris1=1; while(chris1=0); while(c=y); /重复输入 break; case 2: /增加学生数据 char name20; int number; float math,cpp,engli

14、sh; char c; do coutname; coutnumber; coutmath; coutcpp; coutenglish; fstream outfile,infile; outfile.open(f1.txt,ios:out|ios:app); if(!file) coutc; if(c!=y&c!=n) coutc; while(c=y); break; case 3:/删除学生信息char c;string xingming,line,str,name; do ifstream fin(f1.txt); fstream outfile(f2.txt,ios:trunc|io

15、s:out); /作一个文本文档在文件夹中用于显示所录入的数据 coutxingming; while(!fin.eof() ) getline(fin,line); istringstream stream(line); name = line.substr(0,line.find( ,0);/找到名字,判断是否相等 if(name != xingming) outfilec; if(c!=y&c!=n) coutc; while(c=y); break; case 4:/修改数据 string sname,line,str,name; int nu;float eng,ma,com;int flag;char c;if(i=0)coutname;fstream fin(f1.txt,ios:in); ofstream outfile(f.txt,ios:trunc|ios:out); coutnamenumacomeng;coutc;coutc;while(c=y);break;case 5:/按总分查询int j=0;float SUM;char c;int flag;if(i=0)coutSUM;for(int j=0;jgetsum(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号