导航:首页 > 产品平台 > c语言储蓄综合平台1

c语言储蓄综合平台1

发布时间:2021-08-01 04:22:13

㈠ 编写一个关于“ATM系统”c语言程序。 要求,1功能:存钱,取钱,转账,修改密码,只要现实中有的都得有,

下面的是我自己写的一个, 里面很多细节都没有进行细致的处理, 只是粗略的实现了基本的功能
后面有我的测试数据, 希望能有帮助

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct _account
{
char * UID;
char * pwd;
int balance;
char * UName;
}ACCOUNT, * PACCOUNT;

void InitAccount(PACCOUNT pA); // 初始化账户
void showAccount(ACCOUNT A, bool flag); // 显示账户信息, flag表示是否显示全部信息. 如果是true则需要输入用户密码
bool deposite(PACCOUNT pA); // 存钱, 内部需要密码验证并输入金额
bool withDraw(PACCOUNT pA); // 取钱, 内部需要密码验证并输入金额
bool transfer(PACCOUNT pA, PACCOUNT pB); // 转账, 需要密码验证, 并输入金额
bool conct(PACCOUNT pA, int chose, PACCOUNT pB); // 处理, 就是根据菜单项处理用户的操作选择
void modifyPwd(PACCOUNT pA); // 更改用户密码
bool Authentication(PACCOUNT pA); // 密码认证, 3次机会输入密码
void memFree(PACCOUNT pA, PACCOUNT pB); // 在堆上分配的内存的释放

int main(void)
{
// 建立两个账户, 分别是操作账户和接受转账的账户
PACCOUNT pMainAcc = (PACCOUNT)malloc(sizeof(ACCOUNT));
PACCOUNT pAssistAcc = (PACCOUNT)malloc(sizeof(ACCOUNT));

// 初始化两个账户的信息
InitAccount(pMainAcc);
InitAccount(pAssistAcc);

// 进行菜单控制, 提供用户操作
int chose = -1;
while(chose != 0)
{
printf("\n1. 存钱\t2. 取钱\t3. 转账\t4. 更改密码\t5. 显示账户信息\t0.退出\n");
scanf("%d", &chose);

conct(pMainAcc, chose, pAssistAcc);
}

return 0;
}

bool conct(PACCOUNT pA, int chose, PACCOUNT pB)
{
bool rtnflag = true;
switch(chose)
{
case 1:
if(!deposite(pA))
printf("操作失败!");
else
printf("操作成功!");
break;

case 2:
if(!withDraw(pA))
printf("操作失败!");
else
printf("操作成功!");
break;

case 3:
if(!transfer(pA, pB))
printf("操作失败!");
else
printf("操作成功!");
break;

case 4:
modifyPwd(pA);
break;

case 5:
showAccount(*pA, true);
break;

case 0:
rtnflag = false;
memFree(pA, pB);
break;
}
return rtnflag;
}

void InitAccount(PACCOUNT pA)
{
printf("请初始化账户名, 密码, 姓名, 账户余额.\n");
pA->UID = (char *)malloc(sizeof(char)*20);
pA->pwd = (char *)malloc(sizeof(char)*20);
pA->UName = (char *)malloc(sizeof(char)*20);
gets(pA->UID);
gets(pA->pwd);
gets(pA->UName);
scanf("%d", &pA->balance);
getchar();
return ;
}

void showAccount(ACCOUNT A, bool flag)
{
if(flag)
{
int i = 0;
getchar();
char * tmpPwd = (char *)malloc(sizeof(char)*20);
while(strcmp(tmpPwd, A.pwd))
{
printf("请输入账户%s的密码:\n", A.UID);
gets(tmpPwd);
if(++i > 3)
{
printf("对不起, 密码输入错误!只能显示部分信息!\n");
showAccount(A, false);
free(tmpPwd);
return ;
}
}
printf("账户信息如下:\n账户名\t账户密码\t账户余额\t姓名\n");
printf("%6s\t%8s%8d\t%8\ts\n", A.UID, A.pwd, A.balance, A.UName);
free(tmpPwd);
}
else
{
printf("账户信息如下:\n账户名\t账户余额\t姓名\n");
printf("%6s\t%8d\t%4s\n", A.UID, A.balance, A.UName);
}

return ;
}

