c++面向对象课程设计报告

合集下载

C-shap课程设计报告

C-shap课程设计报告

《面向对象程序设计C#》期末课程设计报告 / 学年第学期姓名:______________学号:______________班级:______________指导教师:______________计算机科学与工程学院2012一、主要内容及要求:创建一个应用程序,实现下面的UML图。

Step1:(共60分,其中Account类编写10分,SavingAccount和Checking类的编写分别25分)创建Account类,作为各种账户的基类。

然后用继承来创建两个专用的账户类:SavingAccount(储蓄账户)类和CheckingAccount(支票账户)类。

(1)SavingAccount类,从Account派生其新特征:A.储蓄账户能获得利息,增加一个属性interestRate 表示利率。

B.着时间的推移,储蓄账户可以获得利息,所以为SavingAccount类增加一个addInterest()方法(注:未在UML图中画出),用于把利息增加到原balance上。

利息的计算规则为interestRate*balance;(2)CheckingAccount类,从Account派生新特征:A.帐户允许有透支额度,增加属性overdraftProtection表示最大透支额度。

B.取款规则发生了改变:如果当前余额足够支付要提取的金额amount ,按照常规进行处理。

如果当前余额不够,但帐户有透支额度,那么所差的部分作为透支处理。

透支处理规则:比较amount(当前提款金额)和balance(当前帐户余额)若当前透支额amount-balance>overdraftProtection,那么整个交易应该放弃,提款失败。

否则提款后的balance应为0,提款后的最大透支额度overdraftProtection应该为原有最大透支额度减去(amount-balance )。

(3)再看Account类其withdraw行为要在其具体的子类中才能确定,故将其withdraw方法设计成一个抽象方法,由子类去改写。

面向对象程序设计(C++课程设计报告)

面向对象程序设计(C++课程设计报告)
打开线数据文件Line.dat,可以显示出文件里面的线图形。
(2)问题描述:
使用MFC,应用MFC中已有函数以及画图类完成一个划线程序,使得能用鼠标在MFC视图中划出一道可以自定义线的格式的线,然后完成拾取、保存以及读取工作。
(3)问题分析:
该题目需要我们在熟练运用MFC的基础上,对MFC中函数进行掌握,并学会划线类地应用。首先需要我们完成划线操作利用buttondown和buttonup两个消息响应函数,然后将所有的线的属性放入vector容器中,实现线的存储,利用两边之和约等于第三边完成线的选取工作,再利用文本输入输出流完成保存和读取。
void CHuaxianView::OnMenuitem32771()
{
// TODO: Add your command handler code here
dialog a;
a.DoModal();
m_b=a.m_b;
m_r =a.m_r;
m_w =a.m_w;
m_y =a.m_y;
}
在ChuaxianView类的OnLButtonDown()函数中完成记录起始点的工作:
// TODO: add draw code for native data here
for(int i = 0; i < m_vLines.size() ;i++)
m_vLines[i].Draw(pDC);//将容器中所有线进行重绘
}
在ChuaxianView类的对话框函数中完成数据输入与更新:
void CHuaxianView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

《 面向对象程序设计》课程设计实验报告

《 面向对象程序设计》课程设计实验报告

《面向对象程序设计》课程设计实验报告指导教师小组成员:专业班级: 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. 实践面向对象编程的思维方式和方法论。

三、实验过程1. 类的定义在学生管理系统中,我们首先需要定义一个学生类,包含学生的基本信息,如学号、姓名、年龄等。

通过封装这些属性和定义相应的方法,我们可以实现对学生对象的创建和操作。

2. 对象的创建在主程序中,我们可以通过实例化学生类来创建学生对象。

通过调用构造函数,为学生对象赋予具体的属性值。

例如,创建一个名为Tom的学生对象,可以使用以下代码:Student tom = new Student("001", "Tom", 18);3. 方法的调用定义了学生类后,我们可以为其添加一些方法,如获取学生信息、修改学生信息等。

通过调用这些方法,可以实现对学生对象的操作和管理。

例如,获取Tom的年龄可以使用以下代码:int age = tom.getAge();4. 继承的应用在学生管理系统中,我们可以将学生类作为基类,派生出一些特定类型的学生类,如研究生、本科生等。

通过继承,子类可以继承基类的属性和方法,并可以添加自己特有的属性和方法。

这样,我们可以更好地组织和管理不同类型的学生对象。

5. 多态的实现通过使用多态,我们可以在不同的上下文中使用同一个方法名,实现不同的功能。

例如,在学生管理系统中,我们可以定义一个统一的显示信息方法,然后在不同的学生类中重写该方法,以实现不同类型学生的信息展示。

C++面向对象程序设计》实验报告

C++面向对象程序设计》实验报告

《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。

