导航:首页 > 编程语言 > c语言atm机编程取款代码

c语言atm机编程取款代码

发布时间:2023-02-01 09:56:24

㈠ 用c语言编写ATM自动取款机 不要c++的

既然是银行类,那么C++也可以吧。
今天写了一个,时间少,写的比较粗糙,但基本功能都有。
写了一个Account(帐户)类,实现创建帐户,对存款进行操作,保存帐户和打开帐户等。

Account类的头文件

//Account.h

#ifndef ACCOUNT_H_
#define ACCOUNT_H_

#include <string>
using std::string;
class Account
{
private:
string name; //帐户名
string password; //密码
int deposit; //存款
bool modify; //帐户是否被修改
public:
Account();
Account(string na, string psw, int dps);
~Account();
bool openAccount(string accName); //从文件打开帐户
bool saveAccount(); //将帐户保存到文件
bool land(string psw); //帐户登录
bool saving(int money); //存款
bool fetch(int money); //取款
void showBalance(); //显示余额
};
#endif

Account类的实现,在Account.cpp文件中

//Account.cpp
#include <iostream>
#include <fstream>
#include <string>
#include "Account.h"

using namespace std;

Account::Account()
{
name = "";
password = "";
deposit = 0;
}
Account::Account(string na, string psw, int dps)
{
name = na;
password = psw;
deposit = dps;
}

Account::~Account()
{
}

bool Account::openAccount(string accName)
{
ifstream fin(accName.c_str(), ios_base::in);
if(!fin.is_open())
{
std::cout<<"打开帐户错误,请检查是否有该帐户!"<<std::endl;
return false;
}
fin>>name;
fin>>password;
fin>>deposit;
fin.close();
return true;
}

bool Account::saveAccount()
{
if(modify == false)
return true;
ofstream fout;
fout.open(name.c_str(), ios_base::out);
if(!fout.is_open())
{
std::cout<<"保存帐户错误,不能创建文件!"<<std::endl;
return false;
}
if(name=="")
{
std::cout<<"帐户为空,不能保存!"<<std::endl;
return false;
}
fout<<name<<std::endl;
fout<<password<<std::endl;
fout<<deposit<<std::endl;
fout.close();
return true;
}

bool Account::land(string psw)
{
if(psw == password)
return true;
else
return false;
}

bool Account::saving(int money)
{
if(money<=0)
{
std::cout<<"错误!存入款额不能小于等于0!"<<std::endl;
return false;
}
deposit += money;
modify = true;
return true;
}

bool Account::fetch(int money)
{
if(money<=0)
{
std::cout<<"错误!取出款额不能小于等于0!"<<std::endl;
return false;
}
else if(money<=deposit)
{
deposit -= money;
modify = true;
return true;
}
else if((money - deposit)<=2000)
{
deposit -= money;
std::cout<<"您的帐户已透支,透支额为:"<<-deposit<<"元"<<std::endl;
modify = true;
return true;
}
else
{
std::cout<<"错误!取款超过允许透支额!"<<std::endl;
return false;
}
}

void Account::showBalance()
{
std::cout<<"您目前的帐户存款余额为 "<<deposit<<" 元"<<std::endl;
}

说明:
bool saveAccount()以帐户名为文件名,以文本格式,保存帐户名、密码、存款信息,保存的文件没有扩展名,但可以用记事本打开。

至于主程序文件,由于网络限制,不能贴出来,我用网络的消息发送给你。

㈡ 我用c语言编的ATM取款机程序,无法实现循环使用,请大家帮忙