bool deposite(PACCOUNT pA)
{
if(!Authentication(pA))
return false;
int val = 0;
printf("请输入金额:\n");
scanf("%d", &val);
pA->balance += val;

return true;
}

bool withDraw(PACCOUNT pA)
{
if(!Authentication(pA))
return false;

printf("请输入金额");
int val = 0;
scanf("%d", &val);

if(pA->balance >= val)
{
pA->balance -= val;
}
else
{
printf("对不起, 余额不足!");
return false;
}

return true;
}

bool transfer(PACCOUNT pA, PACCOUNT pB)
{
if(!Authentication(pA))
return false;
printf("请输入金额");
int val = 0;
scanf("%d", &val);

if(pA->balance >= val)
{
pA->balance -= val;
pB->balance += val;
}
else
{
printf("对不起, 余额不足!");
return false;
}

return true;
}

void modifyPwd(PACCOUNT pA)
{
if(Authentication(pA))
{
printf("请输入新的密码!");
free(pA->pwd);
pA->pwd = (char *)malloc(sizeof(char)*20);
gets(pA->pwd);
}
else
{
printf("对不起, 您没有权限进行密码修改!");
}
}

bool Authentication(PACCOUNT pA)
{
getchar();
int i = 0;
char * tmpPwd = (char *)malloc(sizeof(char)*20);
while(strcmp(tmpPwd, pA->pwd))
{
printf("请输入%s的密码, 3次机会:\n", pA->UID);
gets(tmpPwd);
if(++i == 3)
{
return false;
}
}

return true;
}

void memFree(PACCOUNT pA, PACCOUNT pB)
{
free(pA);
free(pB);

return ;
}

/*
运行环境: VC6.0

请初始化账户名, 密码, 姓名, 账户余额.
wed
qweasd
wednesday
800
请初始化账户名, 密码, 姓名, 账户余额.
hu
sad
huni
200

1. 存钱 2. 取钱 3. 转账 4. 更改密码 5. 显示账户信息 0.退出
1
请输入wed的密码, 3次机会:
qwe
请输入wed的密码, 3次机会:
qweasd
请输入金额:
54
操作成功!
1. 存钱 2. 取钱 3. 转账 4. 更改密码 5. 显示账户信息 0.退出
5
请输入账户wed的密码:
qwe
请输入账户wed的密码:
qweasd
账户信息如下:
账户名 账户密码 账户余额 姓名
wed qweasd 854 s

1. 存钱 2. 取钱 3. 转账 4. 更改密码 5. 显示账户信息 0.退出
4
请输入wed的密码, 3次机会:
123
请输入wed的密码, 3次机会:
qweasd
请输入新的密码!123qwe

1. 存钱 2. 取钱 3. 转账 4. 更改密码 5. 显示账户信息 0.退出
1
请输入wed的密码, 3次机会:
qweasd
请输入wed的密码, 3次机会:
123qwe
请输入金额:
43
操作成功!
1. 存钱 2. 取钱 3. 转账 4. 更改密码 5. 显示账户信息 0.退出
5
请输入账户wed的密码:
123qwe
账户信息如下:
账户名 账户密码 账户余额 姓名
wed 123qwe 897 s

1. 存钱 2. 取钱 3. 转账 4. 更改密码 5. 显示账户信息 0.退出
0
Press any key to continue

*/

㈡ 跪求银行定期储蓄管理系统的c语言程序代码,急!!!

呵呵 以前有人编写过,自己查一下吧

㈢ 请大家帮忙用C语言做一个 活期储蓄帐目管理 要求在详细提问里,谢谢了

