当前位置:首页 » 编程语言 » c语言模拟银行存款的程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言模拟银行存款的程序

发布时间: 2022-06-08 14:03:50

‘壹’ 银行存款方案比较的c语言程序编写

代码:
#include<stdio.h>
char c='y';
float money;
char key[6];//定义了三个全局变量,用来存储文件中的余额和密码。
void check()//查询余额
{
char a;
printf("%f",money);
printf("按任意键返回主菜单\n");
a=getch();
}

void draw()//取款
{
int a;
printf("1.取50元\n2.取100元\n3.取200元\n4.取500元\n5.按任意键返回\n");
scanf("%d",&a);
switch(a)
{
case 1:
money=money-50;printf("取款成功");break;
case 2:
money=money-100;printf("取款成功");break;
case 3:
money=money-200;printf("取款成功");break;
case 4:
money=money-500;printf("取款成功");break;
case 5:
c='y';break;
}
}

void changekey()//修改密码
{
char a[6],d[6],b='y';int j;
for(;b=='y';)
{
printf("请输入一个六位数的新密码");
gets(a);puts(a);
printf("请再次输入");
gets(d);puts(d);
for(j=0;j<6;j++)
{
if(a[j]!=d[j])break;
}

if(j<6) printf("两次输入的密码不相同,请重新输入\n");
else
{
for(j=0;j<6;j++)
{
key[j]=a[j];
}
printf("修改密码成功,按任意键返回主菜单\n");
b=getch();b='n';
}
}
}

