欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

软件工程第二次作业

程序员文章站 2022-05-21 22:20:18
...
GIT地址 https://github.com/simple5960/simple
GIT用户名 simple5960
学号后5位 82129
作业链接

项目背景:

阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。作为程序员的阿超心想,做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。
软件的需求:程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-*/来表示)练习题,每个数字在 0 和 100 之间,运算符在 2 个 到 3 个之间。不能出现 3÷5+2=2.6 这样的算式。
练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 subject.txt 中。

项目的完成过程

1.配置环境

安装能进行编码,单元测试,效能分析等功能的工具VS2017 软件工程第二次作业 安装成功后,首次使用 VS 2017 还需要对其进行简单的配置,包括开发环境的主题风格。这里开发设置选择 C++即可,主题推荐深色主题。 百度网盘:链接: https://pan.baidu.com/s/1jJXyRMA 密码: ub6c

配置环境问题:

由于 VS 本身体积较大,推荐修改存储位置,将其安装在非系统盘目录。

2.克隆项目 从班级要求仓库地址Fork到自己GitHub的仓库中 软件工程第二次作业

安装将仓库内容拷贝到本地的工具Git

Git-windows版本下载地址:点击此处
软件工程第二次作业
下载安装完成后,新建一个文件夹来保存仓库中的文件,打开文件夹,在文件夹空白区域点击右键,选择Git Bash Here,输入git clone + 仓库的地址,可以直接复制下来,只能通过右键然后paste进行粘贴,输入完成后按回车就可以了
软件工程第二次作业
在完成上述操作后,可在当前目录下看到一个与仓库同名的文件夹Calculator ,这就是克隆到本地的项目。 注意,默认克隆的分支是 java,请使用 git checkout cplusplus 命令切换到 C++ 项目。 进入项目文件夹,新建一个文件夹,重命名为你的 Github 账号名。
软件工程第二次作业

因为git checkout 出现了一些问题 ,暂时用别人转换而来的软件。但是自己已在其他人的电脑上实现git checkout cplusplus.

配置过程

下载Visual Stdio 是一件很痛苦的过程,因为网速很慢,要下很久,后面用EDU下好了,但是又出现了很多问题。问了很多人都无法解决,所以索性不用VS写了,用VC6.0写的代码。

代码设计

我写的代码很少,思路就是随机生成0-100的数,每生成一个数就加上一个运算符,用随机生成的0-10的数控制运算符个数,在控制题目个数。具体代码如下


 #include <stdio.h>
 #include<stdlib.h>
 #include<time.h>
//元素进栈
int push(int* a,int top){
    a[++top]=rand()%100;
    return top;
}
//数据元素出栈
int pop(int * a,int top){
    /*if (top==-1) {
        printf("空栈");
        return -1;
    }*/
    printf("%d ",a[top]);
    top--;
    return top;
}
int main() {
    srand((unsigned)time(NULL));
    int a[100];
    int i;
    char answear;
    char str[6]={'+','-','*','/','\0'};
    char *p=str;
    int top=-1;
    for(i=0;i<50;i++)
    { 
        top=push(a, top);
    }
    printf("Do ypu want to make more progress?\n");
    while(1){
    scanf("%c",&answear);
    if(answear=='y'||answear=='Y')
        
    {   
        for(i=0;i<5;i++)
        {
            top=pop(a, top);
            printf("%c",*(p+i));
        }
        
    }
    }
    return 0;
}

运行结果如下图

克隆项目及提交代码

项目克隆都是按照作业链接上做的
代码提交遇到了很多问题