/*
**功能函数
**ASorb time:201807
*/
#include"banksystem.h"
//添加新用户
void add_user(){
int user_num();
void file_read(user*);
void file_save(user*, int);
user p = { NULL };
char y = NULL;
printf("\n\n注册用户\n");
printf("--------------\n你的姓名(20字符内):");
fflush(stdin);
gets(p.name);
printf("你的密码(6个字符):");
fflush(stdin);
gets(p.pass);
if (strlen(p.name) == 0 || strlen(p.name) > 20){
printf("ERROR224:姓名格式错误!\n");
y = 'N';
}
if (strlen(p.pass) != 6){
printf("ERROR224:密码格式错误!\n");
y = 'N';
}
if (y == NULL){
user list[user_max] = { NULL };
file_read(list);
for (int i = user_num() - 1; i >= 0; i--)
if (strcmp(list[i].name, p.name) == 0){
printf("------------------\n");
printf("提示:系统检测到存在相同的用户名,继续注册将添加新的卡号!\n");
printf("\tY.继续\t回车键放弃\n");
printf("键入选择:");
fflush(stdin);
y = getchar();
}
if (y == 'Y' || y == NULL){
(p.card) = ((list + (user_num() - 1))->card + 1); //新银行卡号
p.balance = 0;
list[user_num()] = p; //加入用户
file_save(list, user_num() + 1);
system("cls");
printf("提示:注册成功!\n\t用户名:%s\t卡号:%d", p.name, p.card);
}
else{
system("cls");
printf("提示:用户放弃注册!");
}
}
else{
printf("\n提示:注册失败!回车键返回...\n");
fflush(stdin);
getchar();
system("cls");
}
}
//用户登录
user* login(){
static user p = { NULL };
int user_num();
void file_read(user*);
user list[user_max] = { NULL };
file_read(list);
if (p.name[0] == NULL){
printf("--------------------\n");
printf("输入卡号:");
fflush(stdin);
scanf("%d", &p.card);
printf("输入密码:");
fflush(stdin);
gets(p.pass);
for (int i = user_num() - 1; i >= 0; i--){
if (list[i].card == p.card){
if (strcmp(list[i].pass, p.pass) == 0)
p = list[i];
else{
p.name[0] = NULL;
printf("提示:密码错误!回车键返回.....\n");
fflush(stdin);
getchar();
system("cls");
}
break;
}
else if (i == 0){
p.name[0] = NULL;
printf("提示:卡号不存在!回车键返回......\n");
fflush(stdin);
getchar();
system("cls");
}
}
}
else{
for (int i = user_num(); i >= 0; i--)
if (list[i].card == p.card){
p = list[i];
break;
}
}
return &p;
}
//余额查询
void balance_num(){
user* login();
user *p = login();
void handle_save(struct tm*,float,char arr[]);
struct tm* time_now();
static int num_1 = 1;
struct tm *t = time_now();
printf("余额查询-银行系统实例\n\n\n\n");
printf("\t┌────────────────┬────────────────┬──────────────────┐\n");
printf("\t│姓名:%-10s│卡号:%-10d│余额:%10.2f元│\n", p->name, p->card, p->balance);
printf("\t└────────────────┴────────────────┴──────────────────┘\n");
handle_save(t, 0,"balance"); //保存记录
printf("\n\t$$当前时间:%d-%d-%d %d:%d:%d 已记录", 1900+t->tm_year, 1+t->tm_mon,t->tm_mday,8+t->tm_hour,t->tm_min,t->tm_sec);
printf("\n\nY.刷新\t回车键返回.....\n");
printf("----------------\n键入选择:");
fflush(stdin);
if (getchar() == 'Y'){
system("cls");
printf("第 %d 次刷新成功!\t",num_1++);
balance_num();
}
else
system("cls");
}
//取款
void draw(){
void file_read(user*);
void file_save(user*,int);
void handle_save(struct tm*, float, char arr[]);
struct tm* time_now();
struct tm *t = time_now();
int user_num();
int num_2 = 0;
float money;
user* login();
user *p = login();
user list[user_max] = { NULL };
printf("\n--------------\n金额:");
scanf("%f", &money);
if (money <= 0){
system("cls");
printf("提示:取款失败,原因金额应大于零!\t");
}
else if (money > (p->balance)) {
system("cls");
printf("提示:取款失败,原因余额不足!\t");
}
else {
file_read(list);
for (num_2; list[num_2].card != p->card; num_2++);
(p->balance) -= money;
list[num_2].balance = p->balance;
handle_save(t, money, "draw");
file_save(list, user_num());
system("cls");
printf("提示:取款成功! 金额:%.2f元\t", money);
}
}
//存款
void deposit(){
void file_read(user*);
void file_save(user*, int);
void handle_save(struct tm*, float, char arr[]);
struct tm* time_now();
struct tm *t = time_now();
int user_num();
int num_3 = 0;
float money;
user* login();
user *p = login();
user list[user_max] = { NULL };
printf("\n--------------\n金额:");
scanf("%f", &money);
if (money <= 0){
system("cls");
printf("提示:存款失败,原因金额应大于零!\t");
}
else {
file_read(list);
for (num_3; list[num_3].card != p->card; num_3++);
(p->balance) += money;
list[num_3].balance = p->balance;
handle_save(t, money, "deposit");
file_save(list, user_num());
system("cls");
printf("提示:存款成功! 金额:%.2f元\t", money);
}
}
//修改密码
void editpass(){
void file_read(user*);
void file_save(user*, int);
user* login();
int user_num();
void handle_save(struct tm*, float, char arr[]);
struct tm* time_now();
struct tm *t = time_now();
user *p = login();
user list[user_max] = { NULL };
char pass[8];
int num_6 = 0;
printf("\n\n----------------------\n");
printf("*认证/输入原密码:");
fflush(stdin);
gets(pass);
if (strcmp(p->pass, pass) == 0){
printf("输入新密码(6个字符):");
fflush(stdin);
gets(pass);
if (strlen(pass) == 6){
file_read(list);
for (num_6; list[num_6].card != p->card; num_6++);
strcpy(list[num_6].pass, pass);
handle_save(t, 0, "editpass");
file_save(list, user_num());
system("cls");
printf("提示:新密码设置成功,以后请使用新密码登录!\t");
}
else{
system("cls");
printf("提示:修改失败,原因新密码不符合规定!\t");
}
}
else{
system("cls");
printf("提示:修改失败,原因认证失败!\t");
}
}
//名下账户
void account(){
user* login();
user *p = login();
void file_read(user*);
user list[user_max] = { NULL };
int user_num();
int num_8 = 0;
file_read(list);
system("cls");
printf("用户:%s 名下账户\n\n\n", p->name);
printf("\t\t┌─────┬─────────────────┬─────────────┐\n");
printf("\t\t│序 号│ 姓 名 │卡 号 │\n");
for (int i = user_num() - 1; i >= 0; i--, num_8++)
if (strcmp(list[i].name, p->name) == 0){
printf("\t\t├─────┼─────────────────┼─────────────┤\n");
printf("\t\t│%5d│%17s│%13d│\n", i, list[i].name, list[i].card);
}
printf("\t\t└─────┴─────────────────┴─────────────┘\n");
printf("\t\t$$共%d条数据\n", num_8);
printf("\n\n回车键返回......\n");
fflush(stdin);
getchar();
system("cls");
}
//注销
char del_user(){
user* login();
user *p = login();
int user_num();
void file_read(user*);
void file_save(user*, int);
user list[user_max] = { NULL };
char pass[8];
int num_7 = 0;
if (p->card != 18072801) {
printf("\n\n--------------\n认证/输入密码:");
fflush(stdin);
gets(pass);
if (strcmp(p->pass, pass) == 0){
file_read(list);
for (num_7; list[num_7].card != p->card; num_7++);
for (num_7; num_7 < user_num() - 1; num_7++)
list[num_7] = list[num_7 + 1];
file_save(list, user_num() - 1);
p->name[0] = NULL;
printf("\n卡号:%d 注销成功,回车键返回......\n", p->card);
fflush(stdin);
getchar();
return 'Q';
}
else{
system("cls");
printf("提示:注销失败,原因认证失败!\t");
return NULL;
}
}
else{
system("cls");
printf("提示:默认管理员账户不能注销!\t");
return NULL;
}
}
//登出系统
char out_login(){
user* login();
user *p = login();
printf("\n\n------------------\n");
printf("\tQ.返回\t回车键登出系统.......\n");
fflush(stdin);
if (getchar() == 'Q'){
system("cls");
return NULL;
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
用C语言简单的写了一个银行的管理系统实例,整体上还是显得有些粗糙。但是对于初学者来说,可以作为一些参考。程序的编写环境是VS2013,为了能让学校运行,所以在DEVC++中进行了测试。由于在编写的时候在循环体中加入了局部变量,所以在VC++中是不能被编译的,如果有需要的同学可以自行修改。 更多介绍访问:https://blog.csdn.net/qq_42304721/article/details/81530351
资源详情
资源评论
资源推荐
收起资源包目录
bankingsystem.zip (18个子文件)
源代码
main.cpp 588B
datalink.o 2KB
function.cpp 15KB
main.o 1KB
datalink.cpp 830B
banksystem.h 603B
interface.o 3KB
interface.cpp 2KB
function.o 20KB
效果图
banksystem.png 148KB
devc
bankdata.orb 4KB
banksystem.dev 1KB
banksystem.layout 287B
banksystem.exe 381KB
Makefile.win 2KB
DEVC++.png 118KB
程序
bankdata.orb 4KB
banksystem.exe 381KB
共 18 条
- 1
CPoet
- 粉丝: 104
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0