个人作业三-ATM管理系统

博客班级 计算机18级
作业要求 ATM管理系统
作业目标 熟悉ATM机制并实现相应功能
学号 3180701128

一.题目要求

编写一个ATM管理系统,语言不限,要求应包括以下主要功能:

(1)开户,销户

(2)查询账户余额

(3)存款

(4)取款

(5)转账(一个账户转到另一个账户)等...

二.代码提交

结构体:
struct node
{
	char Name[30];
	char Id[30];
	char Key[20];
	float Money;
} info[10000];
保存信息
int preserve_info()//保存信息 
{
	int i = 0;
	FILE *fp;
	fp = fopen("info.txt", "w");
	if(fp == NULL)
	{
		printf("文件打开失败
");
		exit(0);
	}
	for(i=0; i<10000 && info[i].Id[0]!=''; i++)
	{
		fprintf(fp, "%s	", info[i].Name);
		fprintf(fp, "%s	", info[i].Id);
		fprintf(fp, "%s	", info[i].Key);
		fprintf(fp, "%f
", info[i].Money);
	}
	fclose(fp);
	return 0;
}
读取信息
int  read_info()//读取信息 
{
	int i;
	FILE *fp;
	fp = fopen("info.txt", "rb");
	if(fp == NULL)
	{
		printf("文件打开失败
");
		exit(0);
	} 
	i=0;
	while(!feof(fp))
	{
		fscanf(fp, "%s", &info[i].Name);
		fscanf(fp, "%s", &info[i].Id);
		fscanf(fp, "%s", &info[i].Key);
		fscanf(fp, "%d", &info[i].Money);
		i++;
	}
	fclose(fp);
	return 0;
}
创建信息
int create_info()//创建信息
{
	int i;
	for(i=0; i<10000; i++)
	{
		if(info[i].Id[0]=='')
		{
			getchar();
			printf("
  姓名:");
			gets(info[i].Name);
			printf("  身份证号:");
			gets(info[i].Id);
			printf("  密码:");
			gets(info[i].Key);
			info[i].Money = 0;
			printf("
账户创建成功!!!

");
			return 0;
		}
	}
	return 0;
} 
存取款以及转账
int add_money(int n) //存款
{
	float num;
	printf("存款金额为:");
	scanf("%f", &num);
	info[n].Money = info[n].Money + num;

	printf("存款成功,剩余金额为:%.2f
", info[n].Money);

	return 0;
}

int withdraw_money(int n) //取款
{
	float num;
	printf("取款金额为:");
	scanf("%f", &num);
	info[n].Money = info[n].Money - num;

	printf("取款成功,剩余金额为:%.2f
", info[n].Money);

	return 0;
}

int transfer_money(int n)//转账 
{
	float num;
	int i;
	char other_id[30];
	printf("请输入收款人的身份证号:");
	getchar();
	gets(other_id);
	
	for(i=0; i<10000; i++)
	{
		if(strcmp(info[i].Id, other_id) == 0)
		{
			printf("请输入转账金额:");
			scanf("%f",&num);
			
			info[n].Money = info[n].Money - num;
			info[i].Money = info[i].Money + num;
			printf("转账成功,剩余金额为:%.2f", info[n].Money);
			return 0;
		}
	} 
	printf("转账失败
");
	return 0;
}
登录
int login_account() //登录
{
	int n;
	char personal_id[30], personal_key[20];

	printf("请输入您的身份证号:");
	getchar();
	gets(personal_id);
	printf("请输入您的密码:");
	gets(personal_key);

	for (n=0; n<10000; n++)
	{
		if ((strcmp(info[n].Id, personal_id) == 0) && (strcmp(info[n].Key, personal_key) == 0))
		{
			return n;
		}
	}
	return n;
}
截图
创建账户

创建账户.png

存款

存款.png

登录

登录.png

取款

取款.png

销户

销户.png

转账

转账.png

三.个人小结

psp 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 20 16
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 20 23
Development 开发 300 280
Analysis 需求分析(包括学习新技术) 24 20
Design Spec 生成设计文档 10 5
Design Review 设计复审 10 5
Coding Standard 代码规范 5 3
Design 具体设计 20 15
Coding 具体编码 60 58
Code Review 代码复审 5 10
Test 测试(自我测试,修改代码,提交修改) 20 15
Reporting 报告 10 8
Test Report 测试报告 5 3
Size Measurement 计算工作量 3 2
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 6 5
原文地址:https://www.cnblogs.com/hudamao/p/14003176.html