资源简介
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
相关资源
- 国际象棋的qt源代码
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 利用C++哈希表的方法实现电话号码查
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 移木块游戏,可以自编自玩,vc6.0编写
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- C++纯文字DOS超小RPG游戏
- 个人日常财务管理系统(C语言)
- MFC数字钟(基于VC6.0)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
评论
共有 条评论