C++课程设计 27Word文档下载推荐.docx

上传人:b****1 文档编号:4554515 上传时间:2023-05-03 格式:DOCX 页数:31 大小:243.03KB
下载 相关 举报
C++课程设计 27Word文档下载推荐.docx_第1页
第1页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第2页
第2页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第3页
第3页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第4页
第4页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第5页
第5页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第6页
第6页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第7页
第7页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第8页
第8页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第9页
第9页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第10页
第10页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第11页
第11页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第12页
第12页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第13页
第13页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第14页
第14页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第15页
第15页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第16页
第16页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第17页
第17页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第18页
第18页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第19页
第19页 / 共31页
C++课程设计 27Word文档下载推荐.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++课程设计 27Word文档下载推荐.docx

《C++课程设计 27Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++课程设计 27Word文档下载推荐.docx(31页珍藏版)》请在冰点文库上搜索。

C++课程设计 27Word文档下载推荐.docx

《面向对象程序设计(A)课程设计》任务书

一、课程设计任务及要求:

任务:

运用C++语言编写“仲夏夜学生成绩管理系统”,实现输入输出学生资料,删除查找学生等九个功能,方便对学生的成绩的管理。

在此次课程设计中,使我们加深对C++语言的运用,在实践中学习C++语言,同时锻炼我们的动手能力,增强我们对C++语言的熟练度,增加我们在项目中的经验。

要求:

(1)根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。

可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。

(2)提交课程设计报告。

(3)指标:

要求完成课程设计报告3000字以上(约二十页);

完成所设计的题目,设计题目的语句行数在200行语句以上。

二、工作量

2周(10个工作日)时间

三、计划安排

第1个工作日:

查找相关资料、书籍,阅读示例文档,选择题目。

第2个工作日-第3个工作日:

设计程序结构、模块图。

第4个工作日-第9个工作日:

完成程序的编码,并且自己调试、测试。

穿插进行课程设计报告的撰写。

第10个工作日:

上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

                        2011年8月29日

目录

1需求分析1

2概要设计3

3详细设计5

3.1 输入学生资料模块5

3.2 输出学生资料模块5

3.3 按学生姓名进行排列模块5

3.4 添加学生资料模块5

3.5 按姓名查找,删除该学生资料模块5

3.6 查找并显示学生资料模块5

3.7 按姓名查找,修改学生资料模块5

3.8 从文件中读入数据模块5

3.9 储存学生资料并退出系统模块6

4编码7

4.1 功能7

4.2 算法思路7

4.3 代码7

5调试分析9

6测试结果及运行效果10

7系统开发所用到的技术15

课程设计实践总结16

参考文献17

附录18

1需求分析

在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。

而且效率也是很低的。

所以如何自动高效地管理信息是这些年来许多人所研究的。

随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。

我们使用电脑的高效率才处理数据信息成为可能。

学生成绩管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。

友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。

1.通过C++课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。

2.通过这次课程设计掌握《C++语言程序设计》的编程思想,为后续课程打下基础。

3.培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。

对系统进行功能模块分析、控制模块分析正确。

系统设计要能完成题目所要求的功能。

编程简练,可用,尽可能的使系统的功能更加完善和全面。

总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。

也可根据自己对题目的理解增加新的功能模块。

系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。

每一条记录中,包括一个学生的姓名、班级、学号、各科成绩。

同时,应具备以下功能:

1.输入功能:

一次可以完成自定义学生人数的学生信息记录的输入。

2.输出功能:

显示学生资料。

3.排序功能:

以英语课程的分数为依据对学生信息进行排序。

4.添加功能:

添加指定的学生信息。

5.删除功能:

对指定学生的信息进行删除。

6.查询功能:

选择某种方式并输入该信息查询符合条件的学生信息。

7.修改功能:

对指定学生的信息进行修改。

8.读入功能:

从文件中读入学生数据。

9.退出主菜单。

成功登陆系统以后,出现成绩管理界面,系统初始化,可对学生成绩进行增加、删除、查询、修改、统计,进入相应界面进行成绩管理,退出系统自动保存本次操作内容,保存信息。

主要功能用来对学生的信息进行收集和输入。

在学生信息保存在系统中,成绩录入需要输入学生资料,比如姓名,班级手机号码,住宅电话等。

在准确输入学生资料后,就可以对该学生的各科信息进行录入。

该学生各类信息输入成功后,系统会提示是否继续进行操作,之后系统返回到主菜单。

系统测试是管理信息系统的开发周期中的一个十分重要环节。

尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。

对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,模糊查询允许用户用较为模糊的查询条件,比如信息的姓来进行查询。

实现了满足用户需求的多样化。

对已经存储的信息进行查询,而客户的具体需求多样,为了给客户营造更多的便利,可以将软件的查询细分为按整体进行查询模糊查询和精确查询和整体查询,整体查询允许用户用整体的查询条件,比如信息的姓来进行查询。

