简易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.学习感想
感觉这次的作业比之前难了很多,但收获也不小
出现了很多语法错误,也更清晰的认识了自己

posted @ 2020-11-18 22:04  任威鹏  阅读(111)  评论(0编辑  收藏  举报