c语言银行管理系统编译问题
一编译就这样了,这种情况怎么解决?
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
const int Max= 100;
const int N= 12;
struct trMoney
{
int getMoney=0;//取款
int setMoney=0;//存款
};
struct ConutInfo
{
int No;//编号
char Name[N];//姓名
int Password;//密码
char Address[N];//地址
char Phone[N];//电话
int SumMoney;//总金额
};
struct Bank
{
struct ConutInfo counter[Max];
struct trMoney TM [Max];
int size = 0;
};
void showMenu();//菜单功能
void Init_Bank(Bank* M)
{
int count;
printf("初始化创建管理系统的客户个数为:");
scanf("%d", &count);
printf("开始添加:\n");
for (int i = 0; i < count; i++)
{
int r = rand() % 99 + 2018001;
M->counter[M->size].No = r;
printf("随机生成客户编号完成:\t\n");
printf("录入客户姓名为:");
scanf("%s", &M->counter[M->size].Name);
printf("录入客户密码为:");
scanf("%d", &M->counter[M->size].Password);
printf("录入客户地址为:");
scanf("%s", &M->counter[M->size].Address);
printf("录入客户电话为:");
scanf("%s", &M->counter[M->size].Phone);
printf("录入客户账户总额为:");
scanf("%d", &M->counter[M->size].SumMoney);
M->size++;
}
system("pause"); system("cls");
}
void Add_Bank(Bank* M)
{
int r = rand() % 99 + 2018001;
M->counter[M->size].No = r;
printf("随机生成客户编号完成:\t\n");
printf("录入客户姓名为:");
scanf("%s", &M->counter[M->size].Name);
printf("录入客户密码为:");
scanf("%d", &M->counter[M->size].Password);
printf("录入客户地址为:");
scanf("%s", &M->counter[M->size].Address);
printf("录入客户电话为:");
scanf("%s", &M->counter[M->size].Phone);
printf("录入客户账户总额为:");
scanf("%d", &M->counter[M->size].SumMoney);
M->size++;
system("pause"); system("cls");
}
int isExit(Bank *M,char *name,int password)//姓名和密码判断是否有此人
{
for (int i = 0; i <Max; i++)
{
if (*M->counter[i].Name == *name && M->counter[i].Password==password) return i;
}
return -1;
}
int isExit2(Bank *M,int no)//编号判断是否有此人
{
for (int i = 0; i <Max; i++)
{
if (M->counter[i].No == no) return i;
}
return -1;
}
void Trans_Bank(Bank* M)
{
char name[N]; int password;
printf("输入存取款客户的姓名:\t");
scanf("%s", &name);
printf("输入对应的密码:\t");
scanf("%d", &password);
int v = isExit(M, name, password);
if (v != -1)
{
printf("验证成功:\n");
while (1)
{
printf("选择你的操作:1--取款 --2--存款 --0--退出\n");
int z = 0;
scanf("%d", &z);
switch (z)
{
case 1:
{
int getmoney = 0;
printf("取钱的金额为:"); scanf("%d", &getmoney);
if (M->counter[v].SumMoney < getmoney)
{
printf("非法操作,请减少取款量\n");
}
else
{
M->TM[v].getMoney = getmoney;
M->counter[v].SumMoney -= M->TM[v].getMoney;
printf("取款成功!");
}
break;
}
case 2:
{
int setmoney = 0;
printf("存钱的金额为:"); scanf("%d", &setmoney);
//M->counter[v].F.setMoney = setmoney;
M->TM[v].setMoney = setmoney;
M->counter[v].SumMoney += M->TM[v].setMoney;
break;
}
case 0:printf("\n退出存取款功能,欢迎下次使用!\n"); system("pause"); system("cls"); return;
}
}
}
else printf("查无此人");
system("pause"); system("cls");
}
void Show_Bank(Bank* M)
{
char name[N]; int password;
printf("输入查询客户的姓名:\t");
scanf("%s", &name);
printf("输入对应的密码:\t");
scanf("%d", &password);
int v = isExit(M,name,password);
if (v != -1)
{
printf("客户编码为:\t");
printf("%d\n", M->counter[v].No);
printf("客户名字为:\t");
printf("%s\n", M->counter[v].Name);
printf("客户电话为:\t");
printf("%s\n", M->counter[v].Phone);
printf("客户地址为:\t");
printf("%s\n", M->counter[v].Address);
if (M->TM[v].getMoney <= 0 && M->TM[v].setMoney<=0)
{
printf("暂无存取款记录");
}
else if (M->TM[v].getMoney > 0)
{
printf("客户取走了 %d元\t", M->TM[v].getMoney);
}
else if(M->TM[v].setMoney > 0)
{
printf("客户存取了 %d元\t", M->TM[v].setMoney);
}
printf("\n账户总金额为:\t");
printf("%d\n", M->counter[v].SumMoney);
}
else printf("查无此人");
system("pause"); system("cls");
}
void Modify_Bank(Bank *M)
{
int no = 0;
printf("输入查询客户的编号:\t");
scanf("%d", &no);
int v = isExit2(M, no);
if (v != -1)
{
printf("修改客户姓名为:");
scanf("%s", &M->counter[v].Name);
printf("修改客户密码为:");
scanf("%d", &M->counter[v].Password);
printf("修改客户地址为:");
scanf("%s", &M->counter[v].Address);
printf("修改客户电话为:");
scanf("%s", &M->counter[v].Phone);
printf("修改完毕!\n");
}
else printf("查无此人");
system("pause"); system("cls");
}
int main()
{
Bank M;
while (1) {
showMenu();
int select = 0;
printf("请选择你的操作:");
scanf("%d", &select);
switch (select)
{
case 1:
Init_Bank(&M);
break;
case 2:
Add_Bank(&M);
break;
case 3:
{
Show_Bank(&M);
}
break;
case 4:
{
Trans_Bank(&M);
}
break;
case 5:
{
Modify_Bank(&M);
break;
}
break;
case 0://退出
printf("欢迎下次使用,祝您生活愉快\n"); return 0; break;
default:
printf("请合理输入操作数0~5:\n");
scanf("%d", &select);
break;
}
}
}
void showMenu()//菜单功能
{
printf("\t*****************************\n");
printf("\t***** 1、银行系统初始化 *****\n");
printf("\t***** 2、添加客户信息 *****\n");
printf("\t***** 3、查询客户信息 *****\n");
printf("\t***** 4、客户存取款功能 *****\n");
printf("\t***** 5、客户信息修改 *****\n");
printf("\t***** 0、退出管理系统 *****\n");
printf("\t*****************************\n");
}
void showMenu();//菜单功能
void Init_Bank(Bank* M);//初始化客户
void Add_Bank(Bank* M);//添加客户
int isExit(Bank* M, char* name, int password);//账号密码判断是否有客户
int isExit2(Bank* M, int no);//编号判断是否有客户
void Trans_Bank(Bank* M);//存取款
void Show_Bank(Bank* M);//查询客户信息
void Modify_Bank(Bank* M);//修改客户信息
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
不知道怎么回事,求解