就像如诗如画一样 2018-12-18 22:52 采纳率: 100%
浏览 806
已采纳

C代码银行账户信息管理系统如何进一步修改(要求能在CB上运行)?

#include
#include
#include
void denglu();
void kaihu();
void xiaohu();
void cunkuan(int j);
void qukuan(int j);
void chaxun(int j);
void mainmenu(int j);
void printblank(int n);
struct shujuk
{
char zh[17];/*账号*/
char mm[17];/*密码*/
double je;/*金额*/
};
struct shujuk a[100];
int i=0;
int main()
{
int select,loop=1;
while(loop)
{
select=menu();
switch(select)
{
case 1:
denglu();
break;
case 2:
kaihu();
break;
case 3:
xiaohu();
break;
default:
printf("谢谢使用!\n");
loop=0;
}
}
return 0;
}
int menu()
{
int select;
system("cls");
printblank(34);
printf("欢迎进入银行账户信息管理系统\n");
printblank(30);
printf("*********************************\n");
printblank(30);
printf("[1]登陆\n");
printblank(30);
printf("[2]开户\n");
printblank(30);
printf("[3]销户\n");
printblank(30);
printf("[0]退出\n");
printblank(30);
printf("*********************************\n");
printblank(30);
printf("请输入选项[ ]\b\b\b");
scanf("%d",&select);
return select;
}
void denglu()
{
char username[20];
char userpwd[20];
int k,j;
for(k=0; k<3; k++)
{
printf("\n");
printf("请输入您的账号:");
scanf("%s",username);
printf("\n请输入您的密码:");
scanf("%s",userpwd);
for(j=0; j<i; j++)
{
if(strcmp(a[j].zh,username)==0&&strcmp(a[j].mm,userpwd)==0)
mainmenu(j);
else
{
if(k<2)
printf("\n账号或者密码错误,请重新输入!");
else
printf("\n账号或密码错误,退出登陆!\n");
}
}
}
}
void mainmenu(int j)
{
int choice=-1;
system("cls");
do
{
printf("\n");
printf("1.存款\n");
printf("2.取款\n");
printf("3.查询余额\n");
printf("0.退出登陆\n");
printf("请输入您的选择:\n");
scanf("%d",&choice);
switch(choice)
{
case 0:
exit(0);
case 1:
cunkuan(j);
break;
case 2:
qukuan(j);
break;
case 3:
chaxun(j);
break;
default:
printf("\n无效选项!");
break;
}
}
while(choice!=0);
}
void kaihu()
{
printf("\t请输入一下信息:\n");
printf("\t请输入您的账号:\n");
scanf("%s",&a[i].zh);
printf("\t请输入您的账号密码:\n");
scanf("%s",&a[i].mm);
printf("\t请输入您要存款的金额:\n");
scanf("%lf",&a[i].je);
printf("\t开户成功!\n");
i++;
}
void xiaohu()
{
int k,j;
char b[20];
printf("\n请输入要销户的账号:\n");
scanf("%s",b);
for(k=0; k<i; k++)
if(strcmp(a[k].zh,b)==0)
for(j=k; k<i-1; j++)
a[j]=a[j+1];
i--;
printf("销户成功!\n");
}
void cunkuan(int j)
{
double n;
printf("请输入您的存款金额:\n");
scanf("%lf,",&n);
a[j].je=a[j].je+n;
printf("存款成功!\n");
}
void qukuan(int j)
{
double n;
printf("请输入您的取款金额:\n");
scanf("%lf",&n);
if(n<=a[j].je)
{
printf("取款成功!\n");
a[j].je=a[j].je-n;
}
else printf("余额不足,取款失败!\n");
}
void chaxun(int j)
{
printf("您的余额还有%.3lf\n",a[j].je);
}
void printblank(int n)
{
int m;
for(m=1; n<=n; m++)
putchar(' ');
}


  • 写回答

1条回答

  • 就像如诗如画一样 2018-12-19 14:12
    关注

    这是我的,没人回答我就拿了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况