c 语言程序设计!! 小学生数学测试软件系统设计
悬赏分:100 - 解决时间:2008-7-10 16:42
最好有思路,原程序代码和注示.
我的C语言知识水有限. 谢谢!!
小学生数学测试软件系统设计
要求:
(1) 可选择题型(+,-,*);
(2) 可选择每次答题的个数;
(3) 随机生成两个数进行运算;
(4) 每次在输入答案后应判断对错,若答案错误,应给出正确答案;
(5) 最后给出做对题目的总个数。
注:系统以菜单的形式进行操作。
提问者: lvwenjunlj - 初入江湖 二级 最佳答案
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void menu();
void add();
void sub();
void mul();
void div1();
void main()
{
int a;
while(1)
{
menu();
printf("请选择相应的选项:");
scanf("%d",&a);
switch(a)
{
case 1:
add();
break;
case 2:
sub();
break;
case 3:
mul();
break;
case 4:
div1();
break;
case 5:
exit(0);
break;
default:
break;
}
}
}
void menu()
{
printf("***********************************************\n");
printf("*☆☆☆☆☆☆☆小学数学测试软件☆☆☆☆☆☆☆☆☆☆ *\n");
printf("***********************************************\n");
printf("*---------请选择您要进行的操作----------------*\n");
printf("*---- ●1. 加法测试 ----*\n");
printf("*---- ●2. 减法测试 ----*\n");
printf("*---- ●3. 乘法测试 ----*\n");
printf("*---- ●4. 除法测试 ----*\n");
printf("*---- ●5. 退出系统 ----*\n");
printf("***********************************************\n");
}
void add()
{
int a,b,c,d,re=0,sum=0;
system("cls");
while(1)
{
a=rand()%100;
b=rand()%100;
printf("%d+%d=",a,b);
scanf("%d",&c);
if(c==(a+b))
{
re++;
sum++;
printf("回答对了!还要继续答题吗?\n 选择的题目数:%d,答对的题目数字:%d\n1.继续 2.退出",re,sum);
}
else
{
re++;
printf("回答错了.正确答案为%d.还要继续答题吗?\n选择的题目数:%d,答对的题目数字:%d\n1.继续 2.退出",a/b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
void sub()
{
int a,b,c,d,re=0,sum=0;
system("cls");
while(1)
{
a=rand()%100;
b=rand()%100;
while((a-b)<0)
{
a=rand()%100;
b=rand()%100;
}
printf("%d-%d=",a,b);
scanf("%d",&c);
if(c==(a-b))
{
re++;
sum++;
printf("回答对了!还要继续答题吗?\n 选择的题目数:%d,答对的题目数字:%d\n1.继续 2.退出",re,sum);
}
else
{
re++;
printf("回答错了.正确答案为%d.还要继续答题吗?\n选择的题目数:%d,答对的题目数字:%d\n1.继续 2.退出",a/b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
void mul()
{ int a,b,c,d,re=0,sum=0;
system("cls");
while(1)
{
a=rand()%20;
b=rand()%20;
printf("%d*%d=",a,b);
scanf("%d",&c);
if(c==(a*b))
{
re++;
sum++;
printf("回答对了!还要继续答题吗?\n 选择的题目数:%d,答对的题目数字:%d\n1.继续 2.退出",re,sum);
}
else
{
re++;
printf("回答错了.正确答案为%d.还要继续答题吗?\n选择的题目数:%d,答对的题目数字:%d\n1.继续 2.退出",a/b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}
void div1()
{
int a,b,c,d,sum=0,re=0;
system("cls");
while(1)
{
a=rand()%100;
b=rand()%100;
if(b==0)
b=rand()%100;
while((a%b)!=0)
{
a=rand()%100;
b=rand()%100;
if(b==0)
b=rand()%100;
}
printf("%d / %d=",a,b);
scanf("%d",&c);
if(c==(a/b))
{
sum++;
re++;
printf("回答对了!还要继续答题吗?\n 选择的题目数:%d,答对的题目数字:%d\n1.继续 2.退出",re,sum);
}
else
{
re++;
printf("回答错了.正确答案为%d.还要继续答题吗?\n选择的题目数:%d,答对的题目数字:%d\n1.继续 2.退出",a/b,re,sum);
}
scanf("%d",&d);
if(d==2)
break;
else
system("cls");
}
system("cls");
}