admin 管理员组

文章数量: 1087139


2024年3月7日发(作者:power的意思中文翻译)

C语言写的简单的模拟银行存取开户等操作

#include

#include

#include

#include

#include

struct person

{

int hash;

char name[20];

char id[20];

char password[20];

int money;

}per;

int choice();

int draw(int);

int kaihu();

int land(int);

int now();

int now2();

int save(int);

int store();

int choice()

{

printf("tt***********************************************************ttn");

printf("tt***********************欢迎您使用!*************************ttn");

printf("tt******************1.储户开户(请输入1)**********************ttn");

printf("tt******************2.储户存款(请输入2)**********************ttn");

printf("tt******************3.储户取款(请输入3)**********************ttn");

printf("tt******************4.——退出(请输入0)**********************ttn");

printf("tt***********************欢迎您使用!*************************ttn");

printf("tt***********************************************************ttn");

return 0;

}

int kaihu()

{

int j,flag;

char a[9];

system("CLS");

printf("tt*******************************************************ttn");

printf("tt***********************欢迎您!*************************ttn");

printf("tt请输入您的用户名:");

scanf("%s",);

getchar();

printf("tt请输入您的身份证号码:");

scanf("%s",);

getchar();

printf("tt请输入您的存储金额:");

scanf("%d",&);

getchar();

while(<10)

{

printf("/t/t对不起!开户金额不得低于10元。请重新输入您的开户金额:nt");

scanf("%d",);

getchar();

}

srand((unsigned int)time(NULL));

=rand()%10000+1;

printf("tt恭喜您!开户成功!请牢记您的登陆账号:%dn",);

printf("您账户的初始密码为:");

for(j=1;j<7;j++)

{

rd[j-1]=j;

printf("%d",j);

}

printf("n");

printf("是否修改您的密码,修改请输入1,不修改请输入0n");

scanf("%d",&flag);

getchar();

if(flag==1)

{

former:

printf("请输入您的新密码:(不要超过9个字,但也建议不要过短)n");

scanf("%s",rd);

printf("请再次输入您的新密码:");

scanf("%s",a);

if(strcmp(rd,a)==0)

printf("恭喜修改密码成功!");

else

goto former;

}

now();/*调用这个函数,显示当前账户信息*/

store();/*调用存储函数,将用户信息存储到中*/

return 0;

}

int land(int c)

{

int n,mon,j=0;

char pass[10];

struct person per2;

FILE *fpp;

if((fpp=fopen("D:","r"))==NULL)

{

printf("taa出错啦!(您可能还没开户)n");

exit(0);

}

fscanf(fpp,"%d%s%s%d%s",&,,,&,rd);

fclose(fpp);/*关闭文件*/

loop:

if(j>=3)

exit(0);

printf("请输入您的帐号:");

scanf("%d",&n);

getchar();

printf("t密码:");

scanf("%s",pass);

getchar();

if(n== && strcmp(pass,rd)==0)

printf("恭喜您,登录成功!n");

else

{

printf("t账户不存在或密码错误,请重新输入!n");

j++;

goto loop;

}

if(c==2)

{

printf("t输入取款金额:");

scanf("%d",&mon);

draw(mon);

}

else

{

printf("t输入存款金额:");

scanf("%d",&mon);

save(mon);

}

return 0;

}

int draw(int m)/*取款函数*/

{

if(-m<10)

{

printf("t对不起,您的余额不足,不能进行取款操作,请减少取款金额。");/*对用户的取款的限制,即如果余额不超过10元将不能取款

,执行else分句,把新的余额写入*/

}

else

{

=-m;

store();

}

now();/*显示当前账户余额信息*/

return 0;

}

int save(int m)/*存款函数*/

{

=+m;

printf("t恭喜,存款成功!n");

store();

now();

return 0;

}

int now()

{

printf("nt以下是您的当前账户信息:n");

printf("t——账号——姓名———ID——-余额——密码——n");

printf("t%6d%10s%10s%6d%10sn",,,,,rd);

return 0;

}

int now2()

{

FILE *fp;

if((fp=fopen("D:","r"))==NULL)

{

printf("taa出错啦!(您可能还没开户)n");

exit(0);

}

fscanf(fp,"%d%s%s%d%s",&,,,&,rd);

fclose(fp);/*关闭文件*/

return 0;

}

int store()

{

FILE *fp;

if((fp=fopen("D:","w"))==NULL)

{

printf("ttaOpen file error!n");

exit(0);

}

fprintf(fp,"%d %s %s %d %s",,,,,rd);

fclose(fp);/*关闭文件*/

return 0;

}

int main()

{

int c;

choice();

myd:

printf("n");

scanf("%d",&c);

getchar();

if(c==1)

{

kaihu();

system("pause");/*使屏幕停留在当前状态*/

system("CLS");/*清屏,用到了头文件stdlib.h*/

choice();

goto myd;

}

else if(c==2 || c==3)

{

printf("tt请您登录:n");

now2();/*需要注意的一点是,如果存在,而里边没有数据或者数据的存储格式与

per里边的量的存储格式不一样,那么当你执行程序后直接输入2,将会登陆不上。*/

land(c);

goto myd;

}

else if(c==0)

{

system("CLS");

printf("tt**************************************************************ttn");

printf("tt*****************感谢你的使用!再见!**************************ttn");

printf("tt********我们将以百分百的诚信换你百分百的放心和满意!***********ttn");

printf("tt**************************************************************ttn");

}

else

{

printf("tt****************入!*************************ttn");

goto myd;

}

return 0;

}

指令错误请重新输!


本文标签: 输入 开户 取款 账户 余额