随着学校的普及和人们文化水平的提高,高效的教学管理系统越来越广泛应用于各类信息化学校。

学生学籍管理系统要求实用性强、使用方便、效率高和安全可靠等特点。

2概要设计

“仲夏夜学生成绩管理系统”包括九个模块:

输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。

这九个模块既相互联系又相互独立。

设计目的:

巩固和加深学生对高级语言程序设计课程的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,提高运用java语言解决实际问题的能力。

内容要求

实现学生成绩的管理(增、删、改、查询、持久化、成绩排序、成绩统计等功能),在文件中增加、删除、学生信息,根据学号查询、修改学生信息,统计功能求每个人的总分并按从高到低排序,通过这些操作对文件中的信息保存。

本系统根据学生成绩管理的需要,而建立一个“仲夏夜学生成绩管理系统”,以方便对成绩的各项管理操作。

本系统能对成绩进行输入和输出;

能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;

能添加学生成绩资料;

能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;

能够从文件中读取学生信息,并且添加到系统中;

能把对系统所进行的操作进行保存,以及时更新系统中的数据。

通过C++课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。

系统设计要能完成题目所要求的功能,通过这次课程设计掌握《C++语言程序设计》的编程思想,为后续课程打下基础。

运用C++中基本的输入流和输出流实现数据的输入,保存在类中。

根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。

可以分组进行。

利用for循环和if函数,只有当你输入的姓名与电话薄中已存姓名一致(利用strcmp函数比较2个字符串),就可以进行删除,否则继续循环直到输对为止。

利用for循环和对象成员中的比较来显示录入的所有信息。

利用strcmp函数比较2个字符串,只有当你输入的姓名与电话薄中已存姓名一致才能进行修改操作,否则系统会报错。

在先前输入分类时进行操作,利用strcmp函数看你输入的分类与增加信息时的是否相同,相同则显示那个分类中的信息,不一致会出现“查无此人”不需要再进行通信录处理便可退出,这结合一个while和elseif语句就能做好。

运用微软公司开发的一个IDE(集成开发环境)VC++6.0的运行平台,面向对象程序C++语言和数据结构知识。

VC++6.0是Windows平台上的c++编程环境,使用c++语言编写运行程序实现理想的菜单界面。

图2-1 系统总体框架

图2-2Student类类图

3详细设计

3.1 输入学生资料模块

主要功能用来对学生的成绩进行收集和输入。

在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。

在准确输入学生资料后,就可以对该学生的各科成绩进行录入。

该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。

3.2 输出学生资料模块

主要功能用来对学生的成绩进行输出。

在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。

具体包括学生的班级,学号,姓名和各科成绩。

在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。

3.3 按学生姓名进行排列模块

主要功能是用来对学生的资料按姓名进行排序。

在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。

3.4 添加学生资料模块

主要功能是用来添加学生资料,成绩。

如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。

如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。

3.5 按姓名查找,删除该学生资料模块

主要功能是用来删除学生资料。

在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。

由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化。

3.6 查找并显示学生资料模块

主要功能是用来查找学生资料。

在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息。

3.7 按姓名查找,修改学生资料模块

主要功能是用来修改学生资料。

在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。

3.8 从文件中读入数据模块

主要功能是用来从文件中读入学生数据。

由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。

这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。

3.9 储存学生资料并退出系统模块

主要功能是用来储存学生资料。

在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。

表3-1Student类说明表

名称

属性

说明

num

数据成员

说明学生学号

cla

说明学生班级

name

说明学生名字

byyl

说明学生数据结构成绩

jsjzc

说明学生离散数学成绩

sjk

说明学生大学物理成绩

jsjyy

说明学生大学英语成绩

Jssl

说明学生模拟电路成绩

4编码

4.1 功能

定义菜单函数,通过输出函数显示系统功能。

利用switch语句实现多分支选择结构。

4.2 算法思路

switch语句的执行流程是:

首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句。

4.3 代码

voidmain()//主函数调用。

