ATM管理系统

| 博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/ |
| ---- | ---- | ---- |
| 作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11477 |
|作业目标| 编写一个ATM管理系统,语言不限,要求应包括以下主要功能:(1)开户,销户(2)查询账户余额(3)存款(4)取款(5)转账 |
|学号|3190704227|
一、题目要求
编写一个ATM管理系统,语言不限,要求应包括以下主要功能:
(1)开户,销户
(2)查询账户余额
(3)存款
(4)取款
(5)转账(一个账户转到另一个账户)
二、代码提交
//头文件及函数定义

#include <stdio.h>
int choice;
void show_menu();
void create();
void declear();
void cunkuan();
void qukuan();
void zhuanzhang();
void chaxun();
double account=0.0;
char name;
int pass;
long id;

//主函数

int main()
{
while (1)
{
show_menu();
scanf("%d",&choice);
switch (choice)
{
case 1:
create();
break;
case 2:
declear();
break;
case 3:
cunkuan();
break;
case 4:
qukuan();
break;
case 5:
zhuanzhang();
break;
case 6:
chaxun();
break;
default:
break;
}
}

//菜单函数

void show_menu()
{
printf("**************欢迎ATM************\n");
printf("\n1.建卡 2.销户 3.存款 4.取款 5.转账 6.查询 0.退出\n");
printf("\n请选择服务种类:");
}


//建立账户

void create()
{
     printf("请输入你的姓名:");
	 scanf("%s",&name);
	 printf("请输入你想选择的卡号:");
	 scanf("%ld",&id);
	 printf("请输入你的密码:");
	 scanf("%d",&pass);
}


//存款函数

void cunkuan()
{
	int b;
	double	s;
	int num;
	printf("请输入你要存款的账户:");
	scanf("%d",&b);
	if(b==id)
	{
		printf("请输入密码:");
		scanf("%d",&num);
		 if(pass==num)
		{			
			printf("请输入你要存入的金额:");
			scanf("%lf",&s);
			account=account+s;
		}
	    else
	   {
			printf("请输入正确的密码\n");
	   }
	}
	else
	{
		printf("请输入正确的账户\n");
	}
}


//取款函数

void qukuan()
{
	int c;
	double s;
	int num;
	printf("请输入你要取款的账户:");
	scanf("%d",&c);
	if(c==id)
	{

		printf("请输入密码:");
		scanf("%d",&num);
		if(pass==num)
		{	
		printf("请输入你要取款的金额:");
		scanf("%lf",&s);
		if(s<=account)
		{
		account=account-s;
		}
		else
		{
			printf("余额不足!");
		}
		}
		else
	   {
			printf("请输入正确的密码\n");
	   }
	}
    else
	{
		printf("请输入正确的账户\n");
	}
}


//转账函数

void zhuanzhang()
{
	int d;
	double s;
	int e;
    int num;
	printf("请输入你要运行的账户:");
	scanf("%d",&d);
	if(d==id)
	{
		printf("请输入密码:");
		scanf("%d",&num);
		if(pass==num)
		{	
		printf("请输入你要转账的账户:");
		scanf("%d",&e);
		printf("请输入你要转账的金额:");
		scanf("%lf",&s);
		if(s<=account)
		{
		account=account-s;
		}
		else
		{
			printf("余额不足!");
		}
		}
		else
	   {
			printf("请输入正确的密码\n");
	   }
	}
    else
	{
		printf("请输入正确的账户\n");
	}
}


//查询函数

void chaxun()
{
    int f;
	printf("请输入你要查询的账户:");
	scanf("%d",&f);
	if(f==id)
	{
		printf("你好,你的当前余额为%lf\n",account);	
	}
    else
	{
		printf("请输入正确的账户\n");
	}
}

//清除账户函数

void declear()
{
	int a;
	printf("请输入你想删除的账户:");
	scanf("%d",&a);
	if(a==id)
	{
		name='0';
		account=0;
		id=0;
	}
	else
	{
		printf("请输入正确的账户\n");
	}
}


三、个人小结
| psp2.1 | 任务内容 | 计划完成需要的时间(min)| 实际完成需要的时间(min)|
| ---- | ---- | ---- |---- | ---- |
| Planning | 计划 | 10|10|
| Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 5|5|
| Development | 开发 | 180|200|
| Analysis | 需求分析(包括学习新技术) | 15|18 |
| Design Spec | 生成设计文档 | 5|5|
| Design Review | 设计复审 | 10|15|
| Coding Standard | 代码规范 | 3|3|
| Design | 具体设计 | 15|20|
| Coding | 具体编码 | 120|180|
| Code Review | 代码复审 | 10|10|
| Test | 测试(自我测试,修改代码,提交修改) |10|10|
| Reporting | 报告 | 10|10|
| Test Report | 测试报告 | 2|2|
| Size Measurement | 计算工作量 | 3|3|
| Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 10|10|

posted on 2020-11-18 16:56  Benethy  阅读(128)  评论(0编辑  收藏  举报