(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。

(3)掌握简单C++程序的编写和调试方法。

(4)掌握重载函数的定义方法。

(5)能正确使用引用型变量。

2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。

②在自己指定的子目录中建立一个名为test.cpp的新文件。

③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。

观察和分析编译信息。

⑤根据编译信息指出的错误, 修改程序。

再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。

⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。

⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。

观察屏幕的变化。

在输出窗口应显示程序运行结果。

⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。

改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。

《面向对象程序设计(课程设计)》报告解析

《面向对象程序设计(课程设计)》报告解析

福建农林大学计算机与信息学院计算机类课程设计报告课程名称:面向对象程序设计(课程设计)课题名称:猜数字游戏姓名:学号:专业:计算机科学与技术年级:2012级指导教师:职称:讲师2013年11月面向对象程序设计(课程设计)成绩评定表目录1. 课题来源 (1)2. 任务描述 (1)2.1. 课题的总体结构 (1)2.2. 核心功能模块与类设计 (2)2.3. 任务分工与工作量说明 (3)3. 程序(系统)详细设计 (3)4. 程序(系统)实现与测试 (5)5. 分析与讨论 (11)6. 结束语 (12)1.课题来源该作品为原创。

课题灵感是能否做一个小游戏,寻找了很多小游戏比如俄罗斯方块等,发现其太复杂以目前的水平无法完成,于是就选择了一个比较简单的猜数字游戏,编写益智类的游戏可以让我们日常生活中自己使用来达到增加乐趣的作用。

猜数字游戏的原游戏规则:通常由两个人玩,一方出数字,一方猜。

出数字的人要想好一个没有重复数字的4位数,不能让猜的人知道。

猜的人就可以开始猜。

每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。

如正确答案为5234,而猜的人猜5346,则是1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为2B,合起来就是1A2B。

接着猜的人再根据出题者的几A几B继续猜,直到猜中(即4A0B)为止。

原游戏规则是两个人玩,于是我们想到了将规则改为人机对战,电脑出题玩家来猜。

2.任务描述猜数字游戏:产生随机数,统计完全猜中的数字的个数以及统计猜中但位置错误数字的个数,并给出提示。

最后计算积分。

此程序体现了面向对象程序设计的继承性和封装性。

2.1.课题的总体结构程序有三个类,其中randNumber类用来产生随机数,contrast类用来做对比并得出猜数字的结果,score类用来读取文件内容并统计分数,主函数进行循环输入猜数字,并将结果输入文件。

《面向对象程序设计》课程设计报告模板

《面向对象程序设计》课程设计报告模板

课程设计20 ~ 20 学年第学期设计题目职工工资管理系统设计院(系)计算机科学与信息工程学院专业班级学号学生姓名设计时间20 年 1 月日——2011 年 1 月日指导教师提交日期 20 年月日上海应用技术学院课程设计任务书目录1概述: .................................................................................. 错误!未定义书签。

1.1基本功能 (5)1.2拓展功能: (6)2课题分析 (7)2.1类的设计 (7)2.2类的实现 (8)3详细设计说明 (9)3.1程序主界面 (9)3.2方案 (9)3.3程序描述(输入INPUT) (9)3.4 运行结果............................................................11 4课程设计总结 (12)5软件使用说明 (13)6附录(参考文献,原代码:) (13)参考文献:................................................ 错误!未定义书签。

原代码 ................................................... 错误!未定义书签。

1概述:课程设计目的本课程设计是《面向对象程序设计》课程的后继教学环节,学好C++语言就必须坚持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写C++实际应用程序。

根据教材中人事管理应用程序框架,在此基础上按要求完成以下实际应用程序。

1.1基本功能1.1.1输入员工信息输入员工信息包括以下几个信息点员工姓名员工编号(4位数)员工职务类型(1.技术经理2. 销售经理3. 技术人员4. 销售人员5. 文秘.)输入后将自动保存至info.txt文件中。

在每次输入的时候均判断输入的合法性。

面向对象的理论与C++实践清华课程设计

面向对象的理论与C++实践清华课程设计

面向对象的理论与C++实践清华课程设计一、课程介绍面向对象的理论与C++实践是清华大学计算机科学与技术系本科生专业选修课程,涵盖面向对象编程理论和C++编程实践两个方面,旨在帮助学生深入理解面向对象思想并用C++语言进行实现。

二、课程内容面向对象编程理论1.面向对象思想概述2.类与对象3.继承、多态与虚函数4.抽象类与纯虚函数5.STL库简介C++编程实践1.C++程序设计基础2.类与对象的实现3.继承、多态与虚函数的实现4.STL库的使用三、课程教材《C++ Primer》(第五版)(中文版),作者:Lippman, Lajoie, Moo,译者:侯捷。

四、课程参考资料1.《Effective C++》(中文版),作者:Scott Meyers,译者:侯杰。

2.《STL源码剖析》(中文版),作者:侯捷。

3.《深入浅出设计模式》(中文版),作者:程杰。

五、课程设计要求1.选题要求:要求选好一个项目,体现应用面向对象编程的思想。

2.设计方案包括:给出所设计类的类体及成员函数原型,试画出相应的类图,写出内部数据结构方案的描述,描述各类或各函数功能作用的注释。

3.程序要求:为了反映面向对象编程语言的特征,要使用C++语言进行编程,采用面向对象思想,必须使用类和对象来体现程序设计思想,要充分利用C++语言的特性和STL库进行程序开发。

六、课程设计流程第一阶段:选题第一次课程上老师将介绍课程设计大概内容,学生需要结合个人实际情况,选定一个初步的设计主题,初步选题可与老师讨论资讯。

相当于开题选题环节。

第二阶段:设计方案在确定题目后,需要自己独立完成课程设计方案。

设计方案要求如上述第五部分所说明。

相当于中期论文。

第三阶段:实现程序在建立好方案后,开始进行程序实现。

实现过程中出现问题,需及时向老师或助教请教解决,最终提交实现代码。

相当于结题报告。

七、课程评分标准1.选题:选题是否合理,是否具有一定难度性;2.设计方案:方案是否完善,方案中的类设计是否具有标准性;3.程序代码:代码是否规范,是否达到良好的代码质量,代码是否具有可扩充性、可移植性等软件工程方面的优良特征;4.报告:书面报告是否符合规范,语言表达、图表使用是否得当;5.程序演示:演示时是否条理清晰,是否表现出更高的带了解问题以及解决问题的能力。

面向对象程序设计实验一及实验报告样式

面向对象程序设计实验一及实验报告样式

《面向对象程序设计》实验一实验报告1 实验目的:(1)了解在VC++、C-free中如何编辑、编译、连接和运行一个C++程序;(2)掌握声明类的方法,类和类的成员的概念以及定义对象的方法(3)了解多文件的C++程序结构2 实验任务(1)输入两个整数,将它们按由大到小的顺序输出。

要求使用变量的引用;(2)编写一个程序,将两个字符串连接起来,结果取代第一个字符串;(3)声明Animal 类,数据成员有age,成员函数有SetAge()等。

首先把数据成员声明为公有的,在main()函数中访问,再把它改为私有的,指出在main()函数中访问会出现怎样的情况,如何避免?该程序需要在同一个文件中分别给出类的声明、类的实现、类的演示每部分的代码。

(4)声明日期类,数据成员有year、month、day,成员函数有输出日期、加一天等。

练习使用多文件结构来组织程序。

3 程序清单实验一:#include"iostream"using namespace std;int main(){int i,j;cout<<"input two number"<<endl;cin>>i>>j;swap(i,j);cout<<i<<","<<j<<endl;return 0;}void swap(int &a,int &b){int temp;temp=a;a=b;b=temp;}实验二:#include"iostream"#include"string"using namespace std;int main(){string string1,string2;cout<<"please input two string:";cin>>string1>>string2;string1=string1+string2;cout<<string1<<endl;return 0;}实验三:4 运行结果图1.1 任务一运行结果图2.1任务二运行结果5 总结或感悟(对运行结果所作的分析以及本次调试程序所取得的经验。

面向对象程序设计课程实验总结报告

面向对象程序设计课程实验总结报告

舉申科按衣專课程实验报告课程名称:面向对象程序设计院系:专业班级:____________学号:__________姓名:_______________指导教师:____________实验一.面向过程的整型栈编程 (1)1. 需求分析 (1)1.1题目要求 (1)1.2需求分析 (1)2. 系统设计 (2)2.1概要设计 (2)2.2详细设计 (3)4. 软件测试 (4)5. 特点与不足 (4)5.1技术特点 (4)5.2不足和改进的建议 (5)6. 过程和体会 (5)6.1遇到的主要问题和解决方法 (5)6.2课程设计的体会 (5)7. 源码和说明 (5)7.1文件清单及其功能说明 (5)7.2用户使用说明书 (5)7.3源代码 (5)实验二.面向对象的整型栈编程 (12)1. 需求分析 (12)1.1题目要求 (12)1.2需求分析 (12)2. 系统设计 (13)2.1概要设计 (13)2.2详细设计 (13)3. 软件开发 (14)4. 软件测试 (14)5. 特点与不足 (14)5.1技术特点 (14)5.2不足和改进的建议 (15)6. 过程和体会 (15)7. ......................................................................................................................................... 源码和说明. (15)7.1文件清单及其功能说明 (15)7.2用户使用说明书 (15)7.3源代码 (15)实验三.基于算符重载的整型栈编程 (19)1. 需求分析 (19)1.1题目要求 (19)1.2需求分析 (19)2. 系统设计 (20)2.1概要设计 (20)2.2详细设计 (20)3. 软件开发 (20)4. 软件测试 (20)5. 特点与不足 (21)5.1技术特点 (21)5.2不足和改进的建议 (21)6. 过程和体会 (21)6.1遇到的主要问题和解决方法 (21)6.2课程设计的体会 (21)7. 源码和说明 (21)7.1文件清单及其功能说明 (21)7.2用户使用说明书 (21)7.3源代码 (21)实验四.面向对象的整型队列编程 (25)1. 需求分析 (25)1.1题目要求 (25)1.2需求分析 (25)2. 系统设计 (26)3. 软件开发 (26)4. 软件测试 (26)5. 特点与不足 (26)5.1技术特点 (26)5.2不足和改进的建议 (26)6. 过程和体会 (26)6.1遇到的主要问题和解决方法 (26)6.2课程设计的体会 (27)7. ..................................................................................................................................... 源码和说明 (27)7.1文件清单及其功能说明 (27)7.2用户使用说明书 (27)7.3源代码 (27)实验五.基于组合的整型队列编程 (31)1. 需求分析 (31)1.1题目要求 (31)1.2需求分析 (31)2. 系统设计 (31)3. 软件开发 (32)4. 软件测试 (32)5. 特点与不足 (32)5.1技术特点 (32)5.2不足和改进的建议 (32)6. 过程和体会 (32)6.1遇到的主要问题和解决方法 (32)6.2课程设计的体会 (32)7. 源码和说明 (33)7.1文件清单及其功能说明 (33)7.2用户使用说明书 (33)7.3源代码 (33)实验六.基于继承的整型队列编程 (37)1. 需求分析 (37)1.1题目要求 (37)1.2需求分析 (38)2. 系统设计 (38)3. 软件开发 (38)4. 软件测试 (38)5. 特点与不足 (38)5.1技术特点 (38)5.2不足和改进的建议 (38)6. 过程和体会 (39)7. .......................................................................................................................................... 源码和说明. (39)7.1文件清单及其功能说明 (39)7.2用户使用说明书 (39)7.3源代码 (39)实验一.面向过程的整型栈编程1. 需求分析1.1题目要求整型栈是一种先进后出的存储结构,对其进行的操作通常包括判断栈是否为空、向栈顶添加一个整型元素、出栈等。

面向对象培训课程设计

面向对象培训课程设计

面向对象培训课程设计一、教学目标本课程的教学目标是让学生掌握面向对象编程的基本概念、原理和应用,培养学生独立思考、解决问题的能力,提高学生的编程技能和软件开发素养。

具体分为以下三个部分:1.知识目标:(1)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等。

(2)熟悉常用编程语言的面向对象特性,如Java、C++、Python等。

(3)掌握面向对象编程的常用设计原则和设计模式。

2.技能目标:(1)能够运用面向对象编程思想编写简单的程序。

(2)具备分析问题、设计类和对象的能力。

(3)熟练使用面向对象编程语言进行软件开发。

3.情感态度价值观目标:(1)培养学生对编程的兴趣和热情,提高学生自主学习的积极性。

(2)培养学生团队合作精神,提高学生沟通与协作能力。

(3)培养学生具有良好的职业道德,树立正确的软件开发观念。

二、教学内容本课程的教学内容主要包括以下几个部分:1.面向对象编程基本概念:类、对象、封装、继承、多态等。

2.常用编程语言的面向对象特性:Java、C++、Python等。

3.面向对象编程的设计原则:单一职责原则、开闭原则、里氏替换原则等。

4.面向对象编程的设计模式:工厂模式、单例模式、观察者模式等。

5.面向对象编程的实际应用:软件开发流程、项目实战等。

三、教学方法本课程采用多种教学方法相结合,以提高学生的学习兴趣和主动性:1.讲授法:讲解基本概念、原理和设计模式。

2.案例分析法:分析实际项目案例,让学生了解面向对象编程在实际应用中的重要性。

3.实验法:让学生动手编写代码,培养实际编程能力。

4.讨论法:分组讨论问题,培养学生团队合作和沟通能力。

四、教学资源本课程所需教学资源包括:1.教材:选用权威、实用的教材,如《Java核心技术》、《C++ Primer》等。

2.参考书:提供丰富的参考书籍,以便学生深入研究。

3.多媒体资料:制作精美的PPT、教学视频等,辅助学生理解。

4.实验设备:提供计算机、编程环境等,让学生动手实践。

实验报告面向对象分析设计

实验报告面向对象分析设计

实验报告面向对象分析设计1. 引言面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是一种软件开发方法论,它以对象为中心,将软件系统看作是一组互相协作的对象集合。

本实验旨在通过一个具体的案例,通过分析和设计实践,掌握面向对象分析与设计的基本原则和方法。

2. 实验目的通过本实验,我们将学习和掌握以下内容:- 了解面向对象分析与设计的概念和基本原则- 学习使用UML(Unified Modeling Language)进行面向对象分析和设计- 掌握面向对象分析与设计的基本流程和方法- 熟悉常用的面向对象分析与设计工具和技术3. 实验内容及步骤3.1 实验环境本实验使用以下工具和环境:- UML工具:如Visual Paradigm、StarUML等- 编辑器:如Visual Studio Code、Eclipse等- 编程语言:Java、C++等3.2 实验步骤本实验主要分为以下几个步骤:1. 了解案例需求:首先,我们需要明确一个具体的案例,如图书馆管理系统、学生选课系统等。

本实验以图书馆管理系统为例。

2. 创建用例图:使用UML工具,根据需求,创建图书馆管理系统的用例图。

用例图描述系统的功能需求,包括用户角色、用户的需求和系统的功能。

3. 创建类图:基于用例图和需求分析,使用UML工具创建类图。

类图描述系统的静态结构,包括类和类之间的关系。

4. 创建时序图:基于用例图和类图,使用UML工具创建时序图。

时序图描述系统的动态行为,展示对象之间的交互关系和顺序。

5. 完善设计:基于用例图、类图和时序图,进一步完善系统设计。

包括类的属性和方法的设计、系统的架构设计等。

4. 实验结果与分析通过本实验,我们完成了图书馆管理系统的面向对象分析与设计。

通过用例图、类图和时序图的创建,我们清晰地描述了系统的功能需求、静态结构和动态行为。

通过系统设计的完善,我们定义了系统的架构和各个类的属性和方法。

面向对象系统的分析与设计

面向对象系统的分析与设计

《面向对象系统的分析与设计》学习报告面向对象系统的分析与设计课程是本专业的一门重要的专业课。

通过本课程的学习,使我在已有的计算机软硬件基础知识、程序设计知识、数据库和网络通信知识的基础上系统掌握了面向对象系统的分析与设计方法和技术,并初步具备了针对特定环境下的应用问题进行信息系统开发(包括系统分析、设计与实现)的能力。

现将学习情况作以下汇报。

一、面向对象概述在 20 世纪 60 年代以前,软件开发者构造的软件系统大多都是较小的,且相对简单。

编程语言及编程环境也相对简单,随着软件复杂性的增长,为了更好地维护代码,软件开发也需要方法来进行约束。

传统的方法中,结构化方法和基于建模方法是典型的软件开发方法。

结构化方法是结构化分析、结构化设计和结构化编程的总称。

结构化方法的思想萌发于 20 世纪 60 年代,是在 70 年代由 TomDe Macro 和Ed Yourdon 等人被系统地进出来。

其目的在于,提供一个有序的机制,通过抽象来理解待开发的系统,试图产生结构良好的软件系统。

但对于较复杂的系统而言,容易导致模块的低内聚和模块间的高耦合,从面使得系统缺乏灵活性和可维护性。

基于建模方法在20 世纪70 年代末提出,即 Peter Chen 的实体——关系法与Ed Codd 的关系数据库理论相结合提出的一种新的软件开发方法。

其强调对信息实体建模,而不是对象建模。

结构化方法和基于建模方法都没有较强地描述系统的动态行为的能力。

随着计算机技术的飞速发展,计算机管理系统应用的普及,企业信息化势在必行。

传统开发方法结构化开发的软件存在很多问题,其有稳定性、可修改性和可重用性都比较差,生产效率低等缺陷,这是因为传统的软件开发是面向过程的。

然而,用户需求的变化大部分是针对功能的,采用面向对象方法开发可以满足用户的需求,因为面向对象有以下优点:能够比较自然地反映现实事物,可重用性、可维护性和可扩展性比较强。

什么是面向对象呢?“面向对象”本身没有任何意义。

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

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

《面向对象程序设计》课程设计任务书一、课程设计目的《面向对象程序设计》是一门重要的计算机专业课程,通过本课程设计,旨在让学生更深入地理解和掌握面向对象程序设计的基本概念、原理和方法,提高学生运用面向对象技术解决实际问题的能力。

具体而言,课程设计的目的包括以下几个方面:1、巩固和加深学生对面向对象程序设计中类、对象、继承、多态等核心概念的理解,培养学生的抽象思维和逻辑思维能力。

2、让学生熟悉面向对象程序设计的开发流程,包括需求分析、设计、编码、测试和维护等阶段,提高学生的软件开发能力。

3、培养学生运用面向对象编程语言(如 C++、Java 等)进行实际编程的能力,提高学生的代码编写规范和调试能力。

4、培养学生的团队合作精神和沟通能力,让学生在团队中共同完成一个较为复杂的项目,学会分工协作和相互交流。

5、激发学生的创新意识和解决实际问题的能力,让学生能够将所学知识应用到实际场景中,开发出具有一定实用价值的软件系统。

二、课程设计要求1、学生需独立完成课程设计任务,不得抄袭他人成果。

2、课程设计题目应具有一定的实用性和挑战性,能够涵盖面向对象程序设计的主要知识点。

3、学生在进行课程设计时,应严格按照面向对象的方法进行分析、设计和实现,确保程序的结构清晰、可读性强、可维护性好。

4、学生需提交课程设计报告,报告内容应包括需求分析、总体设计、详细设计、编码实现、测试结果以及总结等部分。

5、课程设计报告应书写规范、条理清晰、图表完整、数据准确。

三、课程设计题目以下是几个可供选择的课程设计题目,学生可根据自己的兴趣和实际情况选择其中一个进行设计:题目 1:学生成绩管理系统设计一个学生成绩管理系统,能够实现对学生成绩的录入、查询、修改、统计等功能。

系统应具备良好的用户界面,方便用户操作。

题目 2:图书管理系统设计一个图书管理系统,能够实现对图书的入库、借阅、归还、查询等功能。

系统应能够记录图书的基本信息、借阅记录以及读者信息等。

c语言课程设计报告书3篇

c语言课程设计报告书3篇

c语言课程设计报告书3篇c语言课程设计报告书1我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。

在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

包括了程序模块处理。

简单界面程序。

高级界面程序。

程序的添加修改。

用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。

课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的.语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。

对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告面向对象程序设计实验报告一、引言面向对象程序设计(Object-Oriented Programming,简称OOP)是一种广泛应用于软件开发的编程范式。

本实验旨在通过实践,加深对面向对象程序设计的理解,并掌握其基本概念和技巧。

二、实验目的1. 理解面向对象程序设计的基本概念和思想;2. 掌握类、对象、继承、封装、多态等面向对象的核心概念;3. 运用面向对象的思想设计和实现一个简单的程序。

三、实验过程1. 设计类和对象在本次实验中,我们选择实现一个简单的学生管理系统。

首先,我们需要设计一个学生类(Student),包括学生的姓名、年龄、学号等属性,并定义相关的方法,如获取学生信息、修改学生信息等。

然后,我们创建多个学生对象,模拟学生管理系统中的多个学生。

2. 继承和多态为了进一步理解继承和多态的概念,我们可以设计一个教师类(Teacher),继承自学生类。

教师类除了继承学生类的属性和方法外,还可以定义自己特有的属性和方法。

通过创建教师对象,我们可以看到继承和多态的效果。

3. 封装和访问控制在面向对象程序设计中,封装是一个重要的概念。

我们可以将学生类的属性设置为私有(private),并通过公有(public)的方法来访问和修改属性。

这样做的好处是可以保护属性的安全性,同时提供统一的接口供外部使用。

四、实验结果通过实验,我们成功地实现了一个简单的学生管理系统。

我们可以创建学生对象,并通过调用相关方法来获取和修改学生的信息。

同时,我们还实现了教师类,通过继承和多态的特性,我们可以灵活地使用学生和教师对象。

五、实验总结通过本次实验,我们深入了解了面向对象程序设计的基本概念和思想。

通过设计和实现一个简单的程序,我们掌握了类、对象、继承、封装、多态等核心概念,并学会了如何运用这些概念来设计和实现面向对象的程序。

面向对象程序设计具有很多优点,如代码的可重用性、可维护性、可扩展性等。

通过合理地设计类和对象,我们可以更好地组织和管理代码,提高开发效率和代码质量。

C++面向对象程序设计教案(含多款)

C++面向对象程序设计教案(含多款)

C++面向对象程序设计教案一、教学目标1.理解面向对象程序设计的基本概念,包括类、对象、继承、多态等。

2.掌握C++面向对象程序设计的基本语法和编程技巧。

3.能够运用面向对象的思想进行程序设计,解决实际问题。

二、教学内容1.面向对象程序设计的基本概念(1)类与对象类是对具有相同属性和行为的一组对象的抽象描述。

对象是类的实例,具有类定义的属性和行为。

(2)继承继承是面向对象程序设计的一个重要特性,用于表示类之间的层次关系。

子类可以继承父类的属性和行为,并在此基础上添加新的属性和行为。

(3)多态多态是指同一个操作作用于不同的对象时,可以有不同的解释和行为。

多态分为编译时多态和运行时多态。

2.C++面向对象程序设计的基本语法(1)类的定义与实现类定义包括类名、属性(成员变量)和方法(成员函数)。

类实现包括成员函数的定义。

(2)构造函数与析构函数构造函数用于创建对象时初始化成员变量,析构函数用于对象销毁时释放资源。

(3)继承与派生继承使用关键字class和public、protected、private访问限定符。

派生类可以添加新的成员变量和方法,也可以重写父类的方法。

(4)多态的实现多态可以通过虚函数、抽象类和接口实现。

虚函数使用关键字virtual声明,抽象类包含至少一个纯虚函数,接口是一种特殊的抽象类,只包含纯虚函数。

3.面向对象程序设计实例(1)设计一个简单的银行账户管理系统,包括账户类、储蓄账户类和信用卡账户类。

(2)设计一个图形类库,包括点、线、矩形和圆形等基本图形类。

三、教学方法1.讲授法:讲解面向对象程序设计的基本概念、语法和编程技巧。

2.案例分析法:通过分析实际案例,让学生理解面向对象程序设计的应用。

3.实践法:让学生动手编写代码,加深对面向对象程序设计的理解。

4.讨论法:组织学生讨论面向对象程序设计在实际项目中的应用。

四、教学评价1.课后作业:布置课后作业,检查学生对课堂知识的掌握程度。

面向对象程序课程设计报告

面向对象程序课程设计报告

面向对象课程实习报告班级:电子商务092班学号:200936627228姓名:李清强指导老师:罗移祥成绩:时间:2011.1.4—2011.1.101 / 19目录一课程设计的目的 (3)二课程设计的要求 (3)三课程设计报告内容 (3)1 程序设计题目 (3)2 程序实现思路 (3)3 程序模块分析 (3)4 系统详细设计 (4)5 部分程序 (7)四总结 (8)附录1 (8)附录2 (8)2 / 19学生成绩排名管理系统一、课程设计教学目的课程实习作为独立的教学环节,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。

其目的在于加深对面向对象基础理论和基本知识的理解,掌握使用具体编程工具,提高解决实际问题的实践能力,进一步巩固面向对象程序设计课程所学到的知识,深刻把握C++语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力。

二、课程设计的要求1、分析课程设计题目的要求2、写出详细设计说明3、编写程序代码,调试程序使其能正确运行4、设计完成的软件要便于操作和使用5、设计完成后提交课程设计报告,课程设计报告内容包括:课程设计目的、设计任务与要求、设计说明书、设计成果和设计心得五个部分,具体要求见设计报告模板。

三、课程设计报告内容1题目内容学生成绩统计管理系统功能要求:1) 具备对成绩的管理功能(添加、删除、排序)2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名查询成绩的功能。

