预埋件生产厂家:利用C语言开发一个小学生算术四则运算测试系统

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 23:46:32
该系统是让计算机充当一位给小学生布置作业的算术老师,给学生出题阅卷,功能如下:
1,为小学生出题(分别进行+,-,*,/等不同运算)
2,学生做题后进行评阅,学生每做一题后评阅给出"答案正确,很好"或"答案错误,重做"等字样
3,+,-,*,/运算功能可以自由进行选择实现
4,运算数值可以控制在两位(或三位)数的四则运算范围内

/************************************
CopyRight Dragonpaopao
************************************/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int question_get();
int type;

void main( void )
{
int answer;

srand( (unsigned)time( NULL ) );

printf( "请选择要进行测试的题目种类:" );
printf( "\n1.加法\n2.减法\n3.乘法\n4.除法\n" );
scanf( "%d", &type );

while( 1 )
{
int temp;
char flag;
answer = question_get();
printf( "请给出你的答案:\n" );
fflush( stdin );
scanf( "%d", &temp );
while( temp!=answer )
{
printf( "\n答案错误,重做\n" );
fflush( stdin );
scanf( "%d", &temp );
}
printf( "\n答案正确,很好\n" );
printf( "继续请按1,退出请按0\n" );
fflush( stdin );
scanf( "%c", &flag );
while( flag!='0' && flag!='1' )
{
printf( "继续请按1,退出请按0\n按其它键无效\n" );
fflush( stdin );
scanf( "%c", &flag );
}
if( flag=='0' )
break;
}
}

int question_get()
{
int a,b,c;
if( type==1 )
{
a=rand()%999;
b=999-a;
b=rand()%b;
printf( "%d + %d = ?", a, b );
return(a+b);
}
else if( type==2 )
{
b=rand()%999;
c=999-b;
c=rand()%c;
printf( "%d - %d = ?", b+c, b );
return(c);

}
else if( type==3 )
{
a=rand()%500;
b=1000/a;
b=rand()%b;
printf( "%d * %d = ?", a, b );
return(a*b);
}
else
{
b=rand()%500;
c=1000/b;
while( 1 )
{
c=rand()%c;
if( c!=0 )
break;
}
printf( "%d / %d = ?", b*c, b );
return(c);
}
}