首页 > 编程语言 >结对编程

结对编程

时间:2024-04-17 15:11:07浏览次数:21  
标签:结对 num1 int 编程 choice break printf operation

结对同学:2252832

程序要求:
两个运算符,100 以内的数字,不需要写答案。
需要检查答案是否正确,并且保证答案在 0-100 之间

根据题目要求,我们决定使用c++语言完成编程,使用两个运算符,100 以内的数字。
需要检查答案是否正确,并且保证答案在 0到100 之间

结对编程过程
1.首先确认问题需求,确定目标
2.然后进行编程。
3.最后测试运行,完成代码的编写

程序代码:

include <stdio.h>
include <stdlib.h>
include <time.h>
int getChoice();
void Menu();
void doExercise(int);
int test(int);

int exnum=0; //题目数量

int main(void)
{
int choice=0;
do
{

Menu(); //显示菜单

while(1)
{
choice=getChoice();
if(choice<0 || choice>3)
printf("输入有误,");
else
break;
}

if(choice==0)
{
break;//用户选择0,退出循环(退出系统)
}

doExercise(choice);//测试系统
}while(choice!=0);

printf("欢迎使用本软件,再见!\n");
return 0;
}

int getChoice()
{
printf("请输入你的选择(0--5):");
int choice;
scanf("%d",&choice);
return choice;
}

void Menu()
{

printf("\n");
printf(" 欢迎使用小学生四则运算练习软件 \n");
printf(" 1.加法练习 \n");
printf(" 2.减法练习 \n");
printf(" 3.乘法联系 \n");
printf(" 0.退出 \n");
printf("
\n");

}

void doExercise(int n)
{
int score=0;//练习得分,初始化为0
int i=0;//练习题数的计数器
printf("你想做多少道题?");

scanf("%d",&exnum);
for(i=0;i<exnum;i++)
{
score=score+test(n);//间接递归调用test(n)
}
printf("\n正确率:%d/%d\n\n\n",score,exnum);
}

int test(int n)
{
int rightanswer=0;//正确答案
int useranswer=0;//用户输入的答案
int t=0;//临时变量
char operation;//运算类别
int num1=0;//操作数1
int num2=0;//操作数2

srand(time(NULL));
num1=rand()%10;//取0—9之间的随机数
num2=rand()%10;

switch(n)
{
case 1:
operation='+';
break;

case 2:
operation='-';
break;

case 3:
operation='*';
break;

}

if((operation=='-') && (num1<num2))
{
t=num1;
num1=num2;
num2=t;
}

switch(operation)
{
case '+':
rightanswer=num1+num2;
break;

case '-':
rightanswer=num1-num2;
break;

case '':
rightanswer=num1num2;
break;

}

//判断正误
int errornum=0;
printf("%d%c%d= ",num1,operation,num2);
while(1){
scanf("%d",&useranswer);

if(useranswerrightanswer)
{
if(errornum>0){
printf("做对了!\n\n");
return 0;
}
else{
printf("做对了!\n\n");
return 1;
}
}
else
{
errornum++;
if(errornum3){
printf("错误3次,正确答案为:%d\n\n",rightanswer);return 0;
}
else{
printf("做错了!请重新输入答案:");
}

}
}
}

运行结果:

标签:结对,num1,int,编程,choice,break,printf,operation
From: https://www.cnblogs.com/VVVaundy/p/18140805

相关文章

  • 结对编程——100以内加减乘除
    前言按照结对编程的原则,我(2252627)和我的合作伙伴(2252616)两人进行了结对编程,我们共同完成的项目的是小学的四则运算,通过随机生成四则运算题目,供学生答题,并在学生提交答案后进行自动评定,返回正误。经过讨论,我们采用了C++语言作为开发语言,并选取DevC++5.11作为开发环境。功能要求......
  • Python-并行编程秘籍(五)
    Python并行编程秘籍(五)原文:zh.annas-archive.org/md5/e472b7edae31215ac8e4e5f1e5748012译者:飞龙协议:CCBY-NC-SA4.0第九章:调试阶段这最后一章将介绍两个重要的软件工程主题——调试和测试,这是软件开发过程中的重要步骤。本章的第一部分专注于代码调试。错误是程序中的错......
  • Python-并行编程秘籍(一)
    Python并行编程秘籍(一)原文:zh.annas-archive.org/md5/e472b7edae31215ac8e4e5f1e5748012译者:飞龙协议:CCBY-NC-SA4.0前言计算行业的特点是寻求越来越高效的性能,从网络、电信、航空电子等领域的高端应用到台式计算机、笔记本电脑和视频游戏中的低功耗嵌入式系统。这种发展......
  • Python-编程蓝图(五)
    Python编程蓝图(五)原文:zh.annas-archive.org/md5/86404db5905a76ae5db4e50dd816784e译者:飞龙协议:CCBY-NC-SA4.0第八章:订单微服务在本章中,我们将扩展我们在第七章中实现的Web应用程序,使用Django创建在线视频游戏商店。我不知道您是否注意到,在该项目中有一些重要的东西......
  • Python-编程蓝图(四)
    Python编程蓝图(四)原文:zh.annas-archive.org/md5/86404db5905a76ae5db4e50dd816784e译者:飞龙协议:CCBY-NC-SA4.0第七章:使用Django创建在线视频游戏商店我出生在70年代末,这意味着我在视频游戏产业诞生时长大。我的第一款视频游戏主机是Atari2600,正是因为这款特定的视......
  • Python-编程蓝图(六)
    Python编程蓝图(六)原文:zh.annas-archive.org/md5/86404db5905a76ae5db4e50dd816784e译者:飞龙协议:CCBY-NC-SA4.0第九章:通知无服务器应用程序在本章中,我们将探索AWSLambda函数和AWSAPIGateway。AWSLambda使我们能够创建无服务器函数。无服务器并不意味着没有服务器......
  • Python-编程蓝图(二)
    Python编程蓝图(二)原文:zh.annas-archive.org/md5/86404db5905a76ae5db4e50dd816784e译者:飞龙协议:CCBY-NC-SA4.0第三章:在Twitter上投票在上一章中,我们实现了一个终端应用程序,作为流行音乐服务Spotify的远程控制器。在这个应用程序中,我们可以搜索艺术家,浏览专辑,以及浏......
  • Python-GUI-编程秘籍(四)
    PythonGUI编程秘籍(四)原文:zh.annas-archive.org/md5/de38d8b70825b858336fa5194110e245译者:飞龙协议:CCBY-NC-SA4.0第十章:使用PyOpenGL和PyGLet创建令人惊叹的3DGUI在本章中,我们将创建令人惊叹的PythonGUI,显示真正的可以旋转的三维图像,这样我们可以从各个角度观......
  • Python-并行编程秘籍(二)
    Python并行编程秘籍(二)原文:zh.annas-archive.org/md5/e472b7edae31215ac8e4e5f1e5748012译者:飞龙协议:CCBY-NC-SA4.0第三章:基于进程的并行处理在上一章中,我们学习了如何使用线程来实现并发应用程序。本章将讨论我们在第一章中介绍的基于进程的方法,使用并行计算和Python......
  • Python-GPU-编程实用指南(一)
    PythonGPU编程实用指南(一)原文:zh.annas-archive.org/md5/ef7eb3c148e0cfdfe01c331f2f01557c译者:飞龙协议:CCBY-NC-SA4.0前言问候和祝福!本文是关于使用Python和CUDA进行GPU编程的入门指南。GPU可能代表图形编程单元,但我们应该明确,这本书不是关于图形编程——它本质......