2程序实现思路:先创建一个学生元素类,用于存放学生的各种数据。

然后创建另一个类,把数据存储,可便进行各种操作。

3程序模块分析:1)添加数据:3 / 19把用户输入的数据添加到学生类对象数组中,然后再将其入堆,使其有序。

2)删除数据:由用户输入要删除的学生的学号,然后将其从学生类对象数组中删除,使数组中的数据仍然有序。

3)查找数据:由用户输入要查找的学生的学号或姓名,然后调用Studentmanage(学生管理)类中关于查找的函数,将查找结果显示在屏幕上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程名称面向对象程序设计课题名称学生成绩管理系统专业计算机科学与技术班级计算机 1001学号 01姓名指导教师李珍辉陈淑红李杰军2011年 12 月 28 日湖南工程学院课程设计任务书课程名称面向对象程序设计课题学生成绩管理系统专业班级计算机1001学生姓名学号 01指导老师李珍辉陈淑红李杰军审批任务书下达日期 2011 年 11 月 15 日任务完成日期 2011 年 12 月 28 日一、设计内容与设计要求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。

要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。

2.课题题目1)公司库存管理系统2)高校学籍管理系统3)高校工资管理系统4)高校人事管理系统5)通讯录程序设计6)学生成绩管理系统7) 图书管理系统8)文本编辑器的设计与实现9)学生考勤管理系统10)公司人员管理系统3.设计要求:⑴设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相应题号的课题。