说吧 怎么贿赂我,要不,你懂的,既然被我看见了,不贿赂一下,咱数据结构老师也会很快看见滴

㈣ 用C语言编一个程序,建立一个简单的银行帐户管理系统

#include <stdio.h> #include <string.h> struct information { char account[20]; char IDcardNum; char workUint; char homeAddress; float money; char cardNum; long int password; }; void openAccount(); { cardNum++; user[cardNum].cardNum = cardNum; printf("请输入您的姓名:"); gets(user[cardNum].account); printf("请输入您的身份证号:"); gets(user[cardNum].IDcardNum); printf("请输入您的工作单位:"); gets(user[cardNum].workUnit); print("请输入您的家庭住址:"); gets(user[cardNum].homeAddress); printf("请输入您的密码:"); gets(user[cardNum].password); printf("请输入您要存入的金额:"); scanf("%d",user[cardNum].money); //写入文件out.txt中,写入后,光标移至下一行 read();//读取文件 write(); //写入文件 cardNum++; } void deposit(); { int money; printf("请输入您的卡号:"); scanf("%d",&cardNum); printf("请输入您要存入的金额:"); scanf("%f",money); user[cardNum].money = user[cardNum].money + money; printf("您现在账户中的余额是¥%f",user[cardNum].money); } void withdraw(); { int money; printf("请输入您的卡号:"); scanf("%d",&cardNum); printf("请输入您要存入的金额:"); scanf("%f",money); user[cardNum].money = user[cardNum].money - money; printf("您现在账户中的余额是¥%f",user[cardNum].money); } void changeInformation(); { printf("请输入您的卡号:"); scanf("%d",&cardNum); user[cardNum].cardNum = cardNum; printf("请输入您的姓名:"); gets(user[cardNum].account); printf("请输入您的身份证号:"); gets(user[cardNum].IDcardNum); printf("请输入您的工作单位:"); gets(user[cardNum].workUnit); print("请输入您的家庭住址:"); gets(user[cardNum].homeAddress); printf("请输入您的密码:"); gets(user[cardNum].password); printf("请输入您要存入的金额:"); scanf("%d",user[cardNum].money); //写入文件out.txt中,写入后,光标移至下一行 read();//读取文件 write(); //写入文件 } void reportLoss(); { } void closeAccount(); { } void read(); { } void write(); { } int main() { int i; unsigned long int cardNum = 00001; information user[cardNum]; printf("请您选择要进行的操作:\n"); printf("------------------------------------------------------\n"); printf("1、开户/办卡 2、存款 3、取款 4、修改信息 5、挂失 6、销户\n"); printf("------------------------------------------------------\n"); scanf("%d",&i); if(i < 1 || i > 6) printf("ERROR!\n"); else { switch(i) { case 1 : openAccount(); break; case 2 : deposit(); break; case 3 : withdraw(); break; case 4 : changeInformation(); break; case 5 : reportLoss(); break; case 6 : closeAccount(); break; } } return 0; } 没有写完,楼主可以参考一下!

㈤ 1. 建立一个简单的C语言成绩存储管理系统

我有类似源代码

㈥ 求c语言实验代码和详解,要求是银行储蓄系统,要能提供以下几个基本功能: (1) 工作人员根据口令进

