zoukankan      html  css  js  c++  java
  • 软件工程第二次作业

    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]={'+','-','*','/',''};
    	char *p=str;
        int top=-1;
    	for(i=0;i<50;i++)
    	{ 
    		top=push(a, top);
    	}
    	printf("Do ypu want to make more progress?
    ");
    	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;
    }
    
    
    

    运行结果如下图

    克隆项目及提交代码

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

  • 相关阅读:
    Kentico的UIPager的pagesize不工作
    哈啰单车流量问题
    安卓手机无限重启是怎么回事?
    Kentico的翻译功能
    Remote Desktop Free Manager
    访问存储在服务器中的CDR
    保持观察者状态达到跳出或不迷
    高通IPQ4019
    satixnet satellite modem T1000e
    802.11n 中HT20 HT40的区别和信道划分及plus,minus含义
  • 原文地址:https://www.cnblogs.com/simple5960/p/11562418.html
Copyright © 2011-2022 走看看