随意换题者不记成绩。

⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。

②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。

③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E-R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。

④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。

⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。

⑥关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。

二、进度安排第 17 周星期一 8:00——12:00星期二 8:00——12:00星期四 8:00——12:00第 18 周星期一 8:00——12:00星期二 14:30——18:30星期三 8:00——12:00三、参考书籍1.《C++程序设计课程设计》刘振安编著 TP312C5632.《C++ Builder和Delphi课程设计与系统开发案例》伍俊良清华大学出版社7-302-06072-XC++课程设计案例精编严华峰中国水利水电出版社 7-5084-2007-1 2004 C++课程设计与系统开发案例伍俊良清华大学出版社 7-302-05968-3 2002 C++语言课程设计: 案例精选与编程指导陈清华朱红东南大学出版社7-81089-275-4 2003++课程设计案例精编中国水利水电出版社 7-5084-1004-1 20027.数据结构课程设计案例精编 : 用C/C++描述李建学李光元吴春芳清华大学出版社 7-302-14536-9 2007(编程平台不限,vc++, c++ Builder等等。

)课题6:学生成绩管理系统(一)、课程设计题目:学生成绩管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。

3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

4、写出设计说明书(三)、设计方法和基本原理:1、问题描述(功能要求):设计一个实用的小型学生成绩管理程序,具有查询,检索和删除功能,并且能够打开或修改指定文件及将多个文件组成一个文件。