/*时间有限bug应该蛮多没改多少,操作不难只是麻烦了点毕竟技术有限,不少要求未完成你可以参考一下
事先在工程目录下创建001.txt作为存单文件
写入的顺序是,存期以月为单位
存单编号 储户姓名 身份证编号 住址 联系电话 存款金额 存期 密码
参考数据如下,直接复制,最后不要加换行
1001 张三 340755199212050866 花园路22号 13955667788 20000 48 123321
1002 李四 340866199305252233 逗比小区2栋11号 13155669988 3000 20 123321
1003 王五 34000000000000000X 沿江路75号 18666667777 200 2 123321
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//以下,利率
#define r1 0.0035//活期,三个月以下默认活期
#define r2 0.0135//三个月
#define r3 0.0155//半年
#define r4 0.0175//一年
#define r5 0.0235//两年
typedef struct Check//账单结构体
{
//存单编号,储户姓名,身份证编号,住址,联系电话,存款金额,存期,密码
char num[10];
char holder[8];
char ID[20];
char address[30];
char tel[15];
float money;
int time;//存期,单位 月
//int rate;//感觉利率没有必要加入
char pass[8];
}check;

check a[20];//存单数组
char command[10]="123654";//登陆口令
int sum;//存单数目

void menu();
void add();
void search();
void alter();
void coalter();
void main_menu();

void init()//初始化,读入txt数据
{
FILE *p;
int i=0;
p=fopen("001.txt","r");
if(!p)
{
return;
}
while(!feof(p))
{
fscanf(p,"%s%s%s%s%s%f%d%s",a[i].num,a[i].holder,a[i].ID,a[i].address,a[i].tel,&a[i].money,&a[i].time,a[i].pass);
/*if(a[i].time<3)a[i].rate=r1;
else if(a[i].time<6)a[i].rate=r2;
else if(a[i].time<12)a[i].rate=r3;
else if(a[i].time<24)a[i].rate=r4;
else a[i].rate=r5;*/
i++;
}
sum=i;//记录账单数目
fclose(p);
}

int main()//main函数
{
init();
main_menu();
}

void main_menu()//登陆界面
{
system("cls");
char password[10];
printf("======欢迎使用银行系统======\n\n\n请输入登陆口令:");
while(1)
{
scanf("%s",password);
if(strcmp(password,command)==0)
{
menu();
}
else
printf("口令错误请重新输入:");
}
}

void menu()//主界面
{
system("cls");
char c;
printf("======****选择操作****======\n\n");
printf("\t1.存单录入\n");
printf("\t2.存单查询\n");
printf("\t3.储户操作\n");
printf("\t4.口令修改\n");
printf("\t5.返回登陆\n");
printf("\t选择:");
scanf("%c",&c);
scanf("%c",&c);
if(c>='1'&&c<='5')
{
switch(c)
{
case '1':add();break;
case '2':search();break;
case '3':alter();break;
case '4':coalter();break;
case '5': main_menu();
}
}
else return;
}

void add()//添加存单
{
system("cls");
char c;
int i;
printf("======****添加操作****======\n");
printf("请输入添加存单编号:");
scanf("%s",a[sum].num);
for(i=0;i<sum;i++)
{
if(strcmp(a[sum].num,a[i].num)==0)
{
printf("该存单号已存在,是否重新输入(y确认,其他键返回):");
scanf("%c",&c);
scanf("%c",&c);
if(c=='y'||c=='Y')add();
else menu();
break;
}
}//确保没有重复单号
printf("请完善存单信息(不同项用空格间隔,请确认信息正确)\n");
printf("储户姓名 身份证编号 住址 联系电话 存款金额 存期 密码\n");
scanf("%s",a[sum].holder);
c=getchar();
scanf("%s",a[sum].ID);
c=getchar();
scanf("%s",a[sum].address);
c=getchar();
scanf("%s",a[sum].tel);
c=getchar();
scanf("%f",&a[sum].money);
c=getchar();
scanf("%d",&a[sum].time);
c=getchar();
scanf("%s",a[sum].pass);
/*if(a[i].time<3)a[sum].rate=r1;
else if(a[i].time<6)a[sum].rate=r2;
else if(a[i].time<12)a[sum].rate=r3;
else if(a[i].time<24)a[sum].rate=r4;
else a[sum].rate=r5;*/
sum++;//以上利率可考虑是否填入
FILE *p;
printf("录入存单信息...\n");
p=fopen("001.txt","w");
fclose(p);
p=fopen("001.txt","a");
for(i=0;i<sum;i++)
fprintf(p,"%s %s %s %s %s %.2f %d %s\n",a[i].num,a[i].holder,a[i].ID,a[i].address,a[i].tel,a[i].money,a[i].time,a[i].pass);
fclose(p);
printf("录入成功...\n");
printf("是否继续添加存单(y确认,其他键返回):");
scanf("%c",&c);
scanf("%c",&c);
if(c=='y'||c=='Y')add();
else menu();
}

