C课程设计报告设备管理系统

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

C++课程设计报告
课程设计题目
新科公司的设备管理系统
专业:材料科学与工程
目录
(1)设计目的(2)
(2)设计要求(2)大体要求和创新要求
(3)设计方式(3)模块功能说明(如函数功能、入口及出口
参数说明,函数挪用关系描述等)(4)整体设计(4)设计系统的类层次,类层次中各个类的描述,类中各个成员函数
(5)调试与测试(16)调试方式,测试结果的分析与讨论,测试
进程中碰到的主要问题及采取的解决办法(6)实验总结(17)
1.设计目的:
一、目的:
(1)要求学生达到熟练掌握C++语言的大体知识和技术;
(2)大体掌握面向对象程序设计的大体思路和方式;(3)能够利用所学的大体知识和技术,解决简单的面向对象程序设计问题。

2.设计要求:
一、大体要求:
(1)要求利用面向对象的方式和C++的编程思想来完成系统的设计;
(2)要求在设计的进程中,成立清楚的类层次;(3)在系统中至少要概念四个类,每一个类中要有各自的属性和方式;
(4)在系统的设计中,至少要用到面向对象的一种机制。

二、创新要求:
在大体要求达到后,可进行创新设计,如按照查找结果进行修改的功能。

3.设计方式
功能:新科公司现有以下设备:普通电视机、DVD、带DVD 的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能依照品名进行显示、查找、增加和删除、保留的功能。

按照系统功能,能够将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)按照问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方式);(4)完成类中各个成员函数的概念;
(5)完成系统的应用模块;
(6)功能调试;
4.整体设计
一、设计思路
设计四个类:设备、普通电视机、DVD、带DVD的电视机。

这四个类的关系如下:
设备
普通电视机DVD
二、系统功能模块图
二、类的层次设计
3、功能设计
(1)添加删除功能:能按照设备的变更情形,添加记录;
(2)删除功能: 删除记录;
(3)保留功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保留和打开。

(4)删除功能: 删除记录查询功能:能按照编号进行查询;
5.界面设计
图1:运行首界面
图2添加设备信息界面
图3设备信息显示界面
图4设备信息查询界面
图5设备信息删除界面
6.代码设计
#include<iostream>
#include<fstream>
#include<string>
#include<iomanip>
using namespace std;
class machine xt",ios::in);
cout<<"从文件中读取的数据如下:"<<endl;
char line[101];
for(int i=1;i<=3;i++)
{
(line,100);
cout<<line<<endl;
}
();
}
void search()
{ char line[100];
int i=1,n;
cout<<"请输入要查询的序号:";
cin>>n;
ifstream infile("新科公司设备管理系统.txt",ios::in);
while(!())
{
(line,100);
if(i==n)
{
cout<<line<<endl;
break;
}
i++;
if())
cout<<"没找到相应的产品!"<<endl;
}
}
void deleteinf()
{
ifstream ifile("新科公司设备管理系统.txt"); ofstream ofile("");
char line[100];
int i=1,n;
cout<<"请输入要删除的序号:";
cin>>n;
while(!())
{
(line,100); xt");
system("rename ,新科公司设备管理系统.txt"); cout<<"该产品已成功删除!"<<endl;
cout<<"查看是不是已被删除?(0-否、1-是):"; int number;
cin>>number;
if(number==1)
output();
}
void save()
{
ofstream ofile("新科公司设备管理系统.txt",ios_base::app);
试与测试
(1)调试方式:
在编译连接前先进行静态检查,对每一个函数模块出现的细节语法错误慢慢更正。

再进行系统编译连接,按照编译器提示错误类型逐个修正。

调试一个函数模块的程序时,将其他模块及相应的函数概念用注释语句注释,至顶向下,顺序化,模块化。

(2)测试碰到的问题及解决:
(1)输入的数据无法查找。

解决方式:挪用嵌套查找函数,将实参传递至相应形参,定位数据,并输出。

(2)测试某段文本,当出现句子“真廉价!)这令”后,出现严峻乱码错误。

通过仔细排查,发觉是分句函数引发的问题,原因是“!”的后一个字节,和“)”的前一个字节,正好是句号“。

”的两个字节,由此致使错误分句。

查出此错误后,顺利解决此问题。

(3)测试某段文本,检查文本向量序列时,发觉其句数,与真实情形不符。

通过排查,程序某处,po s值应该为-1才能应对所有可能出现的情形。

6.实验总结:
(1)刚开始,本来是想用两三个类来封装所有信息和功能函数,但由于类成员彼此挪用、文件读写等老出现错误和问题,所有大体上没有利用这种方式。

通过查阅相关资料和参考指导老师给出的模型,决定采用一个类加一个主函数的办法来实现全数功能。

显然这种方式不适合C++面向对象的要求,由于时刻有限,不能编出更好的解决方案,此刻只能试用下。

我们希望以后能再完善那个程序,用类封装来实现全数功能。

(2)从课程设计的目的动身,通过课程设计的各个环
节,通过C++课程设计实例,咱们握了C++语言

序设计基础,学会运用大体算法,程序控制结构,学会了调试程序的方式,培育严谨的思维。

并慢慢加深了对知识的理解与实际运用,学会分析和解决
问题将所学知识联系实际,提高了我对语言学习的踊跃性,增强了自己的动手能。

(3)在碰到实际操作问题时,尝试用各类思路,查询
相关知识,与他人交流,利用资源,从问题中试探收获。

相关文档
最新文档