#include<stdio.h>
#include<windows.h>
#include<string.h>
void main()
{
long int t=123456,i=0,sum=1000,m=0;
char s[20]={0},s2[20]={0};
/**********插卡、输入密码*********/
for(;;)//设置死循环,直到执行break跳出循环
{
printf("欢迎,请插卡");
scanf("%s",&s);
if(strcmp("中国银行",s)==0)
{
printf("请输入密码\n");
break;
}
else
{
printf("您插入的卡有误,请重新插卡\n");
system("cls");//清屏
}
}
for(;;)
{
scanf("%ld",&t);
if(t==123456)break;
else
{
printf("密码错误");
system("cls");
}
}
/**********************************/
/*********实现相应的功能**************/
system("cls");
for(;;)
{
printf("请问您是要查询,取款还是退出?");
scanf("%s",&s2);
if(strcmp("查询",s2)==0)
printf("余额为%d\n",sum);
else if(strcmp("取款",s2)==0)
{
printf("请输入整数取款金额\n");
scanf("%ld",&m);
if(m<=sum)
sum=sum-m;
else
{
m=0,printf("余额不足,请去银行充值");
}
printf("已取款%d,余额%d",m,sum);
}
else if(strcmp("退出",s2)==0)
{
printf("谢谢使用!");
break;
}
else printf("输入错误,请5秒后重新输入!\n");
Sleep(5000);//5秒后执行
system("cls");
}
/*******************************/
system("pause");
}

㈢ 怎样用c语言编写ATM系统

#include<stdio.h>
#include<string.h>
void print_welcome();
int main()
{
print_welcome();
char c[11]="1234567890",d[7]="123456";
char a[20],b[20];
char p,q;
int h=0,i=0,j=0,k,l=0;
do
{
printf("请输入账号:\n");
gets(a);
printf("请输入密码:\n");
gets(b);
if(strcmp(c,a)==0&&strcmp(d,b)==0)
{
printf("账号正确 欢迎使用\n");
h++;
}
else
printf("账号或密码错误请重新输入\n");
}while(h!=1);
do
{
print_welcome();
retrn:
printf("请选择对应的字母\n");
printf(" a存款业务 \n");
printf(" b余额查询\n");
printf(" c资金转账\n");
printf(" d取款业务\n");
printf(" e退卡\n");
printf("请选择您要办理的业务\n");
scanf("%c",&p);
getchar();
switch(p)
{
case'a':printf(" 存款业务\n");
printf("**本服务暂停 请重新选择**\n");
break;
case'b':
printf(" 余额查询\n");
printf("**您的余额为 ¥9999999\n请重新选择**\n");
break;
case'c':
printf(" 资金转账\n");
printf("**您的银行卡不支持该业务 请重新选择**\n");
break;
case'd':
printf(" 取款业务\n");
do
{
printf("请选择您要取款的金额\n**请输入序号\n**请您注意每位用户每天只能去20000 每次最多取2500\n");
printf(" r 100\n");
printf(" s 200\n");
printf(" t 500\n");
printf(" u 1000\n");
printf(" v 2000\n");
printf(" w 其他\n");
printf(" x 返回\n");
printf("请选择要取的金额\n");
scanf("%c",&q);
getchar();
switch(q)
{
case'r':printf("**取款成功 金额为100元**");goto retrn;break;
case's':printf("**取款成功 金额为200元**");goto retrn;break;
case't':printf("**取款成功 金额为500元**");goto retrn;break;
case'u':printf("**取款成功 金额为1000元**");goto retrn;break;
case'v':printf("**取款成功 金额为2000元**");goto retrn;break;
case'w':printf("**请输入你想取出的金额**\n**并保证是100的倍数\n");
while(l!=1)
{
scanf("%d",&k);
getchar();
if(k%100==0&&k>=0&&k<=2500)
{
printf("您取出的金额%d元\n",k);
l++;
goto retrn;
}
else
{
printf("您输入的面额有误请重新输入\n");
printf("请您保证为100的倍数\n");
}
}
break;
case'x':goto retrn;break;
default:printf("**操作有误请从新输入**");
j++;
}
}while(j!=1);
break;
case'e':
printf("**欢迎您的使用 请勿忘取卡**\n");
i++;
break;
default:printf("**操作有误请从新输入**\n");
}
}while(i!=1);
print_welcome();
return 0;
}
void print_welcome()
{
printf(" **欢迎使用**\n");
}

