1 鱼币
#include<stdio.h>#include<stdlib.h>#include<ctype.h>void menu();checkdate(int a,int b,int c);checkmoney(long d);checkID(int o);adddata(int y, long u);void main () {
menu();
}
void findemp();void inemp();
void menu(){int z;void menu();printf("\t*******************************\n");printf("\t*******************\n");printf("\t********\n");printf("\t欢迎进入银行账户信息管理系统\n ");printf("\t********\n");printf("\t*******************\n");printf("\t*******************************\n");printf("\n");printf("\n");printf("\n");printf("\t**************************\n ");printf("\t1-----存款 \n");printf("\t2-----取款 \n");printf("\t3-----查询余额\n");printf("\t4-----查询存款记录\n");printf("\t5-----查询取款记录\n");printf("\t************************** \n ");printf("\t请输入<1-5>选择业务:");
scanf("%d",&z); /*************************************程序********************************************/
switch(z) { case 1:{system("cls"); inemp(); system("PAUSE"); system("cls"); menu(); } case 2:{system("cls"); system("PAUSE"); system("cls"); menu(); } case 3:{system("cls"); findemp(); system("PAUSE"); system("cls"); menu(); } case 4:{system("cls"); printf("输入客户编号(回车键结束)\n"); system("PAUSE"); system("cls"); menu(); } case 5:{system("cls"); printf("输入客户编号(回车键结束)\n"); system("PAUSE"); system("cls"); menu();
} default:{ printf("出错,请输入正确编号。\n"); system("PAUSE"); system("cls"); menu(); } } }
struct EMP { int no; char name[10]; char adress[10]; char phone[12]; long int price;}stu[5]; struct Data {int month; //月int day; //日long int year; //年
}data1;
void savedata(){ FILE* fp;
if((fp=fopen("emp_data","wb"))==NULL) {printf("cannot open file\n"); getchar(); return; }fwrite(&stu,sizeof(struct EMP),5,fp);
fclose(fp);
}
void addemp(){void savedata();
int i,m; printf("请输入要录入的学生的人数m.\n"); scanf("%d",&m); printf("请输入各个学生的信息:\n"); for(i=0;i<m;i++) { printf("no:\n"); scanf("%d",&stu[i].no); printf("name:\n"); scanf("%s",stu[i].name); printf("adress:\n"); scanf("%s",stu[i].adress); printf("phone number:\n"); scanf("%s",stu[i].phone); printf("price:\n"); scanf("%ld",&stu[i].price); } printf("创建完毕.\n"); savedata(); printf("已存储数据。\n");}
void findemp(){ FILE *fp; int num; int i;
if((fp=fopen("emp_data","rb"))==NULL) {printf("cannot open file\n"); exit(0); } for(i=0;i<5;i++) fread(&stu[i],sizeof(struct EMP),1,fp); printf("请输入要查找的编号:\n"); scanf("%d",&num); for(i=0;i<5;i++) if(stu[i].no==num) { printf("已找到该用户的信息,信息为:\n"); printf("编号:%d\t\n",stu[i].no); printf("姓名:%s\t\n",stu[i].name); printf("地址:%s\t\n",stu[i].adress); printf("电话:%s\t\n",stu[i].phone); printf("金额:%ld\t\n",stu[i].price);
break; }}
void inemp(){
printf("输入客户编号\n"); scanf("%d",&stu[0].no); checkID(stu[0].no); printf("输入存款金额 \n"); scanf("%ld",&stu[0].price); checkmoney(stu[0].price); printf("输入存款日期(yyyy-zz-xx) \n"); scanf("%ld-%d-%d",&data1.year,&data1.month,&data1.day); checkdate(data1.year,data1.month,data1.day); adddata(stu[0].no,stu[0].price);
}
checkdate(int a,int b,int c){void inemp(); int q;
if(a%4==0&&b==2&&c>0&&c<30) q=1; //判断日期是否存在 else if(a%4!=0&&b==2&&c>0&&c<29) q=1; else if((b==1||b==3||b==5||b==7||b==8||b==10||b==12)&&c>0&&c<=31) q=1; else if((b==4||b==6||b==9||b==11)&&c>0&&c<=30) q=1; else q=2;if(q==2){system("cls"); printf("输入的日期有误,请重新输入.\n");inemp();
}
}
checkmoney(long d){ if(d<0||d>50000) {system("cls"); printf("输入金额出错,请重新输入\n"); inemp(); }
}
adddata(int y, long u){ FILE *fp;
int i;
if((fp=fopen("emp_data","rb"))==NULL) {printf("cannot open file\n"); exit(0); } for(i=0;i<5;i++) fread(&stu[i],sizeof(struct EMP),1,fp); for(i=0;i<5;i++) if(stu[i].no==y) { stu[i].price=stu[i].price+u; savedata();
}
printf("存款成功\n");
}
display(){
}checkID(int o){ FILE *fp;
int i;
if((fp=fopen("emp_data","rb"))==NULL) {printf("cannot open file\n"); exit(0); } for(i=0;i<5;i++) fread(&stu[i],sizeof(struct EMP),1,fp);
if(stu[0].no==o) {
printf("输入的客户编号正确,请继续输入\n");
} else if(stu[1].no==o) { printf("输入的客户编号正确,请继续输入\n");
} else if(stu[2].no==o) { printf("输入的客户编号正确,请继续输入\n");
} else if(stu[3].no==o) { printf("输入的客户编号正确,请继续输入\n");
} else if(stu[4].no==o) { printf("输入的客户编号正确,请继续输入\n");
} else { system("cls"); printf("输入的客户编号有误,请重新输入\n"); inemp(); }}
存取的金额总是覆盖第一个数据。应该怎么弄。
我来回答