ATM管理系统
博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19 |
作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11477 |
作业目标 | 下附 |
学号 | 3190704111 |
一.题目要求
编写一个ATM管理系统,语言不限,要求应包括以下主要功能:
(1)开户,销户
(2)查询账户余额
(3)存款
(4)取款
(5)转账(一个账户转到另一个账户)等...
允许网上查询参考,但请注意不要直接抄袭,可以理解看懂别人的代码,再自己编写。
#include<iostream> #include<string> using namespace std; class account //定义一个用户类 { public: account(); //构造函数 string get_number(); //返回用户卡号 string get_name(); //返回用户姓名 int get_money(); //返回余额,不带参数 int get_money(int m); //给余额赋值 string get_password(); //返回密码 void get_password(string p);//给密码赋值 private: int money; string number; string name; string password; }; account::account() { cout << "欢迎使用!" << "请创建您的账户!" << endl; cout << "请输入卡号:"; cin >> number; cout << endl; cout << "请输入用户名:"; cin >> name; cout << endl; cout << "请输入你的密码:"; cin >> password; money = 0; cout << "创建成功!" << endl; } string account::get_number() { return number; } string account::get_name() { return name; } string account::get_password() { return password; } void account::get_password(string p) { password = p; } int account::get_money() { return money; } int account::get_money(int m) { money = m; return money; } class atm //atm类 { public: atm(); //构造函数 atm(account a1); //构造函数,用account类的一个对象作参数 void enter(); //登录 void display(); //显示功能 void deposit(); //存款 void withdraw(); //取款 void change_password(); //修改密码 void inquiry(); //查询余额 void exit(); //退出系统 private: account a; }; atm::atm() { } atm::atm(account a1) { a = a1; } void atm::display() { int n; cout << "1.登录 2.存款 3.取款 4.修改密码 5.查询余额 6.退出系统" << endl << "请选择:" << endl; while (cin >> n) { if (6 == n) { exit(); break; } //当n为6时退出系统,不再显示功能界面,则跳出循环 switch (n) { case 1: enter(); break; case 2: deposit(); break; case 3: withdraw(); break; case 4: change_password(); break; case 5: inquiry(); break; default: cout << "无此操作!" << endl; break; } cout << "1.登录 2.存款 3.取款 4.修改密码 5.查询余额 6.退出系统" << endl << "请选择:" << endl; } } void atm::enter() { string number1; string temp; int t = 0; cout << "请输入卡号:"; cin >> number1; if (a.get_number() == number1) //判断是否存在此账户,若存在则执行下面语句 { cout << "请输入密码:"; cin >> temp; cout << endl; while (a.get_password() != temp) { t++; if (3 == t) { cout << "密码错误3次,卡已被锁!" << endl; exit(); break; } //当密码错误3次时,锁卡,退出系统 cout << "密码错误!" << endl << "请重新输入:"; cin >> temp; //密码错误,提示用户重新输入 } if (a.get_password() == temp) { cout << "登录成功!" << a.get_name() << "欢迎您!" << endl; display(); } //密码正确则登录成功,显示功能 } else { cout << "无此账户!" << endl; } //若未找到此卡号,则无此账户 } void atm::deposit() //存款 { int m; cout << "请输入存款数:"; cin >> m; cout << endl; a.get_money(a.get_money() + m); } void atm::withdraw() //取款 { int m; cout << "请输入取款数:"; cin >> m; if (m <= a.get_money()) { a.get_money(a.get_money() - m); } else { cout << "余额不足!" << endl; } //当取款数大于余额时,余额不足,不操作 } void atm::change_password() //修改密码 { string temp; string temp1; string temp2; int t = 0; cout << "请输入原密码:"; cin >> temp; cout << endl; while (a.get_password() != temp) { t++; if (3 == t) { cout << "密码错误3次,卡已被锁!" << endl; exit(); break; } cout << "密码错误!" << endl << "请重新输入:"; cin >> temp; } //先确认原密码 if (a.get_password() == temp) { cout << "请输入新密码:"; cin >> temp1; cout << "请确认密码:"; cin >> temp2; if (temp1 == temp2) //判断两次输入是否相同 { a.get_password(temp1); cout << "修改密码成功!" << endl; } else { cout << "密码错误! 请重新操作。" << endl; display(); } } } void atm::inquiry() //显示余额 { cout << "您的余额为:" << a.get_money() << "元" << endl; } void atm::exit() //退出系统 { cout << "感谢您的使用!" << endl; } int main() { atm my_atm; my_atm.enter(); return 0; }
、
任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
计划 | 10 | 20 |
估计这个任务需要多少时间,并规划大致工作步骤 | 20 | 38 |
开发 | 60 | 70 |
需求分析(包括学习新技术) | 100 | 180 |
生成设计文档 | 10 | 15 |
设计复审 | 10 | 15 |
代码规范 | 5 | 5 |
具体设计 | 30 | 35 |
具体编码 | 60 | 80 |
代码复审 | 20 | 45 |
测试(自我测试,修改代码,提交修改) | 20 | 15 |
报告 | 10 | 15 |
测试报告 | 5 | 5 |
计算工作量 | \ | \ |