ATM管理系统

班级 ahpu软件工程
作业要求 ATM管理系统
学号 3160303242

一.题目要求

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

(1)开户,销户

(2)查询账户余额

(3)存款

(4)取款

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

二、代码提交

`#include <stdio.h>

/#include <conio.h>

/#include <stdlib.h>

/#include <string.h>

/#define AN 9 //表示账号8位

/#define PN 7 //表示密码6位

/#define ASN 3 //表示系统中共有3个账户信息

struct Account
	{
		char accountnumber[AN]; //表示账号信息
		char password[PN]; //表示账户的密码信息
		double balance; //表示账户的余额
	};
struct Account ats[ASN]={{"aaaaaaaa","123456",100},{"bbbbbbbb","123456",200},{"cccccccc","123456",300}};
//ats数组用于存储系统中三个账户的信息
int isCorrect(char *an,char *psd)
{
	int i;
	for(i=0;i<ASN;i++)
		if(strcmp(ats[i].accountnumber,an)==0 && strcmp(psd,ats[i].password)==0)
			return 1;
			return 0;
}
double getBalance(char *an)
{
	int i;
	for(i=0;i<ASN;i++)
		if(strcmp(an,ats[i].accountnumber)==0)
		return ats[i].balance;
}
void deposit(char *an,int amount)
{
	int i;
	for(i=0;i<ASN;i++)
	if(strcmp(an,ats[i].accountnumber)==0)
	ats[i].balance+=amount;
}
int withdraw(char *an,int amount)
{
	int i;
	for(i=0;i<ASN;i++){
	if(strcmp(an,ats[i].accountnumber)==0)
	return ats[i].balance-=amount;
	}
}
void main()
{
	char AccountNumber[AN]={'\0'};
	char psd[PN]={'\0'};
	int i,errorcount=0;
	while(1)
		{
		printf("\n请输入8位账号:");
		for(i=0;i<8;i++)
		AccountNumber[i]=getchar();
		getchar();
		printf("\n请输入6为密码:");
		for(i=0;i<6;i++){
			psd[i]=getchar();
			putchar('*');
		}
		if(isCorrect(AccountNumber,psd)==1)
		{
		int tag,amount;
	while(1)
	{
		printf("\n欢迎登录银行账户管理系统,请选择您要的服务:1、查询余额;2、存款操作;3、取款操作;4、退出系统\n");
		scanf("%d",&tag);
	switch(tag)
	{
		case 1:
			printf("您现在的余额为%f元\n",getBalance(AccountNumber));
		break;
		case 2:
			printf("请输入您的存款金额:");
			scanf("%d",&amount);
			deposit(AccountNumber,amount);
			printf("存款成功!您的当前余额为:%f元\n",getBalance(AccountNumber));
			break;
		case 3:
			printf("请输入您的取款金额:");
			scanf("%d",&amount);
			if(amount<=getBalance(AccountNumber)){ 
			withdraw(AccountNumber,amount);
			printf("取款成功!您的当前余额为:%f元\n",getBalance(AccountNumber));
			} 
			else
			printf("取款失败!\n");
			break;
		case 4:
			break;
	}
		if(tag==4)
			break;
			}
		}
		else
		{
			errorcount++;
			if(errorcount==3)
			{
			printf("您已经连续三次输入错误,系统将自动关闭\n");
			break;
			}
		}
	}

}`

三、运行截图:

四、个人小结:

psp 任务内容 计划完成的时间(min) 实际完成时间(min)
Planning 计划 30 30
Estimate 估计这个任务需要多少时间 50 60
Development 开发 20 20
Design 设计 15 15
Test 测试 6 6
Postmortem & Process Improvement Plan 事后总结 5 5
posted @ 2020-11-19 09:24  哇塞6  阅读(85)  评论(0编辑  收藏  举报