南京信息工程大学 C++面向对象程序设计—课程设计报告
面向对象语言程序设计课程设计报告

面向对象语言程序设计课程设计报告题目:XX大学学籍管理系统学院专业班级学号姓名指导教师1开发背景现在,面对着大量的学生数据、报表,手工处理方式已经很难跟上现代化的步伐。
随着计算机技术及网络通讯技术的飞速发展,许多学校已经有了较好的计算机应用甚至网络硬件建设基础。
学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情。
2可行性分析2.1技术可行性该系统所需硬件设备,如服务器、PC机、打印机及网络配件等,市场上有销售且价格较低,能满足系统功能要求。
软件上,操作系统采用WindowsNT, 数据库管理系统采用Microsoft Access version 7.0 MDB,这些软件在MIS开发中已被大量应用,技术上都比较成熟。
因此技术上是可行的。
2.2经济可行性成本方面,关于各种软、硬件及辅助设备的购置、调试、机房及辅助设备以及系统维护,内务开销这些费用都可以忽略不计,因为学校机房可以为我们免费提供一切,拥有了天时地利人和,我们只需充分利用这些资源来开发我们的学籍管理系统开发费用方面,因为此系统比较简单,费用不高。
2.3管理可行性由于该学校有很好的管理体制:每位学生均有学号及相关的成绩管理记录,且学生的具体信息均会记录在相关档案中,以此来决定学生的升级、留级、退学情况。
面向对象课程设计报告

面向对象课程设计报告一、引言面向对象课程设计是计算机科学与技术专业的一门重要课程,通过设计和实现一个完整的面向对象程序,培养学生的面向对象设计思维和编程能力。
本报告旨在介绍我所设计的面向对象课程设计,包括设计背景、需求分析、设计方案、实现细节和测试验证等内容。
二、设计背景本次面向对象课程设计的背景是设计一个学生信息管理系统。
随着教育事业的发展,学校中的学生数量不断增加,学生信息的管理越来越复杂。
传统的学生信息管理方式已经无法满足现代教育管理的需求,需要采用更加高效和智能的信息管理系统。
三、需求分析学生信息管理系统需要具备以下功能:1. 学生信息维护:包括学生基本信息的录入、修改和删除等操作。
2. 成绩管理:包括成绩录入、查询和统计等功能。
3. 课程管理:包括课程信息的录入、查询和修改等操作。
4. 成绩报表生成:根据学生成绩生成报表,方便教师和学校进行评估和分析。
5. 权限管理:不同用户有不同的权限,需要进行用户和权限管理。
四、设计方案根据需求分析,我设计了以下类:1. Student类:表示学生信息,包含学生id、姓名、性别、年龄等属性。
2. Course类:表示课程信息,包含课程id、名称、教师等属性。
3. Grade类:表示学生成绩,包含学生id、课程id、分数等属性。
4. User类:表示系统用户,包含用户id、用户名、密码等属性。
5. Report类:表示成绩报表,包含学生id、课程id、平均分等属性。
6. System类:表示学生信息管理系统,包含各种操作方法。
五、实现细节1. 数据存储:使用数据库来存储学生信息、课程信息、成绩信息和用户信息等数据。
2. 数据库设计:根据类的属性设计数据库表结构,每个类对应一个表,表中的字段对应类的属性。
3. 系统界面:设计一个图形界面,方便用户进行操作,包括学生信息录入、成绩查询、课程管理等功能。
4. 系统功能实现:根据需求设计各个功能的实现方法,包括学生信息维护、成绩管理、课程管理等操作。
《 面向对象程序设计》课程设计实验报告

《面向对象程序设计》课程设计实验报告指导教师小组成员:专业班级: 2010级计算机科学与技术专业开设时间:2011-2012(一)目录1.任务1 (2)1.1 任务介绍 (2)1.2 小组成员任务分配 (2)1.3.1设计思想及主要流程图 (2)1.3.1主要程序清单 (2)1.3.1 运行结果及分析 (4)1.3.2设计思想及主要流程图 (2)1.3.2主要程序清单 (2)1.3.2 运行结果及分析 (4)1.3.3设计思想及主要流程图 (2)1.3.3主要程序清单 (2)1.3.3 运行结果及分析 (4)2.任务2 (2)2.1 任务介绍 (2)2.2 小组成员任务分配 (2)2.3设计思想及主要流程图 (2)2.3主要程序清单 (2)2.3 运行结果及分析 (4)3收获、体会和建议 (4)任务1.按照要求设计类 1.根据输出设计类设计类就是根据数据封装的要求,抽象出适合的类。
有如下测试程序和测试程序的输出结果,要求设计类Welcome 。
void main() { Welcome we; Welcome you(we); you.Display();you.Set(“Thank you.”);cout<<you.Get()<<endl; you.talk(); you.Display();}测试程序的输出结果如右: 设计类Welcome 的原则 1)在头文件Cpp1.h 中声明类 2)在Cpp1.cpp 中实现类3)使用内联函数定义Display()函数2.使用类改写程序编写一个求方程02=++c bx ax 的根的程序,用三个函数分别求当ac b 42+大于零、等于零和小于零时方程的根。
要求从主函数输入a 、b 、c 的值并输出结果。
使用面向过程的解法一般是把变量设为double 型,适用库函数cmath 进行计算。
请注意:使用面向对象的方法解决这个问题,首先要从解一元二次方程出发,抽象一个代表一元二次方程的类。
面向对象课程设计报告摘要

