《C++语言程序设计》课程设计报告-学生信息查询系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++语言程序设计》
课题设计报告
课题名称:学生信息查询系统
专业:电子信息工程
班级:2班
姓名:
学号:
指导老师:
日期:2011-05-06
仰恩大学计算机系
一、课程序设计目的(根据情况写)
(1)了解面向对象程序设计与结构化程序设计的内在差别;
(2)了解类和对象的概念,学会对数据进行封装处理,灵活应用类的继承关系,学会用构造函数来进行对象的初始化工作,通过重载
构造函数来对对象进行更为深入的数据初始化,用析构函数来清
理和释放对象所占用的系统资源;
(3)通过对象指针来访问对象,从而完成对对象数据的调用与返还;
(4)利用动态内存分配在程序的运行中根据实际需要申请内存空间,使用结束后释放所占用的内存空间;
(5)通过继承与派生来简化程序代码简化程序设计,有效利用已有的类模块资源。
(6)以学生信息管理为应用背景,用面向对象程序设计建立学生信息管理程序,实现创建班级、添加学生信息、修改学生信息、删除学
生信息、打印学生信息、退出六个程序功能。
开发环境
(1)系统环境:Windows XP,Windows 7
(2)编程环境:Visual C++.NET,Visual C++ 6.x,Visual Studio 2005,Visual Studio 2010……….等。
二、实现过程
(1)C++编程基础知识介绍
数据类型:对数据类型定义是非常重要的,它可以为数据在内存中分配适合的存储区域、确定数据范围,并且可以规定数据所能进行的有效操作;
1:对数据类型的分类有:
2:常量和变量:变量(variable ):取值在程序的执行过程中可改变值的量;常量(constant ):取值在程序的执行过程中始终保持不变的量。又分为文字常量(literal constant )常变量(也称为符号常量)
C++程
源程序文件1
源程序文件2
源程序文件3
编译预处理命令 全局变量声明
函数1
函数n
…
函数首部 函数体 局部变量声明
执行语句
3:运算符和表达式:包括C++运算符、优先级和结合性;基本运
算符及其表达式(即算术运算符及算符表达式;赋值运算符与赋值表达式;
自增、自减运算;逻辑运算、逻辑表达式及其求值优化;位运算;逗号运算
符与逗号表达式;sizeof( )运算符);语句(包括表达式语句;表达式; 空
语句;复合语句{若干语句} 流程控制语句:用来控制或改变程序的执行方
向);算术类型转换和赋值类型转换;求值次序与副作用等知识。
程序流程控制
a:复合语句:将多个语句组合在一起,用一对花括号将这些语句组
合在一起,称为复合语句(主要用到if、for、while、switch)
分支流程If 语句If (条件表达式)
语句1
else
语句2
循环流程While语句While(条件表达式1)
{ 语句1;
if(条件表达式2)
break;
语句2;
}
语句3;
循环流程for语句for(初始化表达式;条件表达式;循环表达式)
{
循环体语句
}
循环流程switch语句switch(条件表达式)
{
case 1: 语句1;break;
……
case n: 语句1;break;
}
*【break语句使用:用在while,do…while,for和switch语句中,在循环语句中,break用来从最近的封闭循环体内跳出,在switch语句中,break用来跳出
switch语句。】
b:函数的调用:调用一个函数就是暂时中断现有程序的运行,转去
执行被调用函数,当被调用函数执行结束以后,再返回到中断处继续执行
的过程,如下表:
c:函数的嵌套:执行过程如下表:
(2)程序的概要设计(流程图)
1:总体(主函数):设计学生信息管理系统界面,定义程序功能选
择的方式,用switch循环进行程序选择(即程序功能选择);通过构造函
数的调用来实现不同函数功能,从而进行程序的使用。
2:主构造函数:包括创建班级【Addclass()】、添加学生信息【Addstud ()】、修改学生信息【Changestu()】、删除学生信息【Delstu】、打印学生信息【Disstu】五个构造函数。
a:创建班级【Addclass()】
b:添加加学生信息【Addstu()】:
d:修改学生信息【Changestu()】:
c:删除学生信息【Delstu()】:
f:打印学生信息【Dispstu()】
(2)程序的详细设计
a:创建班级
void CClass::Addclass(char *ClassName,int *CStudent) {
int n=0;
int ClaccName;
if(n!=10)
{
cout<<"输入班级名称"< cin>>ClassName; clas=new Class(ClassName); n++; cout<<"添加成功"< return true; } else cout<<"班级数超额"< } b:添加学生信息 void CClass:Addstu () { if(clas==NULL) 未创建班级 …… else 已创建班级 { ……定义数据类型 cout<<"请输入学生的学号:"; cin>>studno; while(clas->find(studno)!=-1) 查找该学号学生 { 存在该学号学生…………重新输入学号};