它完全使用类来实现,充分体现面向对象的程序设计特点。

要求:实现主要功能:建立文件,文件的存取和显示,删除记录,查询记录。

可以随时检索,删除,或增加记录,也可以保存或取消新的记录。

2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告以及系统使用说明书目录1.系统需求分析 ....................................... 错误!未定义书签。

2.总体设计 ........................................... 错误!未定义书签。

3.详细设计 ........................................... 错误!未定义书签。

4.系统调试 ........................................... 错误!未定义书签。

5.结果分析 ........................................... 错误!未定义书签。

6.总结 ............................................... 错误!未定义书签。

7.程序代码 ........................................... 错误!未定义书签。

1.系统需求分析系统设计的目的与意义:现在的学校学生数量较多,各样的考试也比较频繁,因此需要一个学生成绩管理系统来对学生的成绩进行管理。

系统功能需求:本系统有四个类,Score类、Subject类、Student类、Class类,存储学生的个人信息、考试科目及成绩信息。

有学生成绩信息录入、学生成绩信息修改、学生成绩信息显示、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。

2.总体设计系统功能分析:系统通过调用函数来实现学生成绩信息录入、学生成绩信息修改、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。

Insert()函数用于录入学生成绩及信息;Update1()函数用来修改学生成绩及信息;Show()函数用于显示所有已有的记录;Delete()函数用来删除学生成绩及信息;Search1()及Search2()函数用来查询及信息;Save()函数用于将输入的信息存入文件内;主函数main()用于调用这些函数。