面向对象课程设计报告摘要一、课程目标知识目标:使学生掌握面向对象编程的基本概念,理解类与对象的关系,掌握继承、封装、多态等面向对象的核心特性;学会运用面向对象的思想分析和解决实际问题。
技能目标:培养学生具备独立设计类的能力,熟练运用类与对象进行程序设计;能够运用继承、封装、多态等特性编写结构清晰、易于维护的程序;提高学生的编程实践能力和问题解决能力。
情感态度价值观目标:激发学生对计算机编程的兴趣,培养良好的编程习惯;增强学生的团队协作意识,提高沟通表达能力;培养学生勇于探索、积极创新的精神。
课程性质:本课程为信息技术学科,旨在让学生掌握面向对象编程的基本知识和技能,提高编程素养。
学生特点:六年级学生具备一定的编程基础,思维活跃,好奇心强,但注意力容易分散,需要结合实际案例和互动教学激发学习兴趣。
教学要求:注重理论与实践相结合,强调学生的动手实践能力;采用启发式教学,引导学生主动探究,培养创新思维;关注学生个体差异,因材施教,提高整体教学效果。
1. 熟练掌握面向对象编程的基本概念和特性;2. 独立设计类,运用类与对象进行程序设计;3. 运用继承、封装、多态等特性编写结构清晰、易于维护的程序;4. 增强团队协作意识,提高沟通表达能力;5. 培养良好的编程习惯,勇于探索,积极创新。
二、教学内容本章节教学内容围绕面向对象编程的核心概念和技能展开,依据课程目标,选择以下内容:1. 面向对象基本概念:类与对象、属性与方法、构造函数、实例化;2. 面向对象特性:封装、继承、多态;3. 类的设计与实现:类的定义、属性的设计、方法的设计、构造函数的应用;4. 面向对象程序设计:创建对象、调用方法、访问属性、继承与多态的应用;5. 面向对象编程案例分析:实际案例分析与讨论,如学生管理系统、图形绘制等。
教学大纲安排如下:第一课时:面向对象基本概念,介绍类与对象、属性与方法等;第二课时:封装特性,讲解如何隐藏内部实现,提供外部访问接口;第三课时:继承与多态,阐述继承的概念,演示多态的应用;第四课时:类的设计与实现,通过实例讲解如何设计一个类;第五课时:面向对象程序设计,动手实践编写程序;第六课时:面向对象编程案例分析,分析讨论实际案例,巩固所学知识。
面向对象课程设计报告

三、总体设计
private void cbxSpecial_SelectedIndexChanged(object sender, EventArgs e)
private void NewMember_FormClosed(object sender, FormClosedEventArgs e)
(5)修改信息,包括修改个人的姓名,性别,年龄,届别,专业,班级,电话,邮编,E-mail等基本信息;
private void Search_FormClosing(object sender, FormClosingEventArgs e)
(7)显示所有信息,可以按照姓名,年龄,届别和专业分别排序显示数据库中所有成员的信息;
Sort类(信息排序显示模块)
方法
public Sort()
private void SortName_Click(object sender, EventArgs e)
Private void btnExit_Click(object sender, EventArgs e)
Private void btnReg_Click(object sender, EventArgs e)
(3)操作选择模块,可以选择进行添加新成员,查询某成员信息,删除成员信息和将成员信息排序显示等操作。
通过设计一个《校友录管理系统》,进一步熟悉C++中类的概念、基本知识和技能,类的封装、继承的实现方式。掌握面向对象程序设计的基本思路和方法,并利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。
南京信息工程大学 C++面向对象程序设计—课程设计报告

