资源简介
活期储蓄账目管理系统,实现储户开户、销户、存入、支出等活动。其主要要求是能比较迅速地找到储户的账户,实现存款、取款,还要能比较简单、迅速地实现插入和删除,以实现开户和销户的需要:
(1)实现储户开户。开户时需要填写登记卡,记录储户信息(包括姓名和账号),并设置开户余额为0。
(2)实现储户销户。需要先找到储户的账户信息,然后将其删除。
(3)向某账户存款。需要找到账户信息,然后修改账户的余额(原来的余额 + 存入金额)。
(4)从某账户取款。需要找到账户信息,然后修改账户的余额(原来的余额 − 取出金额)。
(5)排序显示所有账户信息。根据账号对所有账户信息排序。
(6)查询某账户余额。找到要查找的账户,然后显示账户余额。
(7)查询某账户交易记录。找到要查询的账户,然后显示该账户的交易记录。
(8)所有账户及其交易信息存储至文件,程序运行时从文件中读入。
代码片段和文件信息
#include
#include
#include
#define initnumber 10001 //开户账号
typedef struct account{
int account; //账户号
char username[9]; //户名
char password[6]; //密码
float balance; //余额
int status; //账户状态
}Elem;
void display(Elem *x); //显示
int save(Elem* elem); //保存
float getmoney1(); //金额限制1
float getmoney2(float i); //金额限制2
Elem* getN(int number); //获取账号
void Exit(); //退出
void deposit(); //存款
void withdraw(); //取款
void openAcount(); //开户
void closeAcount(); //销户
void query(); //查询
void QueryAll(); //查询全部
void record(); //交易记录
void mainmenu(); //系统菜单
void display(Elem *x) { //显示
char *zt;
if(x->status==0)
zt=“正常“;
else
zt=“销户“;
printf(“\t\t\t+----------------------------------------------+\n“);
printf(“\t\t\t| 帐号| 户名| 密码| 余额| 状态|\n“);
printf(“\t\t\t|%8d|%8s|%8s|%10.1f|%8s|\n“x->accountx->usernamex->passwordx->balancezt);
}
int save(Elem* elem){
Elem* nap=(Elem*)malloc(sizeof(Elem));
int flag=0count=0;
FILE *fp;
fp=fopen(“bank““rb+“);
if(fp!=NULL){
while(!feof(fp)){
count=fread(napsizeof(Elem)1fp);
if(count>0){
if(elem->account==nap->account){
fseek(fp-((long)sizeof(Elem))1);
fwrite(elemsizeof(Elem)1fp);
flag=1;
break;
}
}
}
fclose(fp);
}
return flag;
}
float getmoney1(){ //金额限制1
float money=-1;
while(1){
scanf(“%f“&money);
fflush(stdin);
if(money<=0){
printf(“您输入的金额小于等于0!请从新输入......\n“);
continue;
}else
break;
}
return money;
}
float getmoney2(float i){ //金额限制2
float money=-1;
while(1){
scanf(“%f“&money);
fflush(stdin);
if(money<=0){
printf(“您输入的金额小于等于0!请从新输入......\n“);
continue;
}
else{
if(money<=i) break;
else{
printf(“您的帐号余额已经不足您本次的取款!\n“);
getchar();
mainmenu();
}
}
}
return money;
}
Elem* getN(int number){ //获取账号
Elem *elem=(Elem*)malloc(sizeof(Elem));
Elem *tmp=(Elem*)malloc(sizeof(Elem));
int flag=0count=0;
FILE *fp;
fp=fopen(“bank““rb“);
if(fp!=NULL){
while(!feof(fp)){
count=fread(tmpsizeof(Elem)1fp);
if(count>0){
if(tmp->account==number){
flag=1;
break;
}
}
}
fclose(fp);
if(flag){
elem->account=tmp->account;
strcpy(elem->usernametmp->us
评论
共有 条评论