void search()//查找
{
system("cls");
char c;
int i;
char nu[10];
printf("======****查询操作****======\n\n");
printf("请输入查询存单号:");
scanf("%s",nu);
for(i=0;i<sum;i++)
if(strcmp(nu,a[i].num)==0)
{
printf("查询存单信息如下\n");
printf("储户姓名:%s\t身份证:%s\n",a[i].holder,a[i].ID);
printf("住址:%s\n电话:%s\t金额:%.2f\n",a[i].address,a[i].tel,a[i].money);
printf("存期:%d\t密码:%s\n",a[i].time,a[i].pass);
printf("\n任意键输入返回:");
scanf("%c",&c);
scanf("%c",&c);
menu();
}
printf("未查找到该账单,是否重新查找(y确认,其他键返回):");
scanf("%c",&c);
scanf("%c",&c);
if(c=='y'||c=='Y')add();
else menu();
}

void alter()//取款
{
system("cls");
char c;
int i;
float rate;
FILE *p;
char nu[10];
printf("======****取款操作****======\n\n");
printf("请输入存单编号:");
scanf("%s",nu);
for(i=0;i<sum;i++)
if(strcmp(nu,a[i].num)==0)
{
printf("请输入密码:");
scanf("%s",nu);
if(strcmp(nu,a[i].pass)==0)
{
printf("取款成功\n");
if(a[i].time<3)rate=r1;
else if(a[i].time<6)rate=r2;
else if(a[i].time<12)rate=r3;
else if(a[i].time<24)rate=r4;
else rate=r5;//得利率
printf("支付:本金%.2f 利率%.2f%% 利息%.2f\n",a[i].money,rate*100,a[i].money*rate);
printf("更新存单数据...\n");
p=fopen("001.txt","w");
fclose(p);
p=fopen("001.txt","a");
//以下,删除该存单(最后一单覆盖本存单)
strcpy(a[i].num,a[sum-1].num);
strcpy(a[i].holder,a[sum-1].holder);
strcpy(a[i].ID,a[sum-1].ID);
strcpy(a[i].address,a[sum-1].address);
strcpy(a[i].tel,a[sum-1].tel);
a[i].money=a[sum-1].money;
a[i].time=a[sum-1].time;
strcpy(a[i].pass,a[sum-1].pass);
sum--;
for(i=0;i<sum;i++)
fprintf(p,"%s %s %s %s %s %.2f %d %s\n",a[i].num,a[i].holder,a[i].ID,a[i].address,a[i].tel,a[i].money,
a[i].time,a[i].pass);
fclose(p);
printf("更新成功...\n");
printf("\n任意键输入返回:");
scanf("%c",&c);
scanf("%c",&c);
menu();
}
printf("密码不正确,请重新执行该操作...\n");
printf("\n任意键输入重新执行该操作:");
scanf("%c",&c);
scanf("%c",&c);
alter();
}
printf("未查找到该账单,是否重新执行(y确认,其他键返回):");
scanf("%c",&c);
scanf("%c",&c);
if(c=='y'||c=='Y')add();
else menu();
}

void coalter()//修改登陆口令
{
system("cls");
char c;
printf("======****口令修改****======\n\n");
printf("请输入新的登陆口令:");
scanf("%s",command);
printf("修改成功...");
printf("\n任意键输入返回:");
scanf("%c",&c);
scanf("%c",&c);
menu();
}

㈦ 用c语言如何写一个银行存取款管理设计