㈣ c语言ATM取款机怎么做 ,得输入密码的那种

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<conio.h>
void
sys(const
char
*ex)
{
printf(ex);
fflush(stdin);
getch();
}
struct
atm
{
float
money;
char
card[20];
char
pass[20];
};
struct
atm
*creat()
{
struct
atm
*p;
p=(struct
atm
*)malloc(sizeof(struct
atm));
printf("请输入密码:");
gets(p->pass);getchar();
printf("请输入卡号:");
gets(p->card);getchar();
printf("卡号为=%s,密码为=%s\n",p->card,p->pass);
printf("请输入预存款金额:");
scanf("%f",&p->money);
return
p;
}
struct
atm
*qukuan(struct
atm
*p)
{
float
money;
printf("请输入取款金额:");
scanf("%f",&money);
if(money>p->money){printf("余额不足!\n");return
p;}
p->money-=money;
return
p;
}
void
print(struct
atm
*p)
{
printf("当前余额为%.2f,可取款金额为%d\n",p->money,floor(p->money)/100);
}
int
yanzheng(struct
atm
*p)
{
char
pass[20];
printf("你好,请输入密码:");
gets(pass);
if(strcmp(pass,p->pass)==0)
return
1;
return
0;
}
void
main()
{
struct
atm
*p;
int
t=0;
p=creat();
do
t++;
while(!yanzheng(p)&&t<3);
if(t==3){printf("密码连续三次输入错误,退出程序!\n");return
1;}
while(1)
{
system("cls");
printf("****欢迎您使用ATM取款机!****\n");
printf("1:\t取款\n");
printf("2:\t查看余额\n");
printf("0:\t退出\n");
printf("请选择:");
scanf("%d",&t);
fflush(stdin);
switch(t)
{
case
1:qukuan(p);break;
case
2:print(p);break;
}
if(!t)
{
sys("请按任意键退出...");
break;
}
sys("请按任意键返回...");
}
}

㈤ 用c语言编写ATM的程序,实现开户、存款、取款、查询余额、转账的业务逻辑。

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

void regist();
void login();
void quite();
void inputpassword(char mima[]);
void service();

struct bank
{
char name[20];
char password[7];
int account;
double money;
}kehu;

int find;
int a[10];
struct bank one;
FILE *fp;

void main()
{
int i;
int t=1;
for(i=0;i<100;i++)
{
printf("\t\t\t\t\t\t欢迎使用青软ATM系统\n");
printf("\t\t\t\t\t\t正在进入主界面,请稍等");
int j;
for(j=1;j<t;j++)
{
printf(".");
}
t++;
if(t==10)
{
t=1;
}
printf("\n\t\t\t\t\t\t%d%%",i);
system("cls");
}

while(1)
{

printf("\t\t\t\t\t\t服务类型: \n");
printf("\t\t\t\t\t\t[a]: 用户注册\n");
printf("\t\t\t\t\t\t[b]: 用户登录\n");
printf("\t\t\t\t\t\t[c]: 退出系统\n");
printf("\t\t\t\t\t\t请选择服务: ");

fflush(stdin);
char xz;
scanf("%c",&xz);
if(xz=='a'||xz=='A')
{
regist();
} else if (xz=='b'||xz=='B')
{
login();
} else if(xz=='c'||xz=='C')
{
quite();
} else
{
printf("输入有误,请重新输入");
}
getch();
system("cls");

}

}

void inputpassword(char mima[])
{
int i=0;
char ch;
while(1)
{
ch=getch();
if(ch!='\r')
{
if(ch!='\b'){
mima[i]=ch;
i++;
printf("*");
}else{
if(i>0){
i--;
printf("\b \b");
}
}
}else{
break;
}
}
mima[i]='\0';
printf("\n");

}

