面向对象程序设计寒假作业2

这个作业属于哪个课程 2020面向对象程序设计
这个作业要求在哪里 面向对象程序设计寒假作业2
这个作业的目标 1.继续完成编程题2.新建一个github仓库,并把作业推送到该仓库。3.发布博客

1.实践题
新建一个github仓库,使用git,或者github desktop把接下去的编程题的代码及测试脚本传到这个仓库。
新建完GitHub仓库后,如下图所示
面向对象程序设计寒假作业2_第1张图片

2.编程题
继续完成作业一的编程题。
优化架构,一般要求每个函数长度不超过15行。
优化规范,尤其是命名规范。
最终我将程序分为以下几部分
一、输入汉字转成数字

int inputchange(char shu[])
{
    if(strcmp(shu,"一")==0) return 1;
    if(strcmp(shu,"二")==0) return 2;
    if(strcmp(shu,"三")==0) return 3;
    if(strcmp(shu,"一")==0) return 1;
    if(strcmp(shu,"四")==0) return 4;
    if(strcmp(shu,"五")==0) return 5;
    if(strcmp(shu,"六")==0) return 6;
    if(strcmp(shu,"七")==0) return 7;
    if(strcmp(shu,"八")==0) return 8;
    if(strcmp(shu,"九")==0) return 9;
    if(strcmp(shu,"零")==0) return 0;
    if(strcmp(shu,"十")==0) return 10;
}

二、输出数字转换汉字

void outputchange(int num)
{
    if(num==0) printf("零");
    if(num==1) printf("一");
    if(num==2) printf("二");
    if(num==3) printf("三");
    if(num==4) printf("四");
    if(num==5) printf("五");
    if(num==6) printf("六");
    if(num==7) printf("七");
    if(num==8) printf("八");
    if(num==9) printf("九");
    if(num==10) printf("十");
}

三、实现输出部分

void output(int num)
{
    int x,y,z; 
    z=num%10;
    y=num%100/10;
    x=num/100;
    if(x!=0)
    {
        outputchange(x);printf("百");
    }
    outputchange(y);
    if(y!=0)printf("十"); 
    if(z!=0)outputchange(z);
}

四、主函数
实现输入和运算

int main()
{
    int num;
    char a[10],b[10],c[10],d[10],e[10],f[10],g[10];
    scanf("%s %s %s %s",a,b,c,d);
    if(strcmp(a,"整数")!=0)
    {
        printf("输入错误\n");
        return 0;
    }
    num=inputchange(d);
    while(1)
    {
        scanf("%s",e);
        if(strcmp(e,"看看")==0)
        break;
        scanf("%s",f);
        scanf("%s",g);
        if(strcmp(f,"增加")==0)
            num=num+inputchange(g);
        else if(strcmp(f,"减少")==0)
            num=num-inputchange(g);
        else 
        {
            printf("输入错误\n");
            return 0;
        } 
    }
    output(num);
    return 0;
}

总览

#include
#include
int inputchange(char shu[])
{
    if(strcmp(shu,"一")==0) return 1;
    if(strcmp(shu,"二")==0) return 2;
    if(strcmp(shu,"三")==0) return 3;
    if(strcmp(shu,"一")==0) return 1;
    if(strcmp(shu,"四")==0) return 4;
    if(strcmp(shu,"五")==0) return 5;
    if(strcmp(shu,"六")==0) return 6;
    if(strcmp(shu,"七")==0) return 7;
    if(strcmp(shu,"八")==0) return 8;
    if(strcmp(shu,"九")==0) return 9;
    if(strcmp(shu,"零")==0) return 0;
    if(strcmp(shu,"十")==0) return 10;
}
void outputchange(int num)
{
    if(num==0) printf("零");
    if(num==1) printf("一");
    if(num==2) printf("二");
    if(num==3) printf("三");
    if(num==4) printf("四");
    if(num==5) printf("五");
    if(num==6) printf("六");
    if(num==7) printf("七");
    if(num==8) printf("八");
    if(num==9) printf("九");
    if(num==10) printf("十");
}
void output(int num)
{
    int x,y,z; 
    z=num%10;
    y=num%100/10;
    x=num/100;
    if(x!=0)
    {
        outputchange(x);printf("百");
    }
    outputchange(y);
    if(y!=0)printf("十"); 
    if(z!=0)outputchange(z);
}
int main()
{
    int num;
    char a[10],b[10],c[10],d[10],e[10],f[10],g[10];
    scanf("%s %s %s %s",a,b,c,d);
    if(strcmp(a,"整数")!=0)
    {
        printf("输入错误\n");
        return 0;
    }
    num=inputchange(d);
    while(1)
    {
        scanf("%s",e);
        if(strcmp(e,"看看")==0)
        break;
        scanf("%s",f);
        scanf("%s",g);
        if(strcmp(f,"增加")==0)
            num=num+inputchange(g);
        else if(strcmp(f,"减少")==0)
            num=num-inputchange(g);
        else 
        {
            printf("输入错误\n");
            return 0;
        } 
    }
    output(num);
    return 0;
}

编译脚本和上传GitHub仓库还没弄懂,暂时不会做。

你可能感兴趣的:(面向对象程序设计寒假作业2)