急求:用C语言编写小学生数学测试软件
要求:1,可选择题型(+,-,*)2,可选择每次答题的个数3,随机生成两个数进行运算4,每次在输入答案后应判断对错,如答案错误,应给出正确答案5,最后给出作对题目的总个数...
要求:1,可选择题型(+ ,- ,*)
2,可选择每次答题的个数
3,随机生成两个数进行运算
4,每次在输入答案后应判断对错,如答案错误,应给出正确答案
5,最后给出作对题目的总个数
注意:产生随机数的方法:使用随机数函数
在使用随机数函数random()之前,应包含文件#include<stdlib.h>
然后使用下述函数初始化:
randomize();/*init the random number generator */
以后就可以直接使用random()函数来产生需要的数据:
如果需要产生10以内的数,使用random(10)就可以了;如果需要产生10以内的数,使用random(100)就可以了
加急,加急
另外说明:1,数据结构设计描述
2,各变量的定义和作用
3,系统各模块(函数)的组成,功能,参数说明,相互调用关系
4,各功能模块的算法处理流程图及相关说明
5,程序设计过程中遇到的问题及解决过程
越详细越好,加倍给分!!! 展开
2,可选择每次答题的个数
3,随机生成两个数进行运算
4,每次在输入答案后应判断对错,如答案错误,应给出正确答案
5,最后给出作对题目的总个数
注意:产生随机数的方法:使用随机数函数
在使用随机数函数random()之前,应包含文件#include<stdlib.h>
然后使用下述函数初始化:
randomize();/*init the random number generator */
以后就可以直接使用random()函数来产生需要的数据:
如果需要产生10以内的数,使用random(10)就可以了;如果需要产生10以内的数,使用random(100)就可以了
加急,加急
另外说明:1,数据结构设计描述
2,各变量的定义和作用
3,系统各模块(函数)的组成,功能,参数说明,相互调用关系
4,各功能模块的算法处理流程图及相关说明
5,程序设计过程中遇到的问题及解决过程
越详细越好,加倍给分!!! 展开
1个回答
展开全部
//vc 6.0调试通过
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int add(int x,int y)
{return x+y;}
int sub(int x,int y)
{return x-y;}
int mul(int x,int y)
{return x*y;}
void fun(char f)
{
int n,x,y,z,t,result,sum=0;
srand((unsigned)time(NULL));
printf("请选择答题的个数:\n");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
x=rand()%10;
y=rand()%10;
if(x<y && f=='-')
{t=x;x=y;y=t;}
if(f=='*')
{while(!x){x=rand()%10;}
while(!y){y=rand()%10;}}
printf("%d %c %d =",x,f,y);
scanf("%d",&z);
switch(f)
{
case '+':
result=add(x,y);break;
case '-':
result=sub(x,y);break;
case '*':
result=mul(x,y);break;
}
if(result==z)
{printf("正确!\n");sum++;}
else
printf("错误!应该是%d\n",result);
}
printf("\n正确率为%f%%\n/////////////////////////////////\n\n",100.0*sum/n);
fflush(stdin);
}
void main()
{
printf("/////////////////////////////////\n");
printf(" 小学生数学测试软件\n");
printf("//////////////////////////////////\n\n");
char ch;
while(1)
{
printf("请选择题型--加(+),减(-),乘(*),退出(0): ");
ch=getchar();
if(ch=='+'||ch=='-'||ch=='*')
fun(ch);
else if(ch=='0')
exit(0);
else
printf("错误!\n");
}
}
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int add(int x,int y)
{return x+y;}
int sub(int x,int y)
{return x-y;}
int mul(int x,int y)
{return x*y;}
void fun(char f)
{
int n,x,y,z,t,result,sum=0;
srand((unsigned)time(NULL));
printf("请选择答题的个数:\n");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
x=rand()%10;
y=rand()%10;
if(x<y && f=='-')
{t=x;x=y;y=t;}
if(f=='*')
{while(!x){x=rand()%10;}
while(!y){y=rand()%10;}}
printf("%d %c %d =",x,f,y);
scanf("%d",&z);
switch(f)
{
case '+':
result=add(x,y);break;
case '-':
result=sub(x,y);break;
case '*':
result=mul(x,y);break;
}
if(result==z)
{printf("正确!\n");sum++;}
else
printf("错误!应该是%d\n",result);
}
printf("\n正确率为%f%%\n/////////////////////////////////\n\n",100.0*sum/n);
fflush(stdin);
}
void main()
{
printf("/////////////////////////////////\n");
printf(" 小学生数学测试软件\n");
printf("//////////////////////////////////\n\n");
char ch;
while(1)
{
printf("请选择题型--加(+),减(-),乘(*),退出(0): ");
ch=getchar();
if(ch=='+'||ch=='-'||ch=='*')
fun(ch);
else if(ch=='0')
exit(0);
else
printf("错误!\n");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询