简易ATM系统
软件191 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/ |
---|---|
作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11477 |
作业的目标 | <编写一个ATM管理系统> |
学号 | <3190704110> |
一、题目要求 |
编写一个ATM管理系统,语言不限,要求应包括以下主要功能:
(1)开户,销户
(2)查询账户余额
(3)存款
(4)取款
(5)转账(一个账户转到另一个账户)等...
二、代码
1,开户
Code
void enter() //开户(录入信息)............................................................................
{
int i;
if(flag==0) //通过flag开关,使得系统只有在第一次进入开户功能时才会要求输入开户人数
{
flag=1;
system("cls");
printf("请输入要开户的数量:");
scanf("%d",&total);
system("cls");
}
if(users==NULL)
users=(struct node *)malloc(total*sizeof(struct node)); //初始化
if(sum=sum||sum==0) //第一个账号以及不与库中信息重复的账号操作成功
{
sum++;
printf("\n\n操作成功!\n");
printf("可录入人数为%d个,当前人数为%d个",total,sum);
printf("\n\n按回车返回上一界面......");
getchar();
getchar();
system("cls");
}
return;
}
else
{
printf("人数超标\n ");
printf("\n\n按回车返回上一界面......");
getchar();
getchar();
system("cls");
}
}
功能2:销户
Code
public void delete(Account account[]) { outer:for(i=0; i<=3; i++) { //允许出错三次
if(i<3) { System.out.println("请输入您要删除的卡号:"); Scanner sc = new Scanner(System.in); int delete_no = sc.nextInt(); //销户时需登录卡号,密码 System.out.print("请输入密码:"); long delete_password = sc.nextLong(); for(j=0; j<account.length;j++) { if(account[j] != null) { account[j] = new Account(account[j].getName(),account[j].getPhone_num(),account[j].getId_num(),account[j].getMoney(),account[j].getPassword(),account[j].getUser_num()); if(account[j].getUser_num() == delete_no && account[j].getPassword() == delete_password) { account[j] = null; //删除改用户信息 count--; //用户量-1 System.out.println("已成功注销,感谢您的使用!"); break outer; } } } System.out.println("该卡号不存在,或者密码有误!"); } else { System.out.println("失败(超过3次),感谢您的使用"); break; } }
功能3:余额查询
Code
public void search(Account account[]) {
System.out.println("您的余额:"+account[count].getMoney());
}
功能4:存款
Code
public void save(Account account[]) {
System.out.print("请输入存款金额:");
Scanner sc = new Scanner(System.in);
double save_money = sc.nextDouble(); //记录存款金额
if(save_money<0) {
System.out.println("存款金额不能为负!");
}
else {
account[count].setMoney(save_money+account[count].getMoney()); //+存款金额
System.out.println("存款成功!当前余额:"+account[count].getMoney());
}
5.取款
Code
public void cost(Account account[]) {
System.out.print("请输入取款金额:");
Scanner sc = new Scanner(System.in);
double cost_money = sc.nextDouble(); //记录取款金额
if(cost_money<0) {
System.out.println("取款金额不能为负!");
}
else {
if(cost_money <= account[count].getMoney()) { //判断是否超出用户余额
account[count].setMoney(account[count].getMoney()-cost_money); //-取款余额
System.out.println("取款成功!当前余额:"+account[count].getMoney());
}
else {
System.out.println("余额不足!");
}
}
}
6.转账
Code
public void move(Account account[]) {
System.out.println("请输入您要转入的卡号:");
Scanner sc = new Scanner(System.in); //记录要转入的卡号
int move_no = sc.nextInt();
outer:for(j=0; j
2.学习感想
感觉这次的作业比之前难了很多,但收获也不小
出现了很多语法错误,也更清晰的认识了自己