当前位置:编程学习 > C/C++ >>

用c语言设计一个四则运算的程序,求改

编写小学生数学测试软件,要求:
(1) 可选择题型(+,-,*,/);
(2) 可选择每次答题的个数;
(3) 随机生成两个10以内的数进行运算;
(4) 每次在输入答案后应判断对错,若答案错误,应
     给出正确答案;
(5) 最后给出做对题目的总个数和总得分;
(6) 测试完一次,根据测试者的意图,可以重新测试。重新测试时可以重新选择题型和新的答题个数。

我自己胡乱的做了,结果运行不了,求大侠指点。谢谢

 

 

#include<stdio.h>
#include<stdlib.h> 
#include<math.h>
#include<time.h>
#include<windows.h>


//system("pause");//
// system("cls");//
void jiafa()
{
 int i,j,m;
 srand(time(NULL));
    i=rand()%100;
    j=rand()%100; 
 printf("%d+%d=",i,j);
            scanf("%d",&m);
   if(i+j==m)printf("回答正确");
           else printf("回答错误\n%d+%d=%d\n",i,j,i+j);

   
   
}

void jianfa()
{
 int i,j,n;
    i=rand()%100;
    j=rand()%100;
 printf("%d-%d=",i,j);
  scanf("%d",&n);
  
  if(i-j==n)
   printf("回答正确");
      else
   printf("回答错误\n%d-%d=%d\n",i,j,i-j);
}
  
 

void chengfa()
{
int i,j,o;
    i=rand()%100;
    j=rand()%100;

         printf("%d*%d=",i,j);
  scanf("%d",&o);

  if(i*j==o)
   printf("回答正确");
  else
   printf("回答错误\n%d*%d=%d\n",i,j,i*j);
 
}
   
void chufa()
{
int i,j,p;
    i=rand()%100;
    j=rand()%100;

 printf("%d/%d=",i,j);
  scanf("%d",&p);
  if(i/j==p)
   printf("回答正确");
  else printf("回答错误\n%d/%d=%d\n",i,j,i/j);
}

void main()
{
int  x, shuru=0;


                                               
   system("color 19");                   
                                 
  
printf("                     欢迎参加小学生数学四项法则测试\n");
system("pause");
   system("cls");
 while (1)
 {
    printf("你需要做什么题型计算?请选择:+(输入1)  - (输入2) *(输入3)  /(输入4)\n");
    if(shuru==0)
  scanf("c%",&x);
  

   switch(x)
   {
   case '1': jiafa();break;
   case '2': jianfa();break;
   case '3': chengfa();break;
   case '4': chufa();break;
   default : printf("输入错误,请重新输入");
   
   }
 printf("请输入数字选择:\n1.继续\n2.重新选择题型\n3.结束\n");
  scanf("%d",&shuru);
 if(shuru==1) shuru=1;
 if(shuru==2) shuru=0;
 if(shuru==3) break;
 }
 
}

追问:太感谢了,不过回答完第一次,重新选择题型时就会出错··

答案:#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
/*#include"windows.h"*/


/*system("pause");*/
/* system("cls");*/
void jiafa()
{
 int i,j,m;
 srand(time(NULL));
    i=rand()%100;
    j=rand()%100; 
 printf("%d+%d=",i,j);
            scanf("%d",&m);
   if(i+j==m)printf("very good");
           else printf("error\n%d+%d=%d\n",i,j,i+j);

  
  
}

void jianfa()
{
 int i,j,n;
    i=rand()%100;
    j=rand()%100;
 printf("%d-%d=",i,j);
  scanf("%d",&n);
 
  if(i-j==n)
   printf("very good");
      else
   printf("error\n%d-%d=%d\n",i,j,i-j);
}
 
 

void chengfa()
{
int i,j,o;
    i=rand()%100;
    j=rand()%100;

         printf("%d*%d=",i,j);
  scanf("%d",&o);

  if(i*j==o)
   printf("ok");
  else
   printf("error\n%d*%d=%d\n",i,j,i*j);
 
}
  
void chufa()
{
float i,j,p;
    i=rand()%100;
    j=rand()%100;

 printf("%f/%f=",i,j);
  scanf("%f",&p);
  if(i/j==p)
   printf("very good");
  else printf("error\n%f/%f=%f\n",i,j,i/j);
}

void main()
{
char  x, shuru=0;


                                               
   system("color 19");                   
                                 
  
printf("                     \n");
system("pause");
   system("cls");
 while (shuru!=3)
 {
    printf("please choose?+(1)  - (2) *(3)  /(4)\n");
   if(shuru==0)
  scanf("%c",&x);
  

   switch(x)
   {
   case '1': jiafa();break;
   case '2': jianfa();break;
   case '3': chengfa();break;
   case '4': chufa();break;
   default : printf("error");
  
   }
 }
 printf("please inpuplease choose?+(1)  - (2) *(3)  /(4)\n");
  scanf("%d",&shuru);

 }
 

我在你的基础上改的,因为我的编译环境不能运行中文,所以都改为英文了,有问题可以继续说啊

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#include<windows.h>


//system("pause");//
// system("cls");//
void jiafa()
{
 int i,j,m;
 srand(time(NULL));
    i=rand()%100;
    j=rand()%100; 
 printf("%d+%d=",i,j);
            scanf("%d",&m);
   if(i+j==m)printf("回答正确");
           else printf("回答错误\n%d+%d=%d\n",i,j,i+j);

  
  
}

void jianfa()
{
 int i,j,n;
    i=rand()%100;
    j=rand()%100;
 printf("%d-%d=",i,j);
  scanf("%d",&n);
 
  if(i-j==n)
   printf("回答正确");
      else
   printf("回答错误\n%d-%d=%d\n",i,j,i-j);
}
 
 

void chengfa()
{
int i,j,o;
    i=rand()%100;
    j=rand()%100;

         printf("%d*%d=",i,j);
  scanf("%d",&o);

  if(i*j==o)
   printf("回答正确");
  else
   printf("回答错误\n%d*%d=%d\n",i,j,i*j);
 
}
  
void chufa()
{
int i,j,p;
    i=rand()%100;
    j=rand()%100;

 printf("%d/%d=",i,j);
  scanf("%d",&p);
  if(i/j==p)
   printf("回答正确");
  else printf("回答错误\n%d/%d=%d\n",i,j,i/j);
}

void main()
{
int   shuru=0;
char x;

                                               
   system("color 19");                   
                                 
  
printf("                     欢迎参加小学生数学四项法则测试\n");
system("pause");
   system("cls");
 while (1)
 {
    printf("你需要做什么题型计算?请选择:+(输入1)  - (输入2) *(输入3)  /(输入4)\n");
    if(shuru==0)
  scanf("%c",&x);//错写c%
  

   switch(x)
   {
   case '1': jiafa();break;
   case '2': jianfa();break;
   case '3': chengfa();break;
   case '4': chufa();break;
   default : printf("输入错误,请重新输入");
  
   }
 printf("请输入数字选择:\n1.继续\n2.重新选择题型\n3.结束\n");
  scanf("%d",&shuru);
 if(shuru==1) shuru=1;
 if(shuru==2) shuru=0;
 if(shuru==3) break;
 }
 
}

scanf("%d",&p);

每个子函数里的好像都多了这些。

上一个:java中的方法与C语言中的函数有什么区别
下一个:请问C语言中的预处理命令ifdef是什么意思

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,