班级 | 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 |