void regist()
{
fp=fopen("atm.txt","ab+");
if(fp==NULL)
{
printf("\n\t\t\t文件打开失败!");
return;
}

system("cls");
printf("\t\t\t现在执行的是注册函数的使用\n");
printf("\t\t请输入用户名: ");
fflush(stdin);
gets(kehu.name);
char password1[7];
while(1)
{
while(1)
{
printf("\n\n\t\t请输入密码:");
fflush(stdin);
inputpassword(kehu.password);
int n=strlen(kehu.password);
if(n==6)
{
break;
}else
{
printf("\n\t\t密码必须为6位!");
}

}
printf("\n\t\t请输入正确密码!: ");
fflush(stdin);
inputpassword(password1);
if(strcmp(kehu.password,password1)==0)
{
break;
}else{
printf("\n\n\t\t两次密码必须相同!");
}
}

rewind(fp);
struct bank k;
if(fread(&k,sizeof(struct bank),1,fp)==1)
{
fseek(fp,-sizeof(k),2);
fread(&k,sizeof(k),1,fp);
kehu.account=k.account+1;

}else{
kehu.account=20170001;
}

kehu.money=0;
fseek(fp,0,2);
fwrite(&kehu,sizeof(struct bank),1,fp);

fclose(fp);
printf("\n\n\t\t开户成功! ");
printf("\n\t\t您的账号为%d!",kehu.account);
printf("\n\t\t现在请您重新登录!");
}

void searchmoney()
{
system("cls");
printf("您现在使用的是查询余额功能: \n");
printf("\n\n\t\t您的余额是%0.2lf",one.money);

}

void savemoney()
{
system("cls");
double inmoney;
printf("请您选择您要存款的金额 \n");
scanf("%lf",&inmoney);

int q;
int r=1;
for(q=0;q<100;q++)
{
int w;
for(w=1;w<r;w++)
{
printf(".");
}
r++;
if(r==10)
{
r=1;
}
printf("\n\t\t\t\t\t\t正在存款%d%%",q);
system("cls");
}

one.money=one.money+inmoney;
fseek(fp,-sizeof(one),1);
fwrite(&one,sizeof(one),1,fp);
printf("\n\n\t\t\t\t\t\t您已存款成功!");
}

void withdrawalmoney()
{

system("cls");
double outputsomemoney;
printf("请您选择您要取款的金额 \n");
scanf("%lf",&outputsomemoney);
if(one.money<outputsomemoney){
printf("您的余额已不足,请您注意!");
}else {

int q;
int r=1;
for(q=0;q<100;q++)
{
int w;
for(w=1;w<r;w++)
{
printf(".");
}
r++;
if(r==10)
{
r=1;
}
printf("\n\t\t\t\t\t\t正在取款%d%%",q);
system("cls");
}
one.money=one.money-outputsomemoney;

fseek(fp,-sizeof(one),1);
fwrite(&one,sizeof(one),1,fp);

printf("\n\n\t\t\t\t\t\t您已取款成功!请点清钞票!");
printf("\n\n\t\t\t\t\t\t您现在的余额为%lf",one.money);
}
}

void transfermoney()
{
system("cls");
int ifang;
int qian;
fflush(stdin);
printf("\n\n\n\t\t您现在使用的是转账功能");
printf("\n\t\t\t请输入您要转账的账户:");
scanf("%d",&ifang);

int n=ftell(fp);
rewind(fp);

int flag=0;
struct bank temp;

while(fread(&temp,sizeof(temp),1,fp)==1)
{
if(temp.account==ifang)
{
flag=1;
break;
}
}

if(flag==1)
{
printf("请输入转账金额:");
scanf("%d",&qian);
if(one.money>=qian)
{
int q;
int r=1;
for(q=0;q<100;q++)
{
int w;
for(w=1;w<r;w++)
{
printf(".");
}
r++;
if(r==10)
{
r=1;
}
printf("\n\t\t\t\t\t\t正在转账,请稍后!%d%%",q);
system("cls");
}
temp.money=temp.money+qian;

fseek(fp,-sizeof(temp),1);
fwrite(&temp,sizeof(temp),1,fp);
one.money=one.money-qian;
fseek(fp,n-sizeof(one),0);
fwrite(&one,sizeof(one),1,fp);

printf("\n\t\t\t\t转账成功!");
}else{
printf("\n\t\t\t\t您的余额已不足!");
}
}

}