系统功能模块划分与设计:本系统定义了Score类、Subject类、Student类以及Class类这四个类,定义了Insert()、Update1()、Show()、Save()、Delete()、Search1()及Search2()等函数来实现系统所需功能。

系统功能模块图:3.详细设计分数类的设计:该类定义了一个整型变量用来存放分数,定义了设置份总数和显示分数的函数。

图科目类的设计:该类定义了一个Score类类型的变量,定义了一个字符数组用来存放科目名称,定义了设置和显示私有成员的函数。

图学生类的设计:该类定义了一个Subject类类型的数组,一个字符型数组和一个字符变量,两个整型变量以及设置和显示私有成员的函数。

图班级类的设计:该类定义了一个Student类类型的变量、字符型数组、整型及设置和显示私有成员的函数等。

图各个类的关系描述:4.图系统调试在调试过程中,出现了下面一些错误:1、输入数据时,输错了数据的类型会造成死循环,因此输入时需要注意。

2、一开始主界面输入非正确字母时,没有提示错误。

容易造成用户误解,在主函数的switch语句结束处加上default:cout<<"选择错误,请从新选择!";就可以了。

具体调试过程:主界面学生成绩录入学生成绩查询学生成绩显示学生成绩修改记录存入文件学生成绩删除5.结果分析程序总共设计了四个类,满足了课题对类的要求,在设计的过程中,建立了较为清晰的类层次,也利用了面向对象的方法以及C++的编程思想来完成系统的设计,做到了用文件存储学生成绩信息、从文件中读取学生成绩信息、修改信息、查询信息、删除信息显示文件中存储的信息等要求。

