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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  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;}计算机与通信学院课程设计评分表教师签名:日期:。

相关文档
最新文档