void xiugai(){
system("cls");
printf("\n\n\t\t 现在进行的是修改密码功能\n");
char oldpassword[7];
char newpassword[7];
char newpassword1[7];
int i;
for(i=0;i<3;i++){
printf("\n\t\t\t 请输入旧密码:\n");
inputpassword(oldpassword);
if(strcmp(oldpassword,one.password)==0){
printf("\n\t\t\t 输入成功!\n");
break;
}else{
printf("\n\t\t\t 密码输入有误,请重新输入!\n");
}
}
if(i<3){
while(1){
printf("\n\t\t\t 请输入您的新密码:\n");
inputpassword(newpassword);
printf("\n\t\t\t 请输入您的确认密码:\n ");
inputpassword(newpassword1);
if(strcmp(newpassword,newpassword1)==0){
strcpy(one.password,newpassword);

fseek(fp,-sizeof(one),1);
fwrite(&one,sizeof(one),1,fp);

printf("\n\t\t\t 密码修改成功!");
break;
}else{
printf("\n\t\t\t 两次密码输入不一致!");
}
}
}else{
printf("\n\t\t\t 密码输入错误!");
}
}

int zhuxiaozhanghao()
{
system("cls");
int zhuxiaoxitong;
char sf;
printf("你要注销的账号是%d",one.account);
printf("你是否要对此账号进行注销?\n\n\t\t请您选择:注销(Y)or不注销(N):");
fflush(stdin);
scanf("%c",&sf);
if(sf=='y'||sf=='Y')
{
printf("正在为您注销!\n",one.account);
zhuxiaoxitong=1;
}else{
printf("不注销系统!\n",one.account);
}
return zhuxiaoxitong;

}

void service()
{

while(1){
system("cls");

printf("\n\n\n\t\t\t\t\t\t现在是服务系统,本系统有以下服务");
printf("\n\t\t\t\t\t\t[a] 查询余额\n");
printf("\n\t\t\t\t\t\t[b] 存款服务\n");
printf("\n\t\t\t\t\t\t[c] 转账服务\n");
printf("\n\t\t\t\t\t\t[d] 取款服务\n");
printf("\n\t\t\t\t\t\t[e] 修改密码\n");
printf("\n\t\t\t\t\t\t[f] 注销 \n");
printf("\n\t\t\t\t\t\t[g] 退出系统\n");
char e;
printf("\n\t\t\t\t\t\t您要选择的服务是:");
fflush(stdin);
scanf("%c",&e);

switch(e)
{ case'A':
case'a': searchmoney() ;break;
case'B':
case'b': savemoney() ;break;
case'C':
case'c': transfermoney() ;break;
case'D':
case'd': withdrawalmoney() ;break;
case'E':
case'e': xiugai() ;break;
case'F':
case'f': {int zhuxiaoxitong=zhuxiaozhanghao();{if(zhuxiaoxitong==1) return;}break;}
case'G':
case'g': quite();break;
}
printf("\n\n\n\t\t\t\t按任意键继续......\n");
getch();
}
}