{

intn=0;

for(;

;

{

switch(menu())

case1:

cout<

<

setw(15)<

"

"

输入学生资料"

endl;

n=Input(stu,n);

break;

case2:

输出所有学生资料"

Display(stu,n);

case3:

按姓名排序"

Sort(stu,n);

system("

pause"

);

case4:

插入学生资料"

n=Insert(stu,n);

case5:

删除学生资料"

输入他(她)的姓名:

n=Delete(stu,n);

case6:

查找学生"

Query(stu,n);

case7:

修改学生资料"

输入你要修改的学生的姓名:

n=Xiugai(stu,n);

case8:

从文件中读入数据"

n=AddfromText(stu,n);

case0:

将所有资料写入文件"

WritetoText(stu,n);

}

}

5调试分析

(1)用户进入系统后,就会看到学生管理系统的主菜单页面。

系统总共有九个模块,分别由0到8表示,在主菜单页面只能输入数字0到8,输入其他字符无效,如果用户输入无效字符,系统仍停留在主菜单页面。

(2)进入到主菜单页面后,用户可以根据自己的需求选择不同的选项,选择后系统就会进入子系统页面,然后用户按系统的提示操作就行了。

在其中包含了用户所要求完成的功能,软件设计师实现的初步设想并最终实现的代码。

同时,为用户提供了使用的约束条件、使用手册,方便用户更好的使用本软件。

如果软件在使用时出现了问题,不要让其他的非软件设计师来更改我们的代码,这样我们的软件将很难维护,联系我们可以无偿的为用户提供维修服务。

如果在长期的使用过程中,有很多的功能需要添加时,可以再联系我们来为用户的软件升级,并不需要很多的经费。

使用过程中,建议为我们提供用户的使用情况,以便我们更好的改进软件功能,解决软件中隐藏的一些错误之处。

同时可以方便我们的维护和升级使用。

灵活性应虑考,也就是可配置(特性:

可以通过修改配置文件来选择系统提供的功能;

功能是预先做好的)、可维护(设计指标:

系统可方便的修改已有的功能,改Bug,Bug:

系统的实际运行情况与实际不一致)

要考虑性能(资源[CPU、内存]耗得少,速度快),考虑可伸缩性(性能不变的情况下,系统可支持的并发用户数与机器个数成正比,正态分布),软件要适应用户人数的变化,性能伸缩也有顶点。

6测试结果及运行效果

图6-1 学生成绩管理系统主菜单页面

图6-2 为输入学生资料模块

图6-3 为输出学生资料模块

图6-4 为添加学生资料模块

图6-5 为按姓名查找,删除该学生资料模块

图6-6 为查找并显示学生资料模块

图6-7 为按姓名查找,修改学生资料模块

图6-8 为从文件中读入数据模块

图6-9 为储存学生资料并退出系统模块

7系统开发所用到的技术

本学生成绩管理系统由九个模块组成,每个模块相互联系又相互独立。

这个学生成绩管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。

只能实现学生管理系统最基本的功能,可以进行简单的输入、输出学生资料,查询和修改学生信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等。

而且在每个模块也有不足的地方,比如在输入学生资料时,对每个信息项没有严格的规定,可以输入任何的字符。

同时有些模块还不能实现本应该有的功能,这有待以后努力,争能够实现该有的功能。

在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。

如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。

但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。

因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。

开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。

为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。

现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。

在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。

一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。

课程设计实践总结

这二周的C++课程设计,时间上说长不长,说短也不短,却让我学到了很多,第一点就是:

C++很难,似乎是学不完的,你觉得自己了解一点,是总会发现还有很多自己所不懂的东西,还有很多自己所没探知的领域,很多知识运用到实践中很有一定的难度,看着自己和同学的程序运行结果,突然发现C++真的很神奇,居然能运行出那么漂亮的系统,看着运行结果。

在我们上机调试程序的过程中,我遇到了很多的问题,说实话这次课程设计自己没有出多大的力,大部分都是借鉴同学的设计成果,自己设计是总是觉得没有头绪,无从下手。

看到同学认真看程序的样子,还有修改程序时的熟练,我很羡慕他,我想,我也要将C++学好,在将来能为我的就业加分。

在这次学院给我们安排的课程设计周,总让我们觉的有些为难我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有心情复习,我曾一度地抱怨过学院,在完成它之后,我发现我错了,课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。

参考文献

[1]郑莉.语言程序设计(第3版).北京:

清华大学出版社,2005.7

[2]郑莉.语言程序设计及实训教程(第3版).北京:

清华大学出版社,2006

[3]吴乃陵 李海文.程序设计实践教程(第2版).高等教育出版社,2006

[4]吴俊良.VisualC++课程设计与系统开发实例(第4版).北京:

清华大学出版社,2007.8

[5]StanleyB.Lippman,JoseeLaijoie等.C++primer(中文版).人民邮电出版,2006

[6]李俊于良耀班学刚黄锦春.VisualC++6.0使用教程(第2版).北京:

人民邮电出版社,2005

附录

#include<

iostream>

stdio.h>

ctype.h>

stdlib.h>

string.h>

iomanip>

usingnamespacestd;

typedefclass

public:

charnum[10];

charcla[10];

charname[20];

charbyyl[10];

charjsjzc[20];

charsjk[10];

charjsjyy[20];

charjsdl[20];

}Student;

Studentstu[80];

intmenu()

charc;

c<

'

0'

||c>

8'

cls"

欢迎使用本学生成绩管理系统!

编程人员:

芦文娇"

******************************学生成绩管理系统******************************"

setw(32)<

1.输入学生资料"

2.输出学生资料"

3.按学生姓名进行排列"

en

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2