From c38cefc722e739dcf46674726ea3e28fa21a7e27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Von=20L=E2=80=98Hospital?= <44203525+2456178759@users.noreply.github.com> Date: Mon, 14 Jan 2019 19:40:01 +0800 Subject: [PATCH] final --- account.txt | 1 + banktest.c | 375 +++++++++++++++++++++++++++++++++++++++++++++++++++ banktest.exe | Bin 0 -> 36032 bytes banktest.o | Bin 0 -> 9051 bytes 4 files changed, 376 insertions(+) create mode 100644 account.txt create mode 100644 banktest.c create mode 100644 banktest.exe create mode 100644 banktest.o diff --git a/account.txt b/account.txt new file mode 100644 index 0000000..2213ce2 --- /dev/null +++ b/account.txt @@ -0,0 +1 @@ +132 12 123 123.00 diff --git a/banktest.c b/banktest.c new file mode 100644 index 0000000..e77c5f1 --- /dev/null +++ b/banktest.c @@ -0,0 +1,375 @@ +#include +#include +#include +#include +#define BUFFERSIZE 1024 +#define MAXACCOUNT 1000 +#define ADMINISTRATIOR 123456 + +typedef struct bankaccount//定义账户格式 +{ + int account; + int key; + char name[32]; + float balance; +}BANKACCOUNT; +BANKACCOUNT accountcollection[MAXACCOUNT]; +int cur_account = 0; + + +void insert_account(FILE *fp, int accountnum)//新建账户 +{ + BANKACCOUNT newaccount; + newaccount.account = accountnum; + int subkey; + + printf("请输入账号信息\n"); + printf(">>您的账号为:"); + printf("%d\n", accountnum); + printf(">>请您输入密码:"); + scanf("%d",&(newaccount.key)); + system("cls"); + printf("请您再次输入刚才的密码:\n"); + do{ + scanf("%d", &subkey); + getchar(); + if (subkey == newaccount.key) + break; + else + printf("两次的密码不一样!\n请再次输入第一次的密码或输入0退出注册\n"); + }while (subkey != 0); + if (subkey != 0) + { + printf("密码设置成功!\n 请您完善个人信息\n"); + printf(">>姓名:"); + scanf("%s",newaccount.name); + printf(">>请您输入初始余额:"); + scanf("%f",&(newaccount.balance)); + fseek(fp,0L,SEEK_END); + fprintf(fp,"%d %d %s %.2f\n",newaccount.account,newaccount.key,newaccount.name,newaccount.balance); + printf("账户创建成功!\n"); + } + else + printf("创建失败!"); +} +void store_account(FILE*fp) +{ + int i = 0; + for(i = 0;i 0) + { + switch(i) + { + case 1: + if(!(fp = fopen("account.txt","a+"))) + { + printf("打开账户文件失败!\n"); + exit(0); + } + printf("请您输入初始账户:\n"); + scanf("%d", &accountnum); + while (search_account(fp,accountnum,0) && accountnum != 0) + { + printf("该账户号已被占用!\n您可以继续输入账户号或连续输入两次0结束创建。\n"); + scanf("%d\n", &accountnum); + } + if(accountnum != 0) + insert_account(fp, accountnum); + else + printf("创建失败!\n"); + printf("点击回车返回主菜单!\n感谢您的使用!"); + getch(); + fclose(fp); + break; + + case 2: + if(!(fp = fopen("account.txt","r"))) + { + printf("该系统暂无用户信息!\n"); + exit(0); + } + printf("请输入管理员密码:\n"); + long int n; + scanf("%ld", &n); + while (n != ADMINISTRATIOR) + { + printf("请输入正确的密码或输入0返回上一层:\n"); + scanf("%ld", &n); + if (n == 0) + break; + } + if (n != 0) + { + + get_account(fp); + list_account(fp); + fclose(fp); + printf("点击回车结束本次操作!\n感谢您的使用!\n"); + getch(); + } + break; + + case 3: + printf("请输入账号:\n"); + scanf("%d",&accountnum); + if(!(fp = fopen("account.txt","r"))) + { + printf("打开账户文件失败!\n"); + exit(0); + } + get_account(fp); + if(!search_account(fp,accountnum,1)) + printf("此账户不存在:%d\n",accountnum); + fclose(fp); + printf("点击回车结束本次操作!\n感谢您的使用!"); + getch(); + break; + + case 4: + printf("请输入账号:\n"); + scanf("%d",&accountnum); + if(!(fp = fopen("account.txt","r"))) + { + printf("打开账户文件失败!\n"); + exit(0); + } + get_account(fp); + fclose(fp); + if(!(fp = fopen("account.txt","w+"))) + { + printf("打开账户文件失败!\n"); + exit(0); + } + del_account(fp,accountnum); + fclose(fp); + printf("点击回车结束本次操作!\n感谢您的使用!"); + getch(); + break; + + case 5: + printf("请输入账号\n"); + scanf("%d",&accountnum); + if(!(fp = fopen("account.txt","r"))) + { + printf("打开账户文件失败!\n"); + exit(0); + } + get_account(fp); + fclose(fp); + if(!(fp = fopen("account.txt","w+"))) + { + printf("打开账户文件失败!\n"); + exit(0); + } + if(search_account(fp,accountnum,0)) + { + int i = search_account(fp,accountnum, 0) - 1; + int key; + do{ + printf("请输入正确的密码或输入0退出该功能项:"); + scanf("%d", &key); + system("cls"); + if(search_key(fp, key, i)) + break; + }while ( key != 0); + while (key != 0) + { + system("cls"); + printf("********************************************\n"); + printf("请输入开头的数字选择您要进行的操作\n"); + printf("0 :退出选择\n"); + printf("1 :取款\n"); + printf("2 :存款\n"); + printf("********************************************\n"); + scanf("%d", &key); + system("cls"); + if (key >= 0&&key <=2) + { + switch(key) + { + case 1: + printf("请您输入您要取出的金额:"); + scanf("%f", &withdraw); + if(accountcollection[i].balance > withdraw) + { + accountcollection[i].balance -= withdraw; + printf("\n您现在的余额为 %.2f¥\n", accountcollection[i].balance); + } + else + printf("您的余额不足\n"); + printf("点击回车继续操作\n"); + getch(); + break; + + + case 2: + printf("请您输入您要存入的金额:"); + scanf("%f", &store); + accountcollection[i].balance += store; + printf("\n您现在的余额为 %.2f¥\n", accountcollection[i].balance); + printf("点击回车继续操作\n"); + getch(); + break; + + + default : + printf("感谢使用\n"); + break; + } + } + else + { + printf("无效指令,请输入1 —2中的任意一个整数.\n"); + printf("点击回车继续操作\n"); + getch(); + } + } + } + else + printf("账户不存在\n"); + store_account(fp); + fclose(fp); + printf("点击回车继续操作\n"); + getch(); + break; + + + default: + printf("感谢您的使用!\n"); + break; + } + } + else + { + printf("无效指令,请输入1 —6中的任意一个整数.\n"); + printf("点击回车继续操作\n"); + getch(); + } + +}while(i != 6); + + return 0; +} + diff --git a/banktest.exe b/banktest.exe new file mode 100644 index 0000000000000000000000000000000000000000..677612f053f07744c01c14f3daa8c9df1832f168 GIT binary patch literal 36032 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 X(c+UFsWQ!+?W%7SwfMxWOmY1;*`+W? literal 0 HcmV?d00001