zoukankan      html  css  js  c++  java
  • 个人作业三-ATM管理系统

    作业属于课程 AHPU-软件工程导论
    作业要求链接 个人作业三-ATM管理系统
    作业目标 编写一个ATM管理系统
    学号 3180701110

    一.题目要求

    编写一个ATM管理系统,语言不限,要求应包括以下主要功能:
    (1)开户,销户
    (2)查询账户余额
    (3)存款
    (4)取款
    (5)转账(一个账户转到另一个账户)等...

    二.代码提交

    1.账户

    // 建立两个账户, 分别是操作账户和接受转账的账户
    PACCOUNT pMainAcc = (PACCOUNT)malloc(sizeof(ACCOUNT));
    PACCOUNT pAssistAcc = (PACCOUNT)malloc(sizeof(ACCOUNT));
    // 初始化两个账户的信息
    InitAccount(pMainAcc);
    InitAccount(pAssistAcc);
    
    void InitAccount(PACCOUNT pA)
    {
    printf("请初始化账户名, 密码, 姓名, 账户余额.
    ");
    pA->UID = (char *)malloc(sizeof(char)*20);
    pA->pwd = (char *)malloc(sizeof(char)*20);
    pA->UName = (char *)malloc(sizeof(char)*20);
    gets(pA->UID);
    gets(pA->pwd);
    gets(pA->UName);
    scanf("%d", &pA->balance);
    getchar();
    return ;
    }
    

    2.查询账户信息

    void showAccount(ACCOUNT A, bool flag)
    {
    if(flag)
    {
    int i = 0;
    getchar();
    char * tmpPwd = (char *)malloc(sizeof(char)*20);
    while(strcmp(tmpPwd, A.pwd))
    {
    printf("请输入账户%s的密码:
    ", A.UID);
    gets(tmpPwd);
    if(++i > 3)
    {
    printf("对不起, 密码输入错误!只能显示部分信息!
    ");
    showAccount(A, false);
    free(tmpPwd);
    return ;
    }
    }
    printf("账户信息如下:
    账户名	账户密码	账户余额	姓名
    ");
    printf("%6s	%8s%8d	%8	s
    ", A.UID, A.pwd, A.balance, A.UName);
    free(tmpPwd);
    }
    else
    {
    printf("账户信息如下:
    账户名	账户余额	姓名
    ");
    printf("%6s	%8d	%4s
    ", A.UID, A.balance, A.UName);
    }
    return ;
    }
    

    3.存款

    // 存钱, 需要密码验证并输入金额
    bool deposite(PACCOUNT pA)
    {
    if(!Authentication(pA))
    return false;
    int val = 0;
    printf("请输入金额:
    ");
    scanf("%d", &val);
    pA->balance += val;
    return true;
    }
    

    4.取款

     // 取钱, 需要密码验证并输入金额
    bool withDraw(PACCOUNT pA)
    {
    if(!Authentication(pA))
    return false;
    printf("请输入金额");
    int val = 0;
    scanf("%d", &val);
    if(pA->balance >= val)
    {
    pA->balance -= val;
    }
    else
    {
    printf("对不起, 余额不足!");
    return false;
    }
    return true;
    }
    

    5.转账

    // 转账, 需要密码验证, 并输入金额
    bool transfer(PACCOUNT pA, PACCOUNT pB)
    {
    if(!Authentication(pA))
    return false;
    printf("请输入金额");
    int val = 0;
    scanf("%d", &val);
    if(pA->balance >= val)
    {
    pA->balance -= val;
    pB->balance += val;
    }
    else
    {
    printf("对不起, 余额不足!");
    return false;
    }
    return true;
    }
    

    三.运行截图




    四.个人小结

    psp表格

    psp3.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
    Planning 计划 15 30
    Estimate 估计这个任务需要多少时间,并规划大致工作步骤 20 20
    Development 开发 100 300
    Analysis 需求分析(包括学习新技术) 20 20
    Design Spec 生成设计文档 10 10
    Design Review 设计复审 15 15
    Coding Standard 代码规范 10 10
    Design 具体设计 10 10
    Coding 具体编码 40 40
    Code Review 代码复审 5 5
    Test 测试(自我测试,修改代码,提交修改) 10 10
    Reporting 报告 10 10
    Test Report 测试报告 3 4
    Size Measurement 计算工作量 10 10
    Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 5 5
    个人小结
    代码比较简单,只能进行基本的转账,取款等操作;且操作只能在两个初始化账户间进行;对于每次运行时的初始账户,必须重新设置输入,并不能称之为一个系统,还有待完善。
  • 相关阅读:
    简单查询plan
    EXP AND IMP
    (4.16)sql server迁移DB文件(同一DB内)
    sql server日志传送实践(基于server 2008 R2)
    (1.3)学习笔记之mysql体系结构(C/S整体架构、内存结构、物理存储结构、逻辑结构、SQL查询流程)
    (1.2)学习笔记之mysql体系结构(数据库文件)
    (1.1)学习笔记之mysql体系结构(内存、进程、线程)
    SSAS(SQL Server 分析服务)、***S(SQL Server报表服务)、SSIS(SQL Server集成服务)
    教你使用SQL查询(1-12)
    Sql Server内置函数实现MD5加密
  • 原文地址:https://www.cnblogs.com/wjhne/p/13996540.html
Copyright © 2011-2022 走看看