| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2694 人关注过本帖
标题:[求助]如何用C++程序模拟一个简单功能的ATM信用卡交易系统!
只看楼主 加入收藏
logoto188
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-17
收藏
 问题点数:0 回复次数:12 
[求助]如何用C++程序模拟一个简单功能的ATM信用卡交易系统!
本人是一个非计算机专业的大二学生,本学期开了C++程序设计基础这门课,老师讲的太快了,我实在是听不懂,只好请各位高手们帮帮忙了!
老师给我们留了一个C++的程序设计题:要求用"类"和"对象"来模拟实现"ATM存取系统"
具体要求如下:
       实现的功能包括:1.登陆系统时要求输入密码(4位),且要求密码以"*"号显示,如果密码输入错误并大于3次就退出系统!
               2.成功登陆系统后屏幕显示"余额查询"/"存款"/"取款"三个选项
               3. 要求在进行"查询"和"存取款"后屏幕要有显示(帐目要有变化)   

本人以前没有学过编程,所以不知从哪里下手才能把程序编出来!希望哪位C++高手帮我一下,提供一个C++程序源代码,本人万分感谢!

[此贴子已经被作者于2007-5-17 22:36:47编辑过]

搜索更多相关主题的帖子: 信用卡 ATM 系统 
2007-05-17 19:28
logoto188
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-17
收藏
得分:0 

  我的邮箱:sk01@eyou.com



以下这段代码只能实现金额的显示,其他的功能就没办法实现了, 希望大家帮帮忙,本人万分感谢了!!!

#include<iostream.h>
#include<string.h>
#define max 100
class Card
{
int top; //当前记录位置标记
char date[max][11]; //每次交易的日期记录
int money[max]; //记录每次交易金额
int rest[max]; //记录每次交易后的余额
static int sum; // 静态数据成员,记录累计余额
public:
Card() {top=0;}
void Cardin(char d[],int m)
{
strcpy(date[top],d);
money[top]=m;
sum+=m;
rest[top]=sum;
top++;
}
void Cardout(char d[],int m)
{
if(sum>=m)
{
strcpy(date[top],d);
money[top]=-m;
sum-=m;
rest[top]=sum;
top++;
}
else
cout<<"警告:"<<d<<"交易失败!您的户面余额已不足!请续存!"<<endl;
}
void disp()
{
int i;
cout<<" 日期 存入 取出 余额"<<'\n';
for(i=0;i<top;i++)
{
cout.width(10);
cout<<date[i];
if (money[i]<0)
{
cout.width(13);
cout<<-money[i];
cout.width(9);
cout<<rest[i]<<endl;
}
else
{
cout.width(6);
cout<<money[i];
cout.width(16);
cout<<rest[i]<<endl;
}
}
cout<<"您的帐户余额为:"<<sum<<endl;
}
};
int Card::sum=0;
void main()
{
Card obj;
obj.Cardin("2006.2.5",1000);
obj.Cardin("2006.12.15",2000);
obj.Cardout("2007.1.5",500);
obj.Cardout("2007.3.5",400);
obj.Cardout("2007.5.15",3000);
obj.disp();
}

[此贴子已经被作者于2007-5-17 22:29:58编辑过]

2007-05-17 21:44
logoto188
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-17
收藏
得分:0 

各位高手,大家帮帮忙啊!

2007-05-18 11:32
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

给你一段代码~~~
只有些基本功能,其余功能你可以自己补写   