而且界面简洁,容易操作。

但是程序太长,不够简练,导致出现错误很难发现和修改。

6.总结首先,接到设计题目之后,在对本题目进行分析的时候,我懂得了一个很重要的道理,那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。

其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也决定了一个程序的质量。

两个星期的课设虽然有些疲劳和困倦,但带给我很多的收获。

C++已经学了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多。

对这些知识也有了更深的理解和很好的掌握。

也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。

这种困惑,有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。

只能避过这些方法,换方法实现。

在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行,发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。

于是在课程设计的时候,我花了四天的时间来规划与写代码,将要实现的内容分析清楚,才把代码输入电脑。

我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。

这次的课程设计,真是让我充分的感觉到了要自己设计一个程序是多么的难,以及学习好c++是多么的重要。

在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。

看网上的例子好像觉得也没那么难,自己一上机实际操作就出现了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。

虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。

以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。

7.程序代码#include<iostream>#include<fstream>#include<string>using namespace std;int M=100;static int M2=0;class Score{ how2();}void Student::set3(){ <<endl;for(i=0;i<8;i++)p1[i].set2();}class Class{ <<endl;abort();}for(int i=0;i<count;i++)(reinterpret_cast<char*>(&c6[i]),sizeof(c6[i]));();}void Show(Class c7[]) etNU()!=0;i++) c7[i].show4();}void Insert(Class c5[],int &count_a) etNU()==in_number)cout<<"已有相同的学号,请重新输入!"<<endl;break;}}while(c5[i].getNU()==in_number);if(in_number<1)cout<<"输入错误,请重新输入大于零的整数!"<<endl;}while(in_number<=0);i=count_a;c5[i].set4();count_a++;cout<<endl<<endl;n=n+1;if(n!=0)cout<<"学生成绩录入成功!"<<endl;}void Search1(Class c1[],int count1) etNU()==number) {c1[i].show4();flag=0;n=n+1;}if(n==0)cout<<"没有查询到该学生的资料!"<<endl;}void Search2(Class c2[],int count2) etNA()==nam) {c2[i].show4();n=n+1;}if(n==0)cout<<"没有查询到该学生的资料!"<<endl;}void Update1(Class c3[],int count_d) etNA()==nam) {cout<<"请输入所要修改的学生的学号:"<<endl;cin>>m;for(i=0;i<count_d&&flag;i++){if(c3[i].getNU()==m){c3[i].set4();flag=0;n=n+1;}}}break;}if(n!=0)cout<<"修改成功!"<<endl;if(n==0)cout<<"没有查询到该学生的资料!"<<endl;}void Delete(Class c4[]) etNU()!=0;i++);M2=i;Class c9;int n=0,number,flag=1;cout<<"请输入要要进行操作的学生的学号:"<<endl; cin>>number;for(i=0;i<M2&&flag;i++){if(c4[i].getNU()==number){for(i;i<M2&&flag;i++)c4[i]=c4[i+1];flag=0;(M2)--;n=1;Save(b,M2);break;}}if(n==0)cout<<"没有查询到可以删除的资料!"<<endl;if(n!=0)cout<<"资料删除成功!"<<endl;}int main(){char a1;fstream file("",ios_base::in|ios_base::out|ios_base::binary);cout<<"\t\t**************欢迎进入学生成绩管理系统**************"<<endl<<endl;do{cout<<"请选择功能:"<<endl;cout<<"\t\t\ta.学生成绩查询"<<endl;cout<<"\t\t\tb.学生成绩录入"<<endl;cout<<"\t\t\tc.学生成绩删除"<<endl;cout<<"\t\t\td.学生成绩修改"<<endl;cout<<"\t\t\te.显示全部记录"<<endl;cout<<"\t\t\tf.记录存入文件"<<endl;cout<<"\t\t\tg.退出系统"<<endl;int i=0;for(i=0;i<100;i++){(reinterpret_cast<char*>(&b[i]),sizeof(b[i])); }for(i=0;b[i].getNU()!=0;i++);M2=i;cin>>a1;switch(a1){case ‘a':{cout<<"\t\t\t请继续选择:"<<endl;cout<<"\t\t\t\t1.按学号查询信息"<<endl;cout<<"\t\t\t\t2.按姓名查询信息"<<endl;int x;cin>>x;switch(x){case 1:Search1(b,M2);break;case 2:Search2(b,M2);break;default:cout<<"选择错误,请重新选择!"<<endl;}}break;case ‘b':Insert(b,M2);break;case ‘c':{();Delete(b);}break;case ‘d':Update1(b,M2);break;case ‘e':Show(b);break;case ‘f':{();Save(b,M2);cout<<"保存文件成功!"<<endl;fstream file("",ios_base::in|ios_base::out|ios_base::binary);};break;case ‘g':{();break;}default:cout<<"选择错误,请重新选择!"<<endl;}}while(a1!='g');return 0;}计算机与通信学院课程设计评分表教师签名:日期:。

相关文档
最新文档