首页 > 其他分享 >软件工程第二次实验

软件工程第二次实验

时间:2022-11-13 16:55:37浏览次数:79  
标签:rand 运算 int 软件工程 实验 printf 100 第二次 cn

实验过程

1.本人角色

本人在本次实验中担任驾驶员;

姓名:邢巧巧    学号:223201062209

我的结队伙伴是:庞玮洋223201062230

2.任务分工

驾驶员:邢巧巧 博客链接:

l  负责四则运算自动生成算法的整体设计工作,并辅助领航员完成代码测试;

领航员:庞玮洋 博客链接:

l  辅助驾驶员完成四则运算自动生成算法的设计,编写单元自动测试并设计测试用例,优化代码并完成代码复审

3. 系统的实现过程;

按照程序要求,应采用模块化设计方法,设计几个功能模块即函数。例如

1)       选择运算种类函数:显示选项,用户输入。

2)       选择运算数范围函数:显示选项,用户输入。

3)       测试函数:利用循环实现10个题目的测试:利用随机函数产生随机整数,根据用户选择的运算数范围得到符合要求的运算数;根据用户选择的运算种类显示表达式并存储正确结果;对用户输入的答案进行正确与错误的判定(错误显示正确答案),记录成绩。最后显示成绩。

4)       主函数中实现对这些函数的调用以完成程序功能。

4.算法设计

github地址:homeworki/3th at main · xingqiaoqiao/homeworki (github.com)

编程代码:

#include<stdio.h>

#include<math.h>

#include<windows.h>

int right=0;

int wrong=0;

 

void add()

{

  int x,y,z;

  x=rand()%100;

  y=rand()%100;

  printf("请回答:\n\t\t %d + %d = ",x,y);

  scanf("%d",&z);

  if(x+y==z)

  {

   printf("回答正确!\n");

    right++;

  }

  else

  {

   printf("回答错误!\n");

     wrong++;

  }

}

void subtract()

{

   int x,y,z;

   x=rand()%100;

   y=rand()%100;

   printf("请回答:\n\t\t %d - %d = ",x,y);

   scanf("%d",&z);

   if(x-y==z)

   {

     printf("回答正确!\n");

      right++;

   }

   else

   {

      printf("回答错误!\n");

      wrong++;

   }

}

void multiply()

{

   int x,y,z;

   x=rand()%100;

   y=rand()%100;

   printf("请回答:\n\t\t %d * %d = ",x,y);

   scanf("%d",&z);

   if(x*y==z)

   {

     printf("回答正确!\n");

      right++;

   }

   else

  {

     printf("回答错误!\n");

     wrong++;

  }

 }

void except()

{

   int x,y,z;

   x=rand()%100;

   y=rand()%100;

   printf("请回答:\n\t\t %d / %d = ",x,y);

   scanf("%d",&z);

   if(x/y==z)

   {

     printf("回答正确!\n");

      right++;

   }

    else

  {

    printf("回答错误!\n");

    wrong++;

   }

}

void main()

{

  int ch;

  int cn=0;

  printf("欢迎进入小学四则运算\n\n");

  while(1)

{

   printf("请选择:\n");

   printf("\t加法运算 输入1\n");

   printf("\t减法运算 输入2\n");

   printf("\t乘法运算 输入3\n");

   printf("\t除法运算 输入4\n");

   printf("\t退出运算 输入5\n");

 

   if(cn==0)

     scanf("%d",&ch);

   switch(ch)

{

   case 1: add();break;

   case 2:subtract();break;

   case 3:multiply();break;

   case 4:except();break;

   case 5:return;

}

  printf("\n\t\t\t继续运算 请输入1\n");

  printf("\n\t\t\t重新选择 请输入2\n");

  printf("\n\t\t\t退出运算 请输入3\n");

  scanf("%d",&cn);

 

  if(cn==1)

    cn=1;

  else if(cn==2)

    cn=0;

  else if(cn==3)

    break;

  else

    printf("抱歉!,你输入的指令有误!请重新输入!\n");

}

 

   printf("您总共完成了 %d 道题\n正确 %d 道\n错误 %d 道\n",right+wrong,right,wrong);

}

标签:rand,运算,int,软件工程,实验,printf,100,第二次,cn
From: https://www.cnblogs.com/xqqooo/p/16886284.html

相关文章

  • 实验三:朴素贝叶斯算法
    |20大数据三班|首页-20级大数据3班机器学习-池州学院-班级博客-博客园(cnblogs.com)||201613328|博客后台-博客园(cnblogs.com)|【实验目的】理解朴素贝叶......
  • 实验二
    一实验要求:①能够自动生成四则运算练习题②可以定制题目数量③用户可以选择运算符④用户设置最大数(如十以内、百以内等)⑤用户选择是否有括号、是否有小数......
  • 11月13日第二次实验结对项目
    2 实验步骤2.1实验过程2.1.1实验代码博客园地址代码地址2.1.2实验过程(1) 本人角色我在本次实验中将担任领航员的角色,学号是226201093102。我的结对伙伴是杨屹松......
  • 实验二报告
    2实验步骤2.1实验过程2.1.1实验代码给出博客园截图和网址,并附上github的代码地址。博客园截图:github的代码地址:实验二·iiani/lll@9b8bce2(github.com)2.1.2实......
  • 软件工程结对编程实验
    1.1 教学内容及要求完成结对项目,实现代码复审。1.2 实验要求首先在同学中找一个同伴,范围不限,可以在1~3班中随意组合,不要找同组的成员,女同学尽量找男同学结对,但是不......
  • 实验7:基于REST API的SDN北向应用实践
    一、实验目的能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;能够编写程序调用RyuRESTAPI实现特定网络功能。三、实验要求(一)基本要求编写Python程序,调用Ope......
  • 实验7:基于REST API的SDN北向应用实践
    一、实验目的能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;能够编写程序调用RyuRESTAPI实现特定网络功能。三、实验要求(一)基本要求编写Python程序,调用Ope......
  • 数值分析实验6:多项式插值(牛顿、拉格朗日)
    数值分析第二章实习题第一题 拉格朗日插值test.m程序:functionyy=test(x,y,xx)n=length(x);m=length(y);ifn~=m   error('x和y的维数必须相同');   r......
  • 实验7:基于REST API的SDN北向应用实践
    实验7:基于RESTAPI的SDN北向应用实践一、实验目的1.能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;2.能够编写程序调用RyuRESTAPI实现特定网络功能。二、实......
  • 软件工程实验二(结对编程)
    1实验内容及要求 1.1 教学内容及要求完成结对项目,实现代码复审。1.2 实验要求首先在同学中找一个同伴,范围不限,可以在1~3班中随意组合,不要找同组的成员,女同学尽量......