• 作业3


    Markdown在线编辑器 - www.MdEditor.com
    这个作业属于哪个课程 2020年面向对象程序设计
    这个作业要求在哪里 面向对象程序设计寒假作业3
    这个作业的目标 继续完成作业2 对原有代码进行进一步的优化,提升功能
    仓库地址 (0.0)

    我的代码分成4个模块:数字转换、主函数(囊括判断增加或减少的部分)、余额输出(十位数)、余额输出(个位数)。
    我思考过程没有什么疑惑(或许是我没把题目深入思考,我一切都是按照题目的要求来做,比较浅)。

    数字转换:
    int zuanhuan(char s[])
    {
    if(strcmp(s,"零") == 0) return 0;
    else if(strcmp(s,"一") == 0) return 1;
    else if(strcmp(s,"二") == 0) return 2;
    else if(strcmp(s,"三") == 0) return 3;
    else if(strcmp(s,"四") == 0) return 4;
    else if(strcmp(s,"五") == 0) return 5;
    else if(strcmp(s,"六") == 0) return 6;
    else if(strcmp(s,"七") == 0) return 7;
    else if(strcmp(s,"八") == 0) return 8;
    else if(strcmp(s,"九") == 0) return 9;
    else if(strcmp(s,"十") == 0) return 10;
    else return -1;
    }
    这个比较简单,上网搜了strcmp函数,就解决了。

    余额输出(十位数):)
    void yue1(int n)
    {
    int k=0;
    if(n>=10){
    k=n/10;
    }
    switch(k)
    {
    case 1:printf("十");break;
    case 2:printf("二十");break;
    case 3:printf("三十");break;
    case 4:printf("四十");break;
    case 5:printf("五十");break;
    case 6:printf("六十");break;
    case 7:printf("七十");break;
    case 8:printf("八十");break;
    case 9:printf("九十");break;
    }
    }

    余额输出(个位数):
    void yue2(int n)
    {
    if(n==0){
    printf("零"); //0作为特殊情况
    }
    else{
    int k=0;
    k=n%10;
    switch(k)
    {
    case 0:break;//整十个位数就不做输出
    case 1:printf("一");break;
    case 2:printf("二");break;
    case 3:printf("三");break;
    case 4:printf("四");break;
    case 5:printf("五");break;
    case 6:printf("六");break;
    case 7:printf("七");break;
    case 8:printf("八");break;
    case 9:printf("九");break;
    }
    }
    }

    主函数:
    int main()
    {
    char a[105],b[105],c[105],d[105],m[105],n[105],s[105],w[105];
    scanf("%s %s %s %s",a,b,c,d);
    int money = zuanhuan(d);
    getchar();
    while(1){
    scanf("%s",m);
    if(strcmp(m,"看看") == 0) break;
    scanf("%s %s",n,s);
    if(strcmp(n,"增加") == 0) money += zuanhuan(s);//判断增加还是减少(进行加或减)
    if(strcmp(n,"减少") == 0) money -= zuanhuan(s);//同上
    }
    scanf("%s",w);
    yue1(money);//先输出十位数
    yue2(money);//然后输出个位数
    return 0;
    }

    至于思考添加功能,真的太难了。我实在想不到我的代码哪里需要循环。
    And扩大输的范围和添加功能,看了好多同学的代码,都没有思路。呜呜呜..

  • 相关阅读:
    C++11 std标准库chrono获取系统时间戳
    求取激光光斑质心
    Windows多网卡UDP广播问题
    IP地址分类
    C++各种时间的含义、区别和相互转换
    MFC中控件显示提示信息tooltip
    IP地址 网关 子网掩码之间的关系
    MFC动态添加菜单选项
    opencv函数学习:rotate()的使用
    opencv函数学习:flip()的使用
  • 原文地址:https://www.cnblogs.com/czl411/p/12317102.html
Copyright © 2020-2023  润新知