void login()
{
fp=fopen("atm.txt","rb+");
if(fp==NULL)
{
printf("\n\n\n\t\t\t\t文件打开失败!");
return;
}

system("cls");
printf("\n\t\t\t\t\t\t现在执行的是登录函数的使用\n");
int zhanghao;

printf("\n\t\t\t\t\t\t请输入账号:");
scanf("%d",&zhanghao);
int flag=0;

while(fread(&one,sizeof(one),1,fp)==1)
{
if(zhanghao==one.account){
flag=1;
break;
}
}
char password2[7];

if(flag==1){
int h;
for(h=0;h<3;h++){
printf("\n\t\t\t\t\t\t请输入密码:");
fflush(stdin);
inputpassword(password2);
if(strcmp(password2,one.password)==0)
{
printf("\n\t\t\t\t\t\t登陆成功!");
service();
break;
}else{
printf("密码不正确!");
}
}
if(h==3){
printf("\n\t\t\t您的密码三次输入有误,返回");
}
}else{
printf("无此账号!");
}
fclose(fp);
}

void quite()
{

system("cls");
printf("\t\t\t现在执行的是退出函数的使用\n");
exit(0);
}

㈥ 用C语言怎么编写ATM机的程序

把“clrscr();”改为 system("cls");

㈦ 用C语言模拟ATM机工作流程编程

#include
"stdio.h"对ATM机器的模拟就是一个对队列的模拟下面代码在VC6环境下调试已经通过了其中有个缺陷就是因为代码执行速度过快导致二次执行根据时间随机出来的数字都是一样的因此你可以自己加上一个延迟子程序部分功能已经注释了#include
"stdlib.h"#include
"time.h"#define
OK
1#define
ERROR
0
typedef
struct
node{
int
number;
struct
node*
next;}*Lnode;
typedef
struct
list{
node
*head,*rear;}*Plist;
//模拟
ATM开业bool
ListInit(Plist
list){
Lnode
p;
p
=
(Lnode)malloc(sizeof(Lnode));
list->head
=
p;
list->rear
=
list->head;
list->head->next
=
NULL;
if(list->head!=NULL)
return
ERROR;
else
return
OK;}
//模拟
有客户排队bool
ListInsert(Plist
list,int
number){
Lnode
p;
p
=
(Lnode)malloc(sizeof(Lnode));
if(p==NULL)
return
ERROR;
else
{
p->number
=
number;
p->next
=
NULL;
list->rear->next
=
p;
list->rear
=
p;
return
OK;
}}
//模拟
客户办完事离开bool
ListDelete(Plist
list){
Lnode
p;
if(list->head
==list->rear)
return
ERROR;
else
{
p
=
list->head->next;
list->head->next
=
p->next;
list->rear
=
list->head;
//
free(p);
return
OK;
}}
void
sand(int*
gettime,int*
needtime){
srand(time(NULL))
;
*gettime
=
rand()%100;
srand(time(NULL))
;
*needtime
=rand()%100;}
//模拟客户到达事件void
CustomerArrived(Plist
list,int
gettime,int
needtime,int
kehu,int
time){
int
nextgettime,nextneedtime;
sand(&nextgettime,&nextneedtime);
while(needtime>0
&&
nextgettime>0
&&
time>0)
{
needtime
--;
nextgettime
--;
time
--;
}
if(nextgettime
==
0
&&
needtime>0
&&time>0)
{
kehu++;
ListInsert(list,kehu);
while(needtime>0
&&
time>0)
{
needtime--;
time
--;
}
ListDelete(list);
CustomerArrived(list,nextgettime,nextneedtime,kehu,time);
}
if(needtime
==0
&&
nextgettime>0
&&
time>0)
{
ListDelete(list);
while(nextgettime>0
&&
time>0)
{
nextgettime--;
time
--;
}
kehu++;
ListInsert(list,kehu);
//未删除
,list未传递进去
CustomerArrived(list,nextgettime,nextneedtime,kehu,time);
}
if(time
==0)
{
printf("ATM关门,请明天在来!\n");
return;
}}
main(){
list
list;
int
i
=
10000;
//ATM机器每天工作时间
int
kehu
=
0;
//客户标号
int
gettime,needtime;
ListInit(&list);
//ATM开业
sand(&gettime,&needtime);
ListInsert(&list,kehu);
CustomerArrived(&list,gettime,needtime,kehu,i);
getchar();
}

