资源简介

C语言银行管理系统,没事自己写的,练习使用,不足之处大家指正。谢谢~

资源截图

代码片段和文件信息

/****************************************************
*                   银行管理系统                    *
*                                                   *
*   使用注意:1.修改FILEPATH路径                    *
*             2.可以将db.txt中内容删掉              *
*             3.本系统默认的管理员:账户  密码      *
*                                   123   admin123  *
*****************************************************/
#include 
#include 
#include 
#define ID_START 10000
#define PS_NUMBER 100
#define PWD_RESET “123456“
#define FILEPATH “F:\\MyC\\db.txt“

struct person{

int id;
char name[20];
char pwd[6];
float money;
int state;
}pps[PS_NUMBER];

int ps_num;  //ps中元素的实际数量

void inputPerson();
void writeIntoFile();
void mainMenu();
void personalMenu();
void adminMenu();
void queryPerson();
/*账户id创建*/
void makeId(){

int lastId=ID_START;

FILE *fp=fopen(FILEPATH“r“);
fseek(fp0SEEK_END);
if(ftell(fp)!=0){
fseek(fp-46SEEK_CUR);
fscanf(fp“%d“&lastId);
lastId++;
}
fclose(fp);

p.id=lastId;
printf(“创建账户成功,账户为%d\n“p.id);
}
/*是否继续开户控制*/
void createContinue(){

char ifContinue;
printf(“\n是否继续创建账户?n(否)\\y(是):“);
fflush(stdin);
scanf(“%c“&ifContinue);
if(ifContinue==‘y‘){
inputPerson();
}else{
if(ifContinue==‘n‘){
mainMenu();
}else{
printf(“输入错误,请重新输入...\n“);
createContinue();
}
}
}
/*开户信息输入*/
void inputPerson(){

system(“cls“);
p.money=0.0f;  //float double 类型会出错,必须先初始化一个值,才能使用输入

printf(“请输入用户的信息:\n“);
printf(“姓名:“);
scanf(“%s“p.name);
if(strlen(p.name)>6){
printf(“姓名过长,请重新输入...\n“);
inputPerson();
}

makeId();

char passCheck[6];
printf(“密码:“);
scanf(“%s“p.pwd);
printf(“确认密码:“);
scanf(“%s“passCheck);

while(strcmp(p.pwdpassCheck)!=0){
printf(“两次密码输入不一致,请重新输入...\n“);
printf(“密码:“);
scanf(“%s“p.pwd);
printf(“确认密码:“);
scanf(“%s“passCheck);
}
if(strlen(p.pwd)>6){
printf(“密码过长,请重新输入...\n“);
inputPerson();
}

printf(“存入的金额:“);
    scanf(“%f“&p.money);
p.state=1;

writeIntoFile();
createContinue();
}
/*保存一条记录*/
void writeIntoFile(){

FILE *fp=fopen(FILEPATH“r+“);

fseek(fp0SEEK_END);

fprintf(fp“%-10d“p.id);
fprintf(fp“%-10s“p.name);
fprintf(fp“%-10s“p.pwd);
fprintf(fp“%-13.2f“p.money);
fprintf(fp“%-1d“p.state);
fprintf(fp“%s““\n“);

fclose(fp);
}
/*读取所有记录*/
void readAllFromFile(){

FILE *fp=fopen(FILEPATH“r“);
//ps的实际大小
fseek(fp0SEEK_END);
if(ftell(fp)/46 ps_num=ftell(fp)/46;
}else{
ps_num=PS_NUMBER;
}
//读取数据到ps
fseek(fp0SEEK_SET);
for(int i=0;i fseek(fp46*iSEEK_SET);
fscanf(fp“%d“&ps[i].id);
fseek(fp46*i+10SEEK_SET);
fscanf(fp“%s“ps[i].name);
fseek(fp46*i+20SEEK_SET);
fscanf(fp“%s“ps[i].pwd);
fseek(fp46*i+30SEEK_SET);
fscanf(fp“%f“&ps[i].money);
fseek(fp46*i+43SEEK_SET);
fscanf(fp“%d“&ps[i].sta

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        230  2009-08-15 13:49  银行管理系统\db.txt

     文件      23504  2009-08-20 09:12  银行管理系统\dbTest.cpp

     目录          0  2009-08-20 09:13  银行管理系统

----------- ---------  ---------- -----  ----

                23734                    3


评论

共有 条评论