main()
{
int a,j,d=0;char b[6],e;
FILE *fp;
if((fp=fopen("message.txt","rb"))==NULL)
printf("message error\n");
fread(&money,4,1,fp);
for(j=0;j<6;j++)
fread(&key[j],1,1,fp);
fclose(fp);
for(j=0;j<6;j++)
{
key[j]='8';
}
money=100000;
printf("欢迎使用模拟ATM系统\n");
for(;c='y';)
{
printf("请输入密码\n");
gets(b);puts(b);
for(j=0;j<6;j++)
{
if(b[j]!=key[j])
{
printf("密码输入错误,请重新输入\n");
d++;break;
}
}
if(j>=6)break;
if(d>=3)
{
printf("密码三次输入错误!系统即将自动退出\n");
c='n';break;
}
}
for(;c=='y';)
{
printf("\n");
printf("请选择你需要的服务,如余额查询请输入1\n");
printf("1.余额查询\n");
printf("2.取款\n");
printf("3.修改密码\n");
printf("4.退出\n");
scanf("%d",&a);e=getchar();
switch(a)
{
case 1:
check(money);break;
case 2:
draw();break;
case 3:
changekey();break;
case 4:
c='n';printf("谢谢您的使用\n");break;
}
}
if((fp=fopen("message.txt","wb"))==NULL)
{
printf("cannot open file\n");
}
if(fwrite(&money,4,1,fp)!=1)
printf("file write error\n");
for(j=0;j<6;j++)
{
if(fwrite(&key[j],1,1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
}
经测试通过。
请自行在这个文件的相同目录下新建一个文本文档,命名为message,并将下面冒号后面的代码全部复制过去(如果不行,请补充,最好给个邮箱,我把代码和文件都发过去,省事): P肎888888

‘贰’ C程序设计 模拟银行自动存取款机

模拟自动存取款机功能编写一个小型程序,至少具备4个功能模块:
1. 余额查询 2修改密码 3提款 4存款
卡号、密码、余额是三个必须的数据。
1. 程式会先显示欢迎讯息 ,欢迎界面,比如“开户成功,欢迎使用**银行自动取款机服务”;
2. 接着要求使用者输入帐号
3. 再要求使用者入密码
4. 如果三次尝试都错误的话就中止程式 否则就是登入成功
登入后, 你的”主画面”会显示出五种功能选项:
1余额查询 2修改密码 3提款 4存款 5退出

1.第一步打印出:“请输入你的帐号和密码”。然后你从键盘分别输入六位数的帐号和密码。如果正确进入第二步.
第二步:请修改初始密码。
你的程序打印:“请输入你的新密码:”然后你从键盘输入六位数密码。此时你的程序打印:“请再输入一遍新密码。”如果两次输入的密码不一致,则你的程序打印:“你两次输入的密码不一致,修改密码未成功,请再输入一次。”在main()里定义(四个数组,其中两个用来存放你输入的六位数帐号和密码,另两个数组存放你的六位数帐号和密码,)注意你定义的数组应该能存放七个字符。比较你输入的密码和数组中的密码是否一致,如果不一致,则打印出:“密码错误,请再试一次。

2. 检视帐户余额: 显示该帐户的余额 , 然后再回到主画面.
3. 提款 : 当使用者选择提款时,画面应该进入提款画面,你应该提供六个选项让使用者选择: 1. 100, 2. 500, 3. 1000, 4. 2000, 5. 3000, 6. 取消交易 . 选择1-5的选项后,你应该显示出使用者领用了多少钱,存款剩多少,然后回到”主画面”. 记住: 你要确认使用者的存款是否有足够的钱可以提领! 如果使用者选择取消交易,则系统会回到”主画面”. 选择“取钱”的功能按键,输入要取出的钱数,进行取钱操作,操作完毕需要“取钱成功,您的当前余额为。。。”的提示信息
4. 存款 :当使用者选择存款时,画面应该进入存款画面,你应该提供六个选项让使用者选择: 1. 100, 2. 500, 3. 1000, 4. 2000, 5. 3000, 6. 取消交易 . 选择1-5的选项后,你应该显示出使用者存入了多少钱,存款变成多少,然后回到”主画面”. 选择“存钱”的功能按键,输入存储的钱数,进行存钱操作,操作完毕需要“存钱成功,您的当前余额为。。。”的提示信息
5.在“存钱”、“取钱”、“查看余额”等每项操作结束后,需要有“继续其他操作还是退出”的选项,如果选择“继续其他操作”,那么重新进入“按键使用功能说明”界面,如果选择“退出”则转到功能9;
6、 退出程序功能(按某个功能键可以退出本程序,并打印友好提示信息“本次服务结束,欢迎再次光临**银行”);
问题补充:要求采用C语言,谢绝C++~~简洁明了者可加高分

‘叁’ C语言小程序.写一个关于银行存取钱的

代码如下:

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

intmain()
{
floatbalance;//余额
floatwithdraw;//取款
floatsave;//存款
charchoice;//用户选择键

printf("请输入存款余额(包含两位小数): ");
scanf("%f",&balance);
do{
printf("请选择:D(存款);W(取款);F(结束). ");
fflush(stdin);
choice=getchar();
switch(choice)
{
case'D':
case'd':
scanf("%f",&withdraw);
balance+=withdraw;
break;
case'W':
case'w':
scanf("%f",&save);
balance-=save;
if(balance<=0.0)balance=0.0;
break;
case'F':
case'f':
printf("当前余额为:%.2f ",balance);
system("pause");
return0;
default:
break;
}
}while(true);
}

‘肆’ 用C语言编写一个自动存取款机模拟

给你个加强版:include<iostream.h>
#include<stdlib.h>
#include<string.h>
struct Bank
{
char name[6],num[8],password[6];
double money,o;
}b,q;
void tuichu();
void fuction();
void cunqian();
void queren();
void cin1()
{
b.money=0;
cin>>b.name;
cout<<"请输入您的卡号:"<<endl;
cin>>b.num;
cout<<"请输入您的密码:"<<endl;
cin>>b.password;
cout<<endl;
}
void error()
{
cout<<"您的输入错误,请再输入一遍!"<<endl;
}
void cout1()
{
cout<<"您的名字是:"<<b.name<<endl<<"您的卡号是:"<<b.num<<endl<<"您的密码是:"<<b.password<<endl;
}
void one()
{
cout<<"请按‘1’存钱, 请按‘2’取钱!"<<endl<<"请按‘3’查钱, 请按‘4’退出!" <<endl;
}
void tishi()
{
char c;
cout<<"如果您想退出,请按 'Y' . 否则,请按'N' !";
cin>>c;
if(c=='y'||c=='Y') tuichu();
if(c=='n'||c=='Y') fuction();
else
{
error();
tishi();
};
}
void yue()
{
cout<<"您的余额为:"<<b.money<<endl;
tishi();
}
void cunqian()
{
b.o=b.money;
cout<<"您想存多少钱?"<<endl;
cin>>b.money;
if((b.money<'0')&&(b.money>'9'))
{
cout<<"请输入数字!"<<endl;
cunqian();
}
if((b.money<=999999999)&&(b.money>=(-999999999)))
{
b.money+=b.o;
yue();
}
else
{
error();
cunqian();
b.money=0;
}
}
void quqian()
{
double d;
cout<<"您想取多少钱?"<<endl;
cin>>d;
if((d<999999999)&&(d>=0)&&(d<=b.money+2000))
{
b.money-=d;
yue();
}
else
{
cout<<"您的透支余额超过2000元,操作失败!"<<endl;
quqian();
}
}
void chaqian()
{
yue();
}
void tuichu()
{
cout<<endl<<"欢迎下次光临欢迎进入C++工商银行!!"<<endl;
cout<<"请取回您的卡,再次感谢!"<<endl;
exit(0);
}
void fuction()
{
char x;
{
one();
cin>>x;
switch(x)
{
case '1': cunqian();break;
case '2': quqian();break;
case '3': chaqian();break;
case '4': tuichu();break;
default: cout<<"您的输入错误,请输入1到4按键,谢谢!"<<endl;fuction();
}
}
}
void cin2()
{
cout<<"请输入您的卡号:"<<endl;
cin>>q.num;
cout<<"请输入您的密码:"<<endl;
cin>>q.password;
cout<<endl;
}
void cout2()
{
cout<<"欢迎进入C++工商银行!"<<endl<<"请您先开户,谢谢!"<<endl<<"请输入您的名字:"<<endl;
cin1();
cout1();
queren();
}
void queren()
{
cout<<"请再次确认您的信息:"<<endl;
int e,f;
cin2();
e=strcmp(q.num,b.num);
f=strcmp(q.password,b.password);
if (e==0&&f==0) fuction();
else {
cout<<"您的信息有误,请重新输入:"<<endl;
cin2();
e=strcmp(q.num,b.num);
f=strcmp(q.password,b.password);
if (e==0&&f==0) fuction();
else
{
cout<<"您的信息有误,请重新输入:"<<endl;
cin2();
e=strcmp(q.num,b.num);
f=strcmp(q.password,b.password);
if(e==0&&f==0) fuction();
else {
cout<<"您的信息有误,请重新输入:"<<endl;
tuichu();
}
}
}
}
void main()
{
cout2();
}

‘伍’ C语言 银行存储模拟系统

// t.cpp : Defines the entry point for the console application.//#include "stdafx.h"int Card[100][5+3];void main(){ for(int i=0;i<100;i++) { Card[i][0]=i; Card[i][1]=0; ]==nCahao) { nT=1; nPose=i; break; } } printf("卡号不正确"); } printf("你的存款余额为%d\n",Card[nPose][1]); while(1) { printf("1,取款 2, 存款\n"); int nSelect; scanf("%d",&nSelect); switch(nSelect) { case 1: printf("请输入提款金额\n"); int nJine; scanf("%d",&nJine); Card[nCahao][Card[nCahao][2]]=-nJine; Card[nCahao][2]=Card[nCahao][2]++; printf("你的取款额为%d请在出钞口领现金\n",nJine); nJine); printf("请取卡\n"); return; } } }

‘陆’ 编写一个C语言程序模拟银行ATM机的账户管理功能,系统主要实现以下功能

按照你的愿意把空都填好了,VC++ 6.0下编译能通过,有警告信息,运行基本上能用,不过个人认为这个系统有很大的不足,比如输入账号的时候没有输出反馈信息,以及没有对误操作的处理等等。需要的话可以帮你改改!

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define AN 9 //表示账号8位
#define PN 7 //表示密码6位
#define ASN 3 //表示系统中共有3个账户信息
struct Account
{
char accountnumber[AN]; //表示账号信息
char password[PN]; //表示账户的密码信息
double balance; //表示账户的余额
};
struct Account ats[ASN]={{"00000001","123456",100},{"00000002","123456",200},{"00000003","123456",300}};
//ats数组用于存储系统中三个账户的信息
int isCorrect(char *an,char *psd)
{
int i;
for(i=0;i<ASN;i++)
if(strcmp(ats[i].accountnumber,an)==0 && strcmp(psd,ats[i].password)==0)
return 1;
return 0;
}
double getBalance(char *an)
{
int i;
for(i=0;i<ASN;i++)
if(strcmp(an,ats[i].accountnumber)==0)
return ats[i].balance;
}

void deposit(char *an,int amount)
{
int i;
for(i=0;i<ASN;i++)
if(strcmp(an,ats[i].accountnumber)==0)
ats[i].balance+=amount;
}
int withdraw(char *an,int amount)
{
int i;
for(i=0;i<ASN;i++)
if(strcmp(an,ats[i].accountnumber)==0)
return ats[i].balance-=amount;
}

void main()
{
char AccountNumber[AN]={'\0'};
char psd[PN]={'\0'};
int i,errorcount=0;
while(1)
{
printf("\n请输入8位账号:");
for(i=0;i<8;i++)
AccountNumber[i]=getch();
printf("\n请输入6为密码:");
for(i=0;i<6;i++)
{
psd[i]=getch();
putchar('*');
}
if(isCorrect(AccountNumber,psd)==1)
{
int tag,amount;
while(1)
{
printf("\n欢迎登录银行账户管理系统,请选择您要的服务:1、查询余额;2、存款操作;3、取款操作;4、退出系统\n");
scanf("%d",&tag);
switch(tag)
{
case 1:
printf("您现在的余额为%f元\n",getBalance(AccountNumber));
break;
case 2:
printf("请输入您的存款金额:");
scanf("%d",&amount);
deposit(AccountNumber,amount);
printf("存款成功!您的当前余额为:%f元\n",getBalance(AccountNumber));
break;
case 3:
printf("请输入您的取款金额:");
scanf("%d",&amount);
if(amount<=getBalance(AccountNumber))
printf("取款成功!您的当前余额为:%f元\n",withdraw(AccountNumber,amount));
else
printf("取款失败!\n");
break;
case 4:
break;
}
if(tag==4)
break;
}

}
else
{
errorcount++;
if(errorcount==3)
{
printf("您已经连续三次输入错误,系统将自动关闭\n");
break;
}
}
}
}

‘柒’ C语言设计银行账户模拟程序

能传附件吗?不知道怎么传。我就贴给你吧。
#include<iostream>
#include<string>
#include<fstream>
using namespace std;

class account //atm账户类
{
private:
string CardNum,Psw; //卡号、密码
float Balance;
public:
friend class ATM; //atm为友元
/*void get_cardnum();
void get_psw();
void get_balance();*/
account(){}//<---------------------here
account(string num,string passwd,float balance); //构造函数
void Write();
};

class ATM //atm机类
{
private:
int times;
account *ac;
public:
ATM(); void load( account *act ); //装入账户信息
void welcome(); //初始欢迎信息
bool check_passwd( string pwd ); //验证当前账户信息的密码
void change_psw(); //修改密码
void get_money(); //取钱
float check_balance(); //查账
void tran(); //转账
void exit(); //退卡
void function_show(); //显示功能菜单
void lock(); //锁定账户
};

/*
* account::account( string num, string passwd, float balance )
* account类构造函数
* 用途: 使用给定的账号密码等信息初始化一个account对象
* 参数: string num 账号
* string passwd 密码
* float balance
*/
account::account( string num, string passwd, float balance )
{
CardNum = num;
Psw = passwd;
Balance = balance;
}
//atm类构造函数
/*account::get_cardnum()
{
return CardNum;
}
account::get_psw()
{
return Psw;
}
account::get_balance()
{
return Balance;
}*/
void account::Write()
{
ofstream outfile("atm.txt",ios::binary);//<-----------------here
outfile.write((char *)(this),sizeof(account));//<-------------here
outfile.close();
}

ATM::ATM()
{
}

/*
* void ATM::load( account *act )
* ATM类装入账户信息函数
* 用途: 载入指定的account对象,模拟atm插卡过程
* 参数: account *act 要载入的account对象指针
*/
void ATM::load( account *act )
{
ac = act;
}

/*
* void ATM::welcome()
* ATM类显示初始欢迎信息函数
* 用途: 显示欢迎信息,提示密码输入并验证
* 参数: 无
*
*/
void ATM::welcome()
{
times = 0; //记录密码输入错误次数
cout << "Welcome to use the China Bank ATM!" << endl;
string pwd; //这一个语句应该上移的,一般来说数据的定义和初始化一块写在开头,下面才是各种操作的语句
while( times < 3 )
{
cout << "Please enter the password: " << endl;
cin >> pwd;
if( !check_passwd( pwd ) )
{
cout << "The password you entered is wrong, please enter again" << endl;
times++;
}
else
{
function_show();
break;
}
}
if( times >= 3 )
lock(); //输入密码错误次数超过(等于)3次,锁定账户
}

bool ATM::check_passwd( string pwd )
{
if( pwd == ac->Psw )
return true;
else
return false;
}

void ATM::function_show()
{
int n;
cout << "(1) Change Password" << endl;
cout << "(2) Get Money" << endl;
cout << "(3) Check Balance" << endl;
cout << "(4) Transfer accounts" << endl;
cout << "(5) Exit" << endl;
cin >> n;
while(n != 1 && n != 2 && n != 3 && n != 4 && n != 5) //这样就可以完全限制用户的输入
{
cout << "Please enter the right number" << endl;
cin >> n;
}
switch( n )
{
case 1:
change_psw();
break;
case 2:
get_money();
break;
case 3:
cout << check_balance() << endl;
break;
case 4:
tran();
break;
case 5:
exit();
break;

}
}

void ATM::lock()
{
cout << "Sorry! Your card has been confiscated!" << endl;
exit();
}

void ATM::change_psw()
{
string old_psw, new_psw1, new_psw2;
int t = 0 ;
while( t < 3 )
{
cout << "Please enter the old password: ";
cin >> old_psw;
if( !check_passwd( old_psw ) )
{
cout << "The password you enter is wrong, please enter again" << endl;
t++;
}
else
{
cout << "Please enter the new password: ";
cin >> new_psw1;
cout << "Please enter the new password again: ";
cin >> new_psw2;
if( new_psw1 == new_psw2 )
{
ac -> Psw = new_psw2;
cout << "You have change your password successfully!" << endl;
break;
}
else
cout << "Sorry, entered passwords do not match! " << endl;
}
}
//}//<----------------------here
if( t >= 3 )
{
cout << "Sorry, you have inputed the wrong password for three times and more! " << endl;
}
}

void ATM::get_money()
{
float money;
cout << "Please enter the amount of money you want to get: " <<endl;
cin >> money;
while( money > ac -> Balance)
{
cout << "Your balance is not enough, please enter again" << endl;
cin >> money;
}
ac -> Balance = ac -> Balance - money;
}

float ATM::check_balance()
{
return ac -> Balance;
}

void ATM::tran()
{
account a[5];
string cn;
float m;
cout<<"please enter the cardnum of the account you want to transfer money to"<<endl;
cin>>cn;
ifstream infile("atm.txt",ios::binary);
infile.seekg(0,ios::beg);
for(int i=0;i<5;i++)
{
infile.read((char *)(&a[i]),sizeof(a[i]));
}
for(int j=0;j<5;j++)
{
if(cn==a[i].CardNum)
{
cout<<"please enter the amount of money"<<endl;
cin>>m;
while(m>ac->Balance)
{
cout<<"there is no enough money in your account,please enter again"<<endl;
cin>>m;
}
ac->Balance=ac->Balance-m;
a[i].Balance=a[i].Balance+m;
ofstream outfile("atm.txt",ios::binary);
outfile.seekp(i*sizeof(a[0]),ios::beg);
outfile.write((char *) &a[i],sizeof(a[i]));
}
}
if(j>=5)
{
cout<<"the account doesn't exit"<<endl;
}
}

void ATM::exit()
{
cout << "Please take your card!" << endl;
}

int main()
{
account a[5]={account("10001","1111",5000.0f),account("10002","2222",10000.0f),account("10003","3333",15000.0f),
account("10004","4444",20000.0f),account("10005","5555",25000.0f)};
account temp( "10001", "1111", 5000.0f );
ATM atm;
atm.load( &temp );
atm.welcome();
return 0;
}

‘捌’ 数据结构:银行业务模拟的C语言程序

像这样的要求嘛,来网络就错了,你得上专业网站找高手。还急需的话,就不要继续在这儿浪费时间了

‘玖’ c语言 程序设计 银行存款

{
i=i+1;
x=x*(1.0+r/100.0); <---每年取整
}

‘拾’ 用c语言如何写一个银行存取款管理设计

功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。分步实施:1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2、建立一个文件,输入客户的必要信息,能对文件进行显示、输入、修订、删除等。3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。要求:1、用C语言实现系统;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分 。2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等要求:标明所用函数的用途和目的,简单叙述制作思路。