功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。分步实施:1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2、建立一个文件,输入客户的必要信息,能对文件进行显示、输入、修订、删除等。3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。要求:1、用C语言实现系统;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分 。2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等要求:标明所用函数的用途和目的,简单叙述制作思路。

㈧ C语言银行管理系统

#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
char cFile[] = "date.txt";
struct bank
{
char id[10+1];
char psw[6+1];
double money;
};
welcome1()
{
printf("\n\n\t\t欢迎使用虚拟银行自动取款机服务!\t\t\n\n");
printf("请选择功能:\n");
printf("\n=================================================\n");
printf(" || 请输入序号 ||\n");
printf(" || 1.新用户开户。 ||\n");
printf(" || 2.老用户登陆。 ||\n");
printf(" || 3.退出系统。 ||\n");
printf("=================================================\n");
}
welcome2()
{

printf("\n\n\t\t注册须知\n\n");
printf("**************************************************\n");
printf("* 1.请填写您的真实资料! *\n");
printf("* 2.开户首期必须存入100元以上 *\n");
printf("**************************************************\n");
}
welcome3()
{
printf("\n\n\t\t\3 欢迎进入虚拟银行系统 \3\n\n");
printf("\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\n");
printf("\1\1\t 请选择功能:1.取款(最多透资2000); \1\1\n");
printf("\1\1\t 2.存款; \1\1\n");
printf("\1\1\t 3.查询余额; \1\1\n");
printf("\1\1\t 4.修改密码; \1\1\n");
printf("\1\1\t 5.返回主页面; \1\1\n");
printf("\1\1\t 任意键退出. \1\1\n");
printf("\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\n");
}
int search(char* user, char* pwd, char* real_pwd)/*判断帐号是否相同,不相同返回1*/
{
FILE* file;
char user_buff[256], pwd_buff[256];
file = fopen(cFile, "r");
if (!file) return 0;
while (!feof(file))
{
if (fscanf(file, "%s%s\n", user_buff, pwd_buff) == EOF) return 0;
if (!strcmp(user_buff, user))
{
if (real_pwd) strcpy(real_pwd, pwd_buff);
return 1;
}
}
fclose(file);
return 0;
}
int add(char* user, char* pwd, double coin_n)
{
FILE* file;
file = fopen(cFile, "a");
if (!file) return 0;
fprintf(file, "%s %s %.2lf\n", user, pwd, coin_n);
fclose(file);
return 0;
}
int wenjian(char* user, char* pwd,double coin)
{
if (search(user, pwd, NULL)) return 0;
else add(user, pwd, coin);
return 1;
}
zhuce()/*注册*/
{
struct bank *p;
int i=0,k=0,judge1,judge2;
char name[30];
char sex,ch;
char sh[18];
int n;
p=(struct bank*)malloc(sizeof(struct bank));/*给p分配内存*/
welcome2();
printf("请输入您的名字(纯英文):");
gets(name);
printf("请输入您的性别(男:1 女2):");
fflush(stdin);
scanf("%c",&sex);
fflush(stdin);
printf("请输入您的身份证号码:");
gets(sh);
for(n=0;n<strlen(name);n++)/*判断输入信息是否正确*/
{
if(name[n]>='0'&&name[n]<='9')
{
printf("您输入的名字有误!\n");
printf("\n请选择:按1返回主页面. 按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
else exit(0);
}
}
if(sex!='1'&&sex!='2')/*判断输入信息是否正确*/
{
printf("您输入的性别不对!\n");
printf("\n请选择:按1返回主页面. 按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
else exit(0);
}
if(strlen(sh)!=18)/*判断输入信息是否正确*/
{
printf("您输入的身份证号码不全!\n");
printf("\n请选择:按1返回主页面. 按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
else exit(0);
}
for(n=0;n<strlen(sh)-1;n++)/*判断输入信息是否正确*/
{
if(sh[n]<48||sh[n]>57)
{
printf("您输入的身份证号码非法!\n");
printf("\n请选择:按1返回主页面. 按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
else exit(0);
}
else
{
if(sh[18]!='x'&&sh[18]<48&&sh[18]>57)
{
printf("您输入的身份证号码非法!\n");
printf("\n请选择:按1返回主页面. 按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
else exit(0);
}
}
}
printf("请输入您的帐号(10位纯数字):\n");
fflush(stdin);
scanf("%s",p->id);
fflush(stdin);
while(i <strlen(p->id))
{
if((p->id[i] < 48) || (p->id[i] > 57))
{
judge1=0;
}
i++;
}
while(strlen(p->id)!=10 ||judge1==0)/*判断帐号的正确性*/
{
printf("您输入的帐号不正确,必须为10位纯数字!");
printf("请重新输入(10位纯数字):");
fflush(stdin);
scanf("%s",p->id);
fflush(stdin);
}
printf("请输入您的密码(6位纯数字):\n");
fflush(stdin);
scanf("%s",p->psw);
fflush(stdin);
while(k <strlen(p->psw))
{
if((p->psw[k] < 48) || (p->psw[k] > 57))
{
judge2=0;
}
k++;
}
while(strlen(p->psw)!=6 ||judge2==0)/*判断密码形式的正确性*/
{
printf("您输入不正确!密码必须为6位纯数字!\n");
printf("请重新输入密码(6位纯数字):");
fflush(stdin);
scanf("%s",p->psw);
fflush(stdin);
}
printf("请输入您的首期存款:");
fflush(stdin);
scanf("%lf",&p->money);
fflush(stdin);
while((p->money)<100)
{
printf("您必须存入100元以上,请重新输入:");
fflush(stdin);
scanf("%lf",&p->money);
fflush(stdin);
}
if (wenjian(p->id,p->psw,p->money))/*存入文件并输出基本信息*/
{
system("cls");
printf("注册成功!");
printf("您的注册信息如下,请牢记:\n");
printf("名字:");
puts(name);
printf("性别代码:%c\n",sex);
printf("身份证号码:");
puts(sh);
printf("帐号:");
puts(p->id);
printf("密码:");
puts(p->psw);
printf("您帐户里的余额为:%.2lf\n",p->money);
printf("请选择:按1返回主页面. 按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
else exit(0);
}
else/*如有相同帐号,注册失败*/
{
system("cls");
printf("您输入的帐号已经存在!注册失败!\n");
printf("请选择:按1返回主页面. 按任意键退出:");
scanf("%c",&ch);
if(ch=='1'){system("cls");main();}
else exit(0);
}
}
gongneng(char Account[10+1],char Password[6+1],double Money)/*登陆成功后的功能界面*/
{
FILE *ps;
struct bank xin[1000];
int k=0,b=0;
char mima[6+1],Chiose,x;
char count[10+1],word[6+1];
double inmoney,outmoney,addmoney;
welcome3();
fflush(stdin);
scanf("%c",&Chiose);
fflush(stdin);
ps=fopen(cFile,"r");
if (!ps)
{
printf("不能打开文件!按任意键退出!");
fflush(stdin);
scanf("%c",&x);
fflush(stdin);
exit(0);
}
if(Chiose=='1')
{
printf("输入您的取款金额:");
fflush(stdin);
scanf("%lf",&outmoney);
fflush(stdin);
while(!feof(ps))
{
fscanf(ps, "%s %s %lf",&xin[k].id,&xin[k].psw,&xin[k].money);
k++;
}
fclose(ps);
ps=fopen(cFile,"wb");
if (!ps)
{
printf("不能打开文件!按任意键退出!");
fflush(stdin);
scanf("%c",&x);
fflush(stdin);
exit(0);
}

while(!feof(ps))
{
//printf("%s %s %.2lf\n",xin[b].id,xin[b].psw,xin[b].money);
if ((strcmp(Account, xin[b].id)==0)&&(strcmp(Password, xin[b].psw)==0))
{
xin[b].money=xin[b].money-outmoney;
}
printf("%.2lf\n",xin[b].money);
fprintf(ps, "%s %s %.2lf\n", xin[b].id, xin[b].psw, xin[b].money);
b++;
}
}
}
denglu()/*登陆*/
{
FILE *fp;
char account[10+ 1],password[6 + 1],h;
int m=0;
char real_account[10+ 1]; /* 帐号缓存 */
char real_password[6 + 1]; /* 密码缓存*/
double real_money_o=0.0; /*存款缓存*/
printf("请输入您的帐号(10位纯数字):");
gets(account);
printf("请输入您的密码(6位纯数字):");
gets(password);
fp = fopen(cFile, "r");
if (!fp)
{
printf("不能打开文件!按任意键退出!");
fflush(stdin);
scanf("%c",&h);
fflush(stdin);
exit(0);
}
while (m<=2) /*判断是否输入错3次了*/
{

while(fscanf(fp, "%s %s %lf", &real_account, &real_password,&real_money_o) != EOF) /*循环判断帐号密码*/
{
if ((strcmp(real_account, account)==0)&&(strcmp(real_password, password)==0))
{
system("cls");
printf("登陆成功!");
gongneng(real_account,real_password,real_money_o);
fclose(fp);
return 0;
}
}

rewind(fp); /*重新打开文件,进行新一轮的密码验证*/
printf("您输入的帐号不存在或密码不正确!\n请重新输入:\n");
m++;
printf("请输入您的帐号(10位纯数字):");
fflush(stdin);
gets(account);
fflush(stdin);
printf("请输入您的密码(6位纯数字):");
fflush(stdin);
gets(password);
fflush(stdin);
}
fclose(fp);
printf("您输入帐号密码不正确已经3次,您被强制退出系统(按任意键退出)!");
fflush(stdin);
scanf("%c",&h);
fflush(stdin);
exit(0);
}
int main()
{
char chiose;
welcome1();
scanf("%c",&chiose);
getchar();
if(chiose <='0' ||chiose>='4')
{
while(chiose <='0' || chiose>='4')
{
printf("您的输入有误,请重新输入:");
scanf("%c",&chiose);
getchar();
}
}
if(chiose=='1')
{
system("cls");
zhuce();/*注册*/
}
if(chiose=='2')
{
system("cls");
denglu();/*登陆*/
}
if(chiose=='3')
{
printf("谢谢您的使用!");
exit(0);
}
}
打字不易,如满意,望采纳。

㈨ c语言银行管理系统初学者,求代码不要太难,简单写一下代码

if (codeInput != code) {
printf("wrong input, try again");
InputCode();
}
else {
login();
}

㈩ 用C语言写一个银行AMT模拟系统

没有分呀 开玩笑呢吧
没人给你做的 至少要求100分

阅读全文

与c语言储蓄综合平台1相关的资料

热点内容
炒股可以赚回本钱吗 浏览:367
出生孩子买什么保险 浏览:258
炒股表图怎么看 浏览:694
股票交易的盲区 浏览:486
12款轩逸保险丝盒位置图片 浏览:481
p2p金融理财图片素材下载 浏览:466
金融企业购买理财产品属于什么 浏览:577
那个证券公司理财收益高 浏览:534
投资理财产品怎么缴个人所得税呢 浏览:12
卖理财产品怎么单爆 浏览:467
银行个人理财业务管理暂行规定 浏览:531
保险基础管理指的是什么样的 浏览:146
中国建设银行理财产品的种类 浏览:719
行驶证丢了保险理赔吗 浏览:497
基金会招募会员说明书 浏览:666
私募股权基金与风险投资 浏览:224
怎么推销理财型保险产品 浏览:261
基金的风险和方差 浏览:343
私募基金定增法律意见 浏览:610
银行五万理财一年收益多少 浏览:792