㈧ 用C语言一个ATM取款机的程序代码(用循环语句)

/*初始密码和账号都为:123456 */
#include<stdio.h>
int chaxun(int a3)
{
int b;
b=a3;
printf("你的余额为:%d\n",b) ;

}
int qukuan(int a3)
{
int a,b;
printf("请输入您要提取的现金:\n");
scanf("%d",&a);
b=a3-a;
if(b<0)
printf("对不起 ,你的余额不足\n");
else
{
printf("请收好您的%d元现金\n",a);
a3=a3-a;
}
return (a3);
}
int gaini(int a2)
{
int a,b,c=1,d,e=1;
while(e)
{
printf("请输入你的旧密码:\n");
scanf("%d",&d);
if(d==a2)
e=0;
else
{
e=1;
printf("你输入的密码错误,请重新输入:\n");
}
}
while(c)
{
printf("请输入您的六位数新密码\n");
scanf("%d",&a2);
printf("请确认您的六位数新密码\n");
scanf("%d",&b);
if(a2==b)
{
if(b>100000&&b<999999&&b/(b/100000)!=111111)
{
c=0;
printf("密码修改成功\n");
}
else
{
printf("您输入的密码不符合要求,请从新输入\n");
c=1;

}
}
else
{
c=1;
printf("您两次输入的密码不一致,请重新输入:\n");
}

}
return a2;
}
int quka()
{
printf("\n 梦若保保提醒您\n");
printf("请收好您的卡片,谢谢,再见\n\n");
}
int cunkuan(int a3)
{
int i,j,k;
printf("请输入你要存的金额\n");
scanf("%d",&k);
if(k<0)
{
printf("对不起,没有负存款\n");
}
else
{
printf("\n您好,您已经存进去了%d元\n",k);
a3=a3+k;
}
return a3;
}

main()
{
int i,j,b=1,c,k,l,m,n;
int a1=123456,a2=123456,a3=1000;
printf("欢迎使用自动柜员机:\n\n");
while(b==1)
{
printf("请输入您的账号:\n");
scanf("%d",&k);
printf("请输入您的密码:\n");
scanf("%d",&l);
if(k==a1&&l==a2)
{
b=0;
printf("您的账户余额为:%d\n",a3);
}
else
{
b=1;
printf("对不起,您输入的账号或者密码有误,请重新输入:\n");
}
}
do
{
printf("\n请选择您要的服务项目:\n");
printf("1.查询余额\n");
printf("2.取款\n");
printf("3.修改密码\n");
printf("4.取卡\n");
printf("5.存款\n");
scanf("%d",&c);
switch(c)
{
case 1:
chaxun(a3);
break;
case 2:
a3=qukuan(a3);
break;
case 3:
a2=gaini(a2);
break;
case 4:
quka();
break;
case 5:
a3=cunkuan(a3);
break;
}
}while(c!=4);

}

㈨ 怎样用c语言编写ATM系统

真正的ATM系统不可能只是用C语言编写的,它应该是一套完整独立的系统,核心代码更机密,不会轻易的泄露。

C语言可以写一个类似于ATM系统的框架,用以模拟ATM机上的各种操作。

框架代码如下:

#include<iostream.h>
#include<stdio.h>

intmain()
{
intchoice=-1;

while(1){
printf("请选择 1.login 2.regist ");
scanf("%d",&choice);
switch(choice){
case1:
login();
break;
case2:
regist();
break;
default:
printf("输入有误,重新输入 ");
break;
}
}
return0;
}

voidlogin(){
printf("INLOGIN ");
intflag=-1;
intX=-1;
printf("输入账户和密码 ");
flag=search();
if(falg==1){
printf("存在,进入主页面 ");
X=menu();
if(X==1)
return;
}
elseif(flag==0){
printf("账户或密码错误 ");
return;
}
}

intregist(){
printf("INREGIST ");
return1;
}