《面向对象程序设计》课程设计报告专业软件工程班级姓名学号指导教师顾韵华起止时间2012.6.4~2012.6.8学生信息管理系统一、需求分析本系统旨在实现一个小型的学生信息管理系统,实施本系统不仅可以减少学生信息管理部门的工作人员数量,降低成本,而且可以大大提高工作效率,降低工作强度,方便学生信息管理部门的工作人员维护和查询学生信息。
程序主要实现学生信息的增删改、以及查询等功能。
二、程序的主要功能1、输入功能此功能主要是,对学生信息的初始化录入功能,在初始时,文件中没有任何数据,可以通过次函数输入任意学生的信息,在输入时通过一个if条件语句来实现控制循环,当输入的姓名是“0”时,使用break语句就跳出循环,即停止输入学生信息。
在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式打开f1.txt文件,使输入的学生信息都写入文件。
2、添加功能此功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能添加一个学生的信息。
在此函数中也使用文件处理的方式,但使用的是以追加的方式打开文件,使输入的学生信息写在文件里原有信息的后面。
3、删除功能此功能主要是,删除一个学生的信息。
在此功能函数中,先以读的方式打开文件,读出文件里的信息在显示在屏幕上,工作人员再根据提示信息输入想要删除第几个人的信息,关闭文件。
再以写的方式打开文件,以一个if条件语句控制,再重新将学生信息写入文件(除了打算删除的那个学生的信息),由于是以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据。
4、修改功能此功能主要是,修改一个学生的信息。
此功能函数的设计方法和删除功能函数的设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有数据覆盖。
5、查询功能在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查询和按姓名查询。
使用if语句来选择查询条件。
5.1 按学号查询根据提示信息输入学号后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生的学号是唯一固定的,所以并使用break语句跳出循环。
面向对象程序设计课程设计报告

4.2 对程序中用到的 SQL Sever 相关操作方法进行封装............................... 10
4.5 学生管理模块............................................................................................... 17
5.总结.......................................................................................................................... 20 参考文献...................................................................................................................... 21
2
目
录
1.设计目的.................................................................................................................... 4 2.设计要求.................................................................................................................... 4
面向对象程序设计课程设计报告

