二柱子课后题加强版的加强版

Posted f135114

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二柱子课后题加强版的加强版相关的知识,希望对你有一定的参考价值。

新要求:

1、实现在线答题

2、答题结束后可以判断对错

3、并将错误的结果保存起来

 

代码:

#include <stdio.h>

#include <ctype.h>

#include <time.h>

#include <stdlib.h>

#include <windows.h>

#define IDNO_LENGTH 6

#define CALC_KIND 4

 

char getSignal();

int getResult(int,int,char);

void takeTest();

void falsePrint(int);

void correctPrint(int);

 

//main函数

void main()

{

while(1)

{

takeTest();

}

 

}

 

//获取随机运算符

char getSignal()

{

char signal[CALC_KIND]={‘+‘,‘-‘,‘*‘,‘/‘};

srand((unsigned)time(NULL));

return signal[rand()%4];

}

 

//获取随机数

int random(double start, double end)

{

return (int)(start+(end-start)*rand()/(RAND_MAX+ 1.0));

}

 

//运算

int getResult(int num1,int num2,char signal)

{

int res;

switch(signal)

{

case ‘+‘:

res=num1+num2;break;

case ‘-‘:

res=num1-num2;break;

case ‘*‘:

res=num1*num2;break;

case ‘/‘:

res=num1/num2;break;

default:

res=0;

printf("运算符不符合规则 ");

}

return res;

}

 

//列出题目

void takeTest()

{

int giveRes;

int num1;

int num2;

char signal;

int printFlag;

 

srand((unsigned)time(NULL));

signal=getSignal();

num1=random(0,100);

num2=random(1,100);

 

if(signal==‘-‘)

{

if(num1<num2)

{

int temp;

temp=num1;

num1=num2;

num2=temp;

}

}

 

if(signal==‘/‘)

{

if(num2==0)

{

int temp;

temp=num1;

num1=num2;

num2=temp;

}

}

 

printf("%d%c%d=",num1,signal,num2);

scanf("%d",&giveRes);

fflush(stdin);

 

if(getResult(num1,num2,signal)==giveRes)

{

printFlag=random(1,5);

correctPrint(printFlag);

}

else

{

printFlag=random(1,4);

falsePrint(printFlag);

printf("正确答案:%d ",getResult(num1,num2,signal));

}

}

 

//回答正确打印信息

void correctPrint(int num)

{

switch(num)

{

case 1:

printf("You‘re right! ");break;

case 2:

printf("It‘s OK! ");break;

case 3:

printf("Correct! ");break;

case 4:

printf("Perfect! ");break;

case 5:

printf("Good! ");break;

default:

printf("Powerful! ");break;

}

}

 

//回答错误打印信息

void falsePrint(int num)

{

switch(num)

{

case 1:

printf("You‘re lost!");break;

case 2:

printf("Failure!");break;

case 3:

printf("Come on!");break;

case 4:

printf("It‘s wrong!");break;

default:

printf("Incorrect!");break;

}

}

 

结果截图:

技术分享图片

    

以上是关于二柱子课后题加强版的加强版的主要内容,如果未能解决你的问题,请参考以下文章

个人项目:二柱子加强版

android面试题总结加强再加强版

高等数学李秀珍课后答案 高等数学文科类答案

java基础入门第二版第二章课后答案,知识点总结+面试题解析

《数据库系统概论(第5版)》课后习答案 王珊萨师煊编著版 课后题解析 高等教育出版社出版 答

慕课版软件质量保证与测试(第五章.课后作业)