intmenu(){
printf("INMENU ");
intkey=-1;
intN=-1;
while(1){
printf("请选择业务:1.refer 2.deposit 3.withdraw 4.transfer 5.resetPW 6.退出 ");
scanf("%d",&key);
switch(key){
case1:
N=refer();
break;
case2:
N=deposit();
break;
case3:
N=withdraw();
break;
case4:
N=transfer();
break;
case5:
N=resetPW();
break;
case6:
N=6;
return1;
break;
default:
printf("输入有误,重新选择: ");
break;
}
if(N%2==0){
printf("Error! ");
}
}
}

intrefer(){
printf("INREFER ");
//输出余额
return1;
}

intdeposit(){
printf("INDEPOSIT ");
//存钱
return3;
}

intwithdraw(){
printf("INWITHDRAW ");
//取钱
return5;
}

inttransfer(){
ptintf("INTRANSFER ");
//转账
return7;
}

intresetPW(){
prtintf("INRESETPW ");
//重设密码
return9;
}

㈩ 在C语言中ATM自动取款机的功能程序怎么写啊

#include<stdio.h>
void main()
{
char SelectKey,CreditMoney,DebitMoney;
while(1)
{
do{
clrscr();
puts("Please select key:");
puts("1.Quary");
puts("2.Credit");
puts("3.Debit");
puts("4.Return");
SelectKey=getch();
}while(SelectKey!='1'&&SelectKey!='2'&&SelectKey!='3'&&SelectKey!='4');
switch(SelectKey)
{
case'1':
clrscr();
puts("Your balance is $1000");
getch();
break;
case'2':
do{
clrscr();
puts("Please select Credit money:");
puts("1.$50");
puts("2.$100");
puts("3.Return");
CreditMoney=getch();
}while(CreditMoney!='1'&&CreditMoney!='2'&&CreditMoney!='3');
switch(CreditMoney)
{
case'1':
clrscr();
puts("Your Credit money is $50,Thank you!");
getch();
break;
case'2':
clrscr();
puts("Your Credit money is $100,Thank you!");
getch();
break;
case'3':
break;
}
break;
case'3':
do{
clrscr();
puts("Please select Debit money:");
puts("1.$50");
puts("2.$100");
puts("3.$500");
puts("4.$1000");
puts("5.Return");
DebitMoney=getch();
}while(DebitMoney!='1'&&DebitMoney!='2'&&DebitMoney!='3'&&DebitMoney!='4'&&DebitMoney!='5');
switch(DebitMoney)
{
case'1':
clrscr();
puts("Your Debit money is $50,Thank you!");
getch();
break;
case'2':
clrscr();
puts("Your Debit money is $100,Thank you!");
getch();
break;
case'3':
clrscr();
puts("Your Debit money is $500,Thank you!");
getch();
break;
case'4':
clrscr();
puts("Your Debit money is $1000,Thank you!");
getch();
break;
case'5':
break;
}
break;
case'4':
return;
}
}
}

几个小错误而已...比如忘了写双撇号,switch写错了...还有!= 忘了写! 等等.. 以上程序可以运行了

阅读全文

与c语言atm机编程取款代码相关的资料

热点内容
戴拿奥特曼客串过的电影 浏览:403
学金融工资高还是学程序员 浏览:528
有一个外国电影大家躲在超市里 浏览:134
60分钟在线观看 浏览:680
营销系统源码有哪些 浏览:543
图片导航网站源码 浏览:737
linux开启终端 浏览:663
日本爱 浏览:818
云服务器如何运行项目 浏览:487
韩剧一个女主叫美娜善喜 浏览:565
降低php版本 浏览:58
成年二次元下载 浏览:50
设计加密文件 浏览:181
韩国电影观看网站大全 浏览:479
云服务器云计算 浏览:226
欧式古典牛奶电影 浏览:350
女主不断变美的系统文 浏览:390
python字符串比较函数 浏览:371
qq无损音乐加密版 浏览:78