面向对象程序设计课程设计报告㈡类设计定义Complex类:1.实部real ,虚部 imag double real,imag;2.构造函数:Complex(){} ,Complex(double r,double i){}3.析构函数:~Complex(){}4.加法重载: Complex operator+(Complex &c){}5.减法重载: Complex operator-(Complex &c){}6.乘法重载: Complex operator*(Complex &c){}7.除法重载: Complex operator/(Complex &c) {}8.重载==: int Complex:: operator==(Complex &c){}9.重载!=: int Complex:: operator!=(Complex &c)㈢函数设计1.多个复数四则运算的设计① void Add() {} //复数加法运算函数② void Sub() {} //复数减法运算函数③ void Mul() {} //复数乘法运算函数④ void Div() {} //复数除法运算函数2.主函数的设计数字选择功能菜单,根据输入的数字选择执行不同的功能。
用户输入复数的实部,虚部,从而得到计算结果。
void main() //主函数开始{char strChoise[20]; //定义字符串名system("cls");cou t<<"\t这是一个复数计算器,可以实现以下功能,请按对应的按键(0-4)\n\n\n";cou t<<"\t**************************菜单**************************\n";cou t<<"\t1:多复数加法,以0结束\n";cou t<<"\t2:多复数减法,以0结束\n";cou t<<"\t3:多复数乘法,以0结束\n";cou t<<"\t4:多复数除法,以0结束\n";cou t<<"\t0:退出程序\n\n:";cou t<<"\t请您选择:";cin>>strChoise;教师评语。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
统
五、程序分析
Student 类:表示学生信息的类。
class student
{
public:
student( ){};
//student 类的构造函数
void set( );
//初始化信息,第一次对信息的录入
void add( );
//添加学生信息
void del( );
//删除某学生信息
void change( ); //修改某学生信息
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题, 锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着 科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在,因此 作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个 编程,从理论到实践,在这些日子里,可以学到很多很多的东西,同时不仅可以 巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过 这次课程设计,我懂得了理论与实际相结合是很重要的,只有理论知识是远远不 够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正 为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中
Visual C++ 6.0,菜单栏里点文件→新建→工程→Win32 Console Application →输入工程名,创建新的工作空间→菜单栏里点文件→C++ Source File,建立 新的工作空间,输入代码,调试运行。
四、 系统总框架图
主函数
输
添
删
修
显
退
入
加
除
改
示
出
信
信
信
信
信
系
息
息Байду номын сангаас
息
息
息
6. 查询模块 首先由工作人员输入要查找的学生的学号或姓名,然后系统用查找函数查
找,然后系统就调用输出函数,输出所查找的学生的信息。 7. 显示模块
显示模块将输出所有学生的主要资料。 8. 退出模块
退出系统。 七、程序运行结果 1. 程序启动,进入主界面:
2. 菜单项“1”:输入学生信息。
3.菜单项“2”:添加学生信息。
此功能主要是,修改一个学生的信息。此功能函数的设计方法和删除功能函 数的设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有 数据覆盖。 5、查询功能
在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查
询和按姓名查询。使用 if 语句来选择查询条件。 5.1 按学号查询 根据提示信息输入学号后,然后使用一个 for 循环语句,从第一个学生开始
此功能主要是,删除一个学生的信息。在此功能函数中,先以读的方式打开 文件,读出文件里的信息在显示在屏幕上,工作人员再根据提示信息输入想要删 除第几个人的信息,关闭文件。再以写的方式打开文件,以一个 if 条件语句控 制,再重新将学生信息写入文件(除了打算删除的那个学生的信息),由于是以 写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据。 4、修改功能
void search( ); //查询某学生信息
void display( ); //显示全部学生信息
private:
static int num;
string name,sex,politic,address;
};
六、模块分析 1. 主函数和主菜单模块
从文件 f1.txt 中读取学生信息至学生信息表 student stu 中;显示主菜 单。
在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式 打开 f1.txt 文件,使输入的学生信息都写入文件。 2、添加功能
此功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能添加 一个学生的信息。在此函数中也使用文件处理的方式,但使用的是以追加的方式 打开文件,使输入的学生信息写在文件里原有信息的后面。 3、删除功能
《面向对象程序设计》 课程设计报告
专业 班级 姓名 学号 指导教师 起止时间
软件工程
顾韵华 2012.6.4~2012.6.8
学生信息管理系统
一、需求分析 本系统旨在实现一个小型的学生信息管理系统,实施本系统不仅可以减少学
生信息管理部门的工作人员数量,降低成本,而且可以大大提高工作效率,降低 工作强度,方便学生信息管理部门的工作人员维护和查询学生信息。
检索,如果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生的 学号是唯一固定的,所以并使用 break 语句跳出循环。
当无查询结果时,会输出一条提示信息“无此人信息!” 。 5.2 按姓名查询
根据提示信息输入姓名后,然后使用一个 for 循环语句,从第一个学生开 始检索,如果该学生的姓名和输入的姓名一样,则输出该学生的信息,由于学生 的姓名有可能重复出现,所以不能使用 break 语句跳出循环,应该从第一个学生 开始检索直到最后一名学生。
当无查询结果时,会输出一条提示信息“无此人信息!” 。 6、 显示功能
此功能主要是,显示所有学生的信息。先是从文件中读取学生信息,然后在 输出到显示窗口中。用一个 for 循环语句,来把所有学生的信息都输出。 7、 退出系统
当输入“0”时,就能退出系统,这是通过 while 语句来控制实现的。
三、程序开发环境 本程序在 VC++6.0 平台上开发。 使用 Microsoft Visual C++ 6.0 运行该程序,具体操作是:打开 Microsoft
4.菜单项“3”:删除学生信息。
5.菜单项“4”:修改学生信息。
6.菜单项“5”:查询学生信息。
7.菜单项“6”:显示所有学生信息。
8.菜单项“0”:退出系统。
八、 编程体会 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,比如:1.
各模块进行整合的时候,出现许多的错误,后来发现是变量不统一。 解决方法: 各模块统一变量。2.修改时,修改后的信息在文件中修改不了。解决方法:存入 文件时要先关闭文件,再调用函数。
2. 输入模块 工作人员根据主菜单的提示,输入相应功能代码,进入系统,输入学生信
息。 3. 添加模块
工作人员在主菜单中选择功能 2,输入学生信息,插入在学生信息表中。 4. 删除模块
首先由工作人员输入要删除的单个学生的序号,然后调用删除函数,删除 该名学生的资料。
5. 修改模块 首先由工作人员输入要修改的学生的序号,然后系统用修改函数查找,显 示该学生的资料,然后系统提示工作人员输入新的信息。
遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所 学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程 设计之后,一定把以前所学过的知识重新温故。
对给过我帮助的顾老师和所有同学再次表示忠心的感谢!
程序主要实现学生信息的增删改、以及查询等功能。
二、程序的主要功能 1、输入功能
此功能主要是,对学生信息的初始化录入功能,在初始时,文件中没有任何 数据,可以通过次函数输入任意学生的信息,在输入时通过一个 if 条件语句来 实现控制循环,当输入的姓名是“0”时,使用 break 语句就跳出循环,即停止 输入学生信息。