c++语言综合性设计性实验实验报告.docx
- 文档编号:3663994
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:16
- 大小:87.61KB
c++语言综合性设计性实验实验报告.docx
《c++语言综合性设计性实验实验报告.docx》由会员分享,可在线阅读,更多相关《c++语言综合性设计性实验实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
c++语言综合性设计性实验实验报告
c++语言综合性设计性实验实验报告
————————————————————————————————作者:
————————————————————————————————日期:
综合性、设计性实验报告
姓名学号
专业计算机与通信工程系计科0902班
实验课程名称c++程序设计
指导教师及职称黎明讲师
开课学期2010学年下学期
上课时间2010年12月2日
湖南科技学院教务处编印
一、实验设计方案
实验名称:
C++语言综合设计(自动取款机的小系统)
实验时间:
2010/12/10
小组合作:
是○否○
小组成员
1、实验目的:
1)掌握C++语言的基本知识
2)综合应用所学知识,设计一个具有一定综合性的实验;
3)用C++实现程序,并且给出程序的说明、程序运行的结果、输入和输出的数据.
2、实验设备及材料:
硬件设备:
PC机一台
机器配置:
内存:
1G
操作系统:
WindowsXP
开发工具:
VC++6。
0
3、实验内容:
①问题描述
a.设计一个自动取款机的小系统。
b.设计一个自动取款存款机的小系统。
c.设计一个刷卡自动充值交通IC卡的小系统.
②编程任务
用c++实现;
4、实验方法步骤及注意事项:
①实验步骤
1、先把写好的程序写入到电脑中的VC++6.0
2、再对程序进行编译
3、经过检查编译,发现编译中出现的错误再进行修改
4、再次编译,直到编译成功之后,运行程序
5、接着按照提示输入数据,进行测试
6、最后记录所得数据,查看结果
②解题思路
1.在设计程序之前,先构思好所要用到的函数,以及函数对应在程序的效果
2.先建立两个类,consumer和ATM
3.再建立存取钱、修改密码、查询余额等客户信息输出的函数
4.并且建立搜索,打印和删除特定用户信息的函数
5.同时建立打开文件、写入文件的函数
6.ATM成员函数用switch语句来对用户选择的操作项进行判断
5.实验数据处理方法:
①数据输入:
123451233
②结果输出:
6.参考文献:
C++程序设计教程(钱能著)
C++面向对象程序设计教程(谭浩强著)
指导老师对实验设计方案的意见:
指导老师签名:
年月日
二、实验报告
1、实验目的、设备与材料、实验内容、实验方法步骤见实验设计方案
2、实验现象、数据及结果:
输入数据:
123451233得到:
3、对实验现象、数据及观察结果的分析与讨论:
1)输入卡号与密码就进入了主界面
2)再按提示输入2就会要你输入取款的数目
3)输入取款数目后会提示你是否继续(Y/S)
4)输入3就会弹出卡的一些信息。
如用户姓名,卡号和余额
5)输入4便退出了系统
4、结论:
此程序包含了几个简单的功能:
取款,修改密码,查询余额等,还提供了用户的一些信息.这个程序简单,容易操作,让人一目了然,输入与输出过程中并没有出现错误。
5、实验总结
1)、本次实验成败之处及其原因分析:
通过这次实验我发现自己的技术不太好,主要是对函数还不是很熟悉,还有对类的运用还要加强。
粗心是我的大敌啊,一个标点或者一个括号有时都让我思绪乱了。
由于自己英语不怎么好,所以一些关键字的拼写有时会有误,以后一定要加强这方面的能力,争取不再在这方面犯错误。
2)、本实验的关键环节及改进措施:
做好本实验需要把握的关键环节:
我个人认为关键环节是类的创建与一些成员函数的调用,还有就是基础函数的运用。
有些地方还应该更简洁.
若重做本实验,为实现预期效果,仪器操作和实验步骤应如何改善:
在设计之前还应该认真全面的分析,站在整个实验的面前分析,使得程序更加完善简洁。
对基础函数一定要非常熟练,对成员函数的调用要更熟悉。
在简单的程序中还可以增添一些附加的功能。
3)、对实验的自我评价:
经过这次实验我学到了很多,仔细认真的思维方式是必不可少的,因为低级错误是可以避免的,所以对一些基础的函数要很熟悉。
在一些新的知识方面我发现它们可以提高效率,所以为了精简程序一定要学好。
这次实验大家都很努力,让我感受到了团结就是力量这句话的含义,大家相互学习共同进步。
这次实验后我了解到了自己的实力,以后我会更加努力学习,学习他人的长处,弥补自己的不足!
指导老师评语及得分:
签名:
年月日
//************************************
//**
//*function。
h*
//**
//************************************
#include
classconsumer;
classATM
//ATM取款机
{
public:
ATM(consumer&cn):
cnsm(cn)
{
}
voidwelcome();
//登陆界面
boolcheck_passwd(charn[],charpwd[]);
//核对密码
voidchange_passwd();
//修改密码
voidfetchmoney();
//取款
voidinformation();
//查询信息
voidexitATM();
//退出系统
voidfunctionshow();
//功能界面
voidlock();
//锁机
private:
inttimes;
//记录密码输入次数
consumer&cnsm;
};
classconsumer
//用户
{
public:
friendclassATM;
consumer(charName[],charNum[],
floatMoney,charPassword[]);
protected:
char*get_name();
//取得姓名
char*get_num();
//取得卡号
char*get_passwd();
//取得密码
floatget_money();
//取得余额
voidset_passwd(charpwd[]);
//设置密码
voidset_money(floatm);
//取钱
private:
charpasswd[8];
//用户密码
charname[20];
//用户姓名
charnum[20];
floatmoney;
};
//************************************
//**
//*consumer类的成员函数*
//**
//************************************
#include”function.h"
#include〈string.h>
consumer:
:
consumer(charName[],
charNum[],floatMoney,charPassword[])
{
strcpy(name,Name);
strcpy(num,Num);
money=Money;
strcpy(passwd,Password);
}
floatconsumer:
:
get_money()
{
returnmoney;
}
char*consumer:
:
get_name()
{
returnname;
}
char*consumer:
:
get_num()
{
returnnum;
}
char*consumer:
:
get_passwd()
{
returnpasswd;
}
voidconsumer:
:
set_money(floatm)
{
money—=m;
}
voidconsumer:
:
set_passwd(charpwd[])
{
strcpy(passwd,pwd);
}
//************************************
//**
//*ATM类的成员函数*
//**
//************************************
#include”function。
h”
#include h> #include〈stdlib。 h> voidATM: : welcome() { times=0; cout〈〈"$ 欢迎使用若雪银行ATM自动取款机! ~! "〈〈endl; charpwd[8],num[20],ch; inti=0; do { i=0; cout< ”; do { cin.get(ch); num[i++]=ch; }while(ch! ='\n’); num[i-1]=’\0'; i=0; cout<<”请输入密码: "; do { cin。 get(ch); pwd[i++]=ch; }while(ch! =’\n’); pwd[i—1]='\0’; if(! check_passwd(num,pwd)) { cout〈〈"你输入的卡号或密码有误, 请重新输入”<〈endl; times++; } else { functionshow(); } }while(times<3); lock(); } boolATM: : check_passwd(charnum[], charpwd[]) { if(strcmp(num,cnsm.get_num())==0&&strcmp (pwd,cnsm.get_passwd())==0) returntrue; else returnfalse; } voidATM: : functionshow() { intn; do { cout〈 "< cout<〈"1)修改密码”<〈endl <〈"2)取款”<〈endl <<”3)查询余额”〈〈endl <<"4)退出系统”〈 cout〈<”$〉\\”; cin>>n; while(n<1||n〉4) { cout<<”请输入正确的操作序号! ”〈〈endl; cout〈<"$>\\"; cin>>n; } switch(n) { case1: change_passwd(); break; case2: fetchmoney(); break; case3: information(); break; case4: exitATM(); break; } }while(true); } voidATM: : change_passwd() { charpwd[8],repwd[8]; times=0; do { cout< "; cin〉〉pwd; if(! check_passwd(cnsm。 get_num(),pwd)) times++; else break; }while(times〈3); if(times==3) lock(); intt=0; do { cout<<"请输入新密码: "; cin>〉pwd; cout<〈”请再输入一次新密码: "; cin>〉repwd; if((t=strcmp(pwd,repwd))! =0) cout〈<”你输入的两次密码不一样, 请重新输入! ”<〈endl; }while(t! =0); cnsm。 set_passwd(pwd); cout〈<"密码修改成功,请牢记! ”〈 } voidATM: : fetchmoney() { floatm; charch; do { cout〈〈endl<〈”你要取多少钱: ” 〈<”\n___FCKpd___1gt;\\"〈〈endl; cin>〉m; while(m〈=0) { cout〈〈"请输入正确的数字! ”< cout<〈”$>\\”; cin>〉m; } if(cnsm。 get_money()—m<0) { cout<<"对不起,你的余额不足! ” 〈 } else { cout<〈endl〈〈"操作成功,请收好钱! ” 〈〈endl; cnsm。 set_money(m); } cout<〈”是否要继续该项操作: (Y/N)” <〈endl; cout<<"$>\\"; cin〉〉ch; while(ch! =’n’&&ch! =’N'&&ch! ='Y’&&ch! =’y’) { cout〈<"$>\\”; cin〉>ch; } }while(ch=='y'||ch==’Y’); } voidATM: : information() { cout〈〈”**********************************”< cout<<"*”〈〈endl; cout<<"*用户姓名: ”〈〈cnsm。 get_name()<〈endl; cout〈〈”*卡号: "< get_num()<〈endl; cout<〈”*余额: ”〈 cout〈〈”**********************************”< } voidATM: : lock() { cout〈〈endl〈〈"对不起,由于你的操作有误, 你的卡已经被没收! ”〈〈endl; exit (1); } voidATM: : exitATM() { cout< 欢迎下次光临! "< cout〈<”请取卡……"< exit(0); } //************************************ //** //*ATM.cpp* //** //************************************ #include h〉 #include"function.h" voidmain() { consumerc1("jim”,”12345",5200.3f,”123”); //先构造一个用户 ATMatm(c1); atm。 welcome(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 语言 综合性 设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)