❶ 用c语言编写银行帐户账户管理系统
使用 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; } 没有写完,楼主可以参考一下!
❸ 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语言或C++ 银行卡管理系统
#include<iostream>
#include<cstring>
using namespace std;
class count
{
public:
friend class ATM;
count (char Name[],char Num[],float Money,char Password[]); //初始化
protected:
char * get_name(); //返回姓名
char * get_num(); //返回卡号
char * get_password(); //返回密码
float get_money(); //返回金额
void set_password(char pwd[]); //设置密码
void set_money(float m); //取钱
private:
char password[6]; //用户密码
char name[20]; //用户姓名
char num[20];
float money;
};
class ATM
{
public:
ATM(count & cn):ctm(cn){}
void welcome(); //登陆界面
bool check_password(char p[],char pwd[]); //核对密码
void change_password(); //修改密码
void get_money(); //取钱
void get_information(); //查询信息
void exit_ATM(); //退出ATM
void show_function(); //功能界面
void push_card(); //吞卡
private:
int times; //记录输入密码的次数
count & ctm;
};
//构造ATM的函数
void ATM::welcome() //构造welcome
{
times=0;
cout<<"欢迎使用ATM模拟自动取款机"<<endl;
cout<<"-------------------------"<<endl;
cout<<"请选择:\n1.新开帐户\t2.客户服务\t3.退出系统"<<endl; //输出主菜单
char pwd[7],num[20]; //6位密码19位卡号
int i=0;
do
{
cout<<"请输入卡号";
cin>>num;
cout<<"请输入密码:";
cin>>pwd;
if(!check_password(num,pwd))
{
cout<<"你输入的密码有错误,请重新输入"<<endl;
times++;
}
else
{
show_function();
}
}while(times<3);
push_card();
}
bool ATM::check_password(char num[],char pwd[]) //构造核对密码
{
if(strcmp(num,ctm.get_num())==0&&strcmp(pwd,ctm.get_password())==0)
return true;
else
return false;
exit(0);
}
void ATM::show_function() //构造功能界面
{
int n;
do
{
cout<<"1)修改密码"<<endl;
cout<<"2)取款"<<endl;
cout<<"3)查询余额"<<endl;
cout<<"4)退出系统"<<endl;
cout<<"请选择相关功能的代号:";
cin>>n;
while(n<1&&n>>4)
{
cout<<"请输入正确的操作序号!"<<endl;
cout<<"请选择相关功能的代号:";
cin>>n;
}
switch(n)
{
case 1:change_password(); break;
case 2:get_money(); break;
case 3:get_information(); break;
case 4:exit_ATM(); break;
}
}while(true);
}
void ATM::change_password() //构造修改密码
{
char pwd[7],repwd[7];
times=0;
do
{
cout<<"请输入原密码:";
cin>>pwd;
//if(!check_password(ctm.get_password(),pwd))
if(!check_password(ctm.get_num(),pwd))
times++;
else
break;
}while(times<2);
if(times==2)
push_card();
int m=0;
do
{
cout<<"请输入新密码:";
cin>>pwd;
cout<<"请再输入一次新密码:";
cin>>repwd;
if((m=strcmp(pwd,repwd))!=0)
cout<<"你输入的两次密码不一样,请重新输入!";
}while(m!=0);
ctm.set_password(pwd);
cout<<"密码修改成功,请牢记新密码!"<<endl;
}
void ATM::get_money() //构造取钱
{
float m;
char ch;
do
{
cout<<"请输入所取金额:";
cin>>m;
while(m<=0)
{
cout<<"请输入正确的数字!"<<endl;
cin>>m;
}
if(ctm.get_money()-m<0)
{
cout<<"对不起,你的余额不足!"<<endl;
}
else
{
ctm.set_money(m);
cout<<"是否要继续(Y/N):";
cin>>ch;
while(ch!='n'&&ch!='N'&&ch!='y'&&ch!='Y')
{
cout<<"请根据提示输入正确命令!"<<endl;
cout<<"是否要取出所选金额(Y/N)";
cin>>ch;
}
}
}while(ch=='y'||ch=='Y');
}
void ATM::get_information() //构造查询信息
{
cout<<"********************"<<endl;
cout<<"用户姓名:"<<ctm.get_name()<<endl;
cout<<"卡号:"<<ctm.get_num()<<endl;
cout<<"余额:"<<ctm.get_money()<<endl;
cout<<"********************"<<endl;
}
void ATM::push_card() //构造吞卡
{
cout<<"由于你的不当操作,你的的卡已经被没收。"<<endl;
cout<<"请您持相关证件到当地营业厅办理相关手续。"<<endl;
exit(1);
}
void ATM::exit_ATM() //构造退出ATM
{
cout<<"欢迎下次光临!"<<endl;
cout<<"请取卡... ..."<<endl;
exit(0);
}
count ::count (char Name[],char Num[],float Money,char Password[]) //构造初始化
{
strcpy(name,Name);
strcpy(num,Num);
money=Money;
strcpy(password,Password);
}
float count ::get_money() //构造返回金额
{
return money;
}
char *count ::get_name() //构造返回用户名
{
return name;
}
char *count ::get_num() //构造返回卡号
{
return num;
}
char *count ::get_password() //构造返密码
{
return password;
}
void count ::set_password(char pwd[]) //构造修改密码
{
strcpy(password,pwd);
}
void count ::set_money(float m)
{
money-=m;
}
int main() //主函数
{
count ctm("mianchuang","0001",1000000,"123"); //创建对象 调用初始化
ATM atm(ctm);
atm.welcome(); //主程序调用开始
}
不知道能不能满足你的要求
❺ 求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);
}
}
❻ c语言 设计一个银行管理系统
功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。分步实施:1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2、建立一个文件,输入客户的必要信息,能对文件进行显示、输入、修订、删除等。3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。要求:1、用C语言实现系统;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分 。2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等要求:标明所用函数的用途和目的,简单叙述制作思路。
是否可以解决您的问题?
❼ 怎样编写 c语言 银行账户信息管理系统
参考如下:
#include<conio.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
charcFile[]="date.txt";
structbank
{
charid[10+1];
charpsw[6+1];
doublemoney;
};
welcome1()
{
printf(" 欢迎使用虚拟银行自动取款机服务! ");
printf("请选择功能: ");
printf(" ================================================= ");
printf("||请输入序号|| ");
printf("||1.新用户开户。|| ");
printf("||2.老用户登陆。|| ");
printf("||3.退出系统。|| ");
printf("================================================= ");
}
welcome2()
{
printf(" 注册须知 ");
printf("************************************************** ");
printf("*1.请填写您的真实资料!* ");
printf("*2.开户首期必须存入100元以上* ");
printf("************************************************** ");
}
welcome3()
{
printf(" 3欢迎进入虚拟银行系统3 ");
printf(" ");
printf("11 请选择功能:1.取款(最多透资2000);11 ");
printf("11 2.存款;11 ");
printf("11 3.查询余额;11 ");
printf("11 4.修改密码;11 ");
printf("11 5.返回主页面;11 ");
printf("11 任意键退出.11 ");
printf(" ");
}
intsearch(char*user,char*pwd,char*real_pwd)/*判断帐号是否相同,不相同返回1*/
{
FILE*file;
charuser_buff[256],pwd_buff[256];
file=fopen(cFile,"r");
if(!file)return0;
while(!feof(file))
{
if(fscanf(file,"%s%s ",user_buff,pwd_buff)==EOF)return0;
if(!strcmp(user_buff,user))
{
if(real_pwd)strcpy(real_pwd,pwd_buff);
return1;
}
}
fclose(file);
return0;
}
intadd(char*user,char*pwd,doublecoin_n)
{
FILE*file;
file=fopen(cFile,"a");
if(!file)return0;
fprintf(file,"%s%s%.2lf ",user,pwd,coin_n);
fclose(file);
return0;
}
intwenjian(char*user,char*pwd,doublecoin)
{
if(search(user,pwd,NULL))return0;
elseadd(user,pwd,coin);
return1;
}
zhuce()/*注册*/
{
structbank*p;
inti=0,k=0,judge1,judge2;
charname[30];
charsex,ch;
charsh[18];
intn;
p=(structbank*)malloc(sizeof(structbank));/*给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("您输入的名字有误! ");
printf(" 请选择:按1返回主页面.按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
elseexit(0);
}
}
if(sex!='1'&&sex!='2')/*判断输入信息是否正确*/
{
printf("您输入的性别不对! ");
printf(" 请选择:按1返回主页面.按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
elseexit(0);
}
if(strlen(sh)!=18)/*判断输入信息是否正确*/
{
printf("您输入的身份证号码不全! ");
printf(" 请选择:按1返回主页面.按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
elseexit(0);
}
for(n=0;n<strlen(sh)-1;n++)/*判断输入信息是否正确*/
{
if(sh[n]<48||sh[n]>57)
{
printf("您输入的身份证号码非法! ");
printf(" 请选择:按1返回主页面.按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
elseexit(0);
}
else
{
if(sh[18]!='x'&&sh[18]<48&&sh[18]>57)
{
printf("您输入的身份证号码非法! ");
printf(" 请选择:按1返回主页面.按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
elseexit(0);
}
}
}
printf("请输入您的帐号(10位纯数字): ");
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位纯数字): ");
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位纯数字! ");
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("您的注册信息如下,请牢记: ");
printf("名字:");
puts(name);
printf("性别代码:%c ",sex);
printf("身份证号码:");
puts(sh);
printf("帐号:");
puts(p->id);
printf("密码:");
puts(p->psw);
printf("您帐户里的余额为:%.2lf ",p->money);
printf("请选择:按1返回主页面.按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
elseexit(0);
}
else/*如有相同帐号,注册失败*/
{
system("cls");
printf("您输入的帐号已经存在!注册失败! ");
printf("请选择:按1返回主页面.按任意键退出:");
scanf("%c",&ch);
if(ch=='1'){system("cls");main();}
elseexit(0);
}
}
gongneng(charAccount[10+1],charPassword[6+1],doubleMoney)/*登陆成功后的功能界面*/
{
FILE*ps;
structbankxin[1000];
intk=0,b=0;
charmima[6+1],Chiose,x;
charcount[10+1],word[6+1];
doubleinmoney,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 ",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 ",xin[b].money);
fprintf(ps,"%s%s%.2lf ",xin[b].id,xin[b].psw,xin[b].money);
b++;
}
}
}
denglu()/*登陆*/
{
FILE*fp;
characcount[10+1],password[6+1],h;
intm=0;
charreal_account[10+1];/*帐号缓存*/
charreal_password[6+1];/*密码缓存*/
doublereal_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);
return0;
}
}
rewind(fp);/*重新打开文件,进行新一轮的密码验证*/
printf("您输入的帐号不存在或密码不正确! 请重新输入: ");
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);
}
intmain()
{
charchiose;
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语言银行管理系统,跪求,跪求
C语言期末测试题(开卷) 设计一个银行账户管理程序 , 账户的信息有账户唯-)、 姓名、余额、身份证号码、单位、电话号码、 地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询。基本要求: 程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户送支,根据姓名或账号可以进行用户的信息查询,所有的账号信息可存放一个数组中或者链表中,可以随时访问和更新,测试数据 程序应输入不少于5人的账户信息, 应考虑到人员同名的情况。实现提示: 可以定义一个数组或者链表来存候账户的信息。实现开户、销户、存款、职款、转账、查询等函数
❾ C语言设置银行帐户管理系统
#include #include 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; } 没有写完,楼主可以参考一下!