#include<iostream>
#include<string>
#include<conio.h>
using namespace std;
static int money=1000;
//********************************************************************
int input_code() //密码输入验证函数
{
char ch;
char b[100];
char code[100]="code";

for(int j=2;j>=0;j--)
{
ch=0;
cout<<"\n请输入密码!"<<endl;
for(int i=0;ch!=13;i++)
{
ch=getch();
if(ch==8)
{
cout<<char(8)<<" "<<char(8);
b[i]=0;
if(i!=0)
{
i=i-2;
}
}
else if(ch==13)
{
b[i]='\0';
break;
}

else
{
cout<<"*";
b[i]=ch;
}
}


if(strcmp(b,code)==0)
{
cout<<"密码正确!"<<endl;
break;
}
else
{
cout<<"\n密码错误!请重新输入"<<endl;
cout<<"你还有"<<j<<"次机会!\n"<<endl;
system("pause");
system("cls");
}
}
if(j==-1)
{
cout<<"你输入的次数已达3次,系统将自动退出!"<<endl;
return 0;
}
else
{
return 1;
}
}

//*************************************************
void ATM_system(const int choice)
{
int money_save,money_take;
int i=choice;
if(i==1)
{
if(money>0)
{
cout<<"你的余额还有"<<money<<"完!"<<endl;
}
else
{
cout<<"警告,你的余额已不多,请及时冲值!"<<endl;
}
}
if(i==2)
{
cout<<"请问你需要存储多少钱?"<<endl;
cin>>money_save;
while(money_save<=0)
{
cout<<"你的输入有误!请重新输入"<<endl;
cin>>money_save;
}
money=money+money_save;

cout<<"你的资金已注入!\n";
}

if(i==3)
{
cout<<"请问你需要取出多少钱?"<<endl;
cin>>money_take;
while(money_take<=0)
{
cout<<"你的输入有误!请重新输入"<<endl;
cin>>money_take;
}
if(money_take<=money)
{
money=money-money_take;
cout<<"取款成功!"<<endl;
}
else
{
cout<<"你的资金不足以取款!"<<endl;
}
}
}

//*************************************************


void main()
{
char ch;
int choice;
int con=1;
cout<<"欢迎使用ATM信用卡系统!"<<endl;
con=input_code();
if(con==0)
{
cout<<"谢谢使用,再见!"<<endl;
}
else
{
while(1)
{
cout<<"请问你需要什么服务?"<<endl;
cout<<"1.余额查询\n";
cout<<"2.存款\n";
cout<<"3.取款\n";
cin>>choice;
if(choice!=1&&choice!=2&&choice!=3)
{
cout<<"错误输入,重新输入!"<<endl;
continue;
}
ATM_system(choice);
getch();
system("cls");
cout<<"请问还需要其它服务吗?(Y or N)"<<endl;
cin>>ch;
if(ch=='y'||ch=='Y') continue;
else
{
cout<<"谢谢使用,再见!"<<endl;
break;
}
}
}


}


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-19 16:44
raulxxyuer
Rank: 1
等 级:新手上路
威 望:1
帖 子:178
专家分:0
注 册:2007-4-23
收藏
得分:0 
system("cls");C++原来就这个函数呀!

我很沒用,總是學不會遺忘,總是學不會割捨本不屬於我的東西。
2007-05-19 17:39
logoto188
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-5-17
收藏
得分:0 
谢谢4楼的这位朋友,程序我已经测试过了,没有发现问题,可以正常运行.

这个程序已经能够满足我的需要了,我很佩服4楼的这位朋友,万分感谢了!
2007-05-19 22:53
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
初始密码是什么啊?

论坛是我家灌水靠大家
2007-05-19 23:00
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
哦,找到了,code

论坛是我家灌水靠大家
2007-05-19 23:05
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
这个存钱的机,要改改啊,如果是 比尔·盖茨 存钱,那你的这个存钱机就得死循环喽。

论坛是我家灌水靠大家
2007-05-19 23:10
blueseasons
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-5-20
收藏
得分:0 
回复:(logoto188)[求助]如何用C++程序模拟一个简单...

本人觉得用switch语句比较好。
可以几句就行了,,case1 case2来写。。不过今天没时间。。
不好意思了。。

2007-05-20 16:12
快速回复:[求助]如何用C++程序模拟一个简单功能的ATM信用卡交易系统!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018939 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved