Practice1小学四则运算

本次实验是做一个自动生成小学四则运算的小程序,对于我来说是检验基础的一次实验,要运用Visual C++来编写完成,“自动生成”第一印象是要用到Random()函数,“加减乘除”则应该用到switch和case语句,小学四则运算应该是一位与一位数相加、一位数与二位数相加和二位数与两位数相加,做个简单的菜单,初步的想法就是这样。

在实验过程中,发现了不少问题,比如这程序只能执行一边,不能返回上一级,应该用函数调用但我没有实现;也有很多容错性没有考虑到。

总结:在这次实验中,我了解到了基础知识的重要性,遇到问题要去想,要去解决,希望下次继续努力!

以下是源程序:

#include<stdio.h>
#include<stdlib.h>
void main()
{      
 int n,i,a,b,c,d,e,f,g,h;      
 printf("****************************欢迎使用!************************\n");   
 printf("\n");      
 printf("1.加法运算\n");     
 printf("2.减法运算\n");     
 printf("3.乘法运算\n");     
 printf("4.除法运算\n");
 printf("0.退出程序\n");
 printf("***************************************************************\n");
 printf("请选择运算类型:");
    scanf("%d", &n);
 switch(n)
 {
 case 1:
        {
   printf("***************************************************************\n");
   printf("5.一位数加一位数\n");          
   printf("6.一位数加两位数\n");          
   printf("7.两位数加两位数\n");
   printf("***************************************************************\n");
   printf("请输入题型:");          
   scanf("%d",&i);       
   while(i<5||i>7)    
   {           
    printf("输入错误,请重新输入");          
    scanf("%d",&i);    
   }        
   if(i==5)
   {
    a=rand()%10+1;
    b=rand()%10+1;
    printf("%d+%d=\n",a,b);
   }
   if(i==6)
   {
    a=rand()%10+1;
    b=rand()%100+1;
    printf("%d+%d=\n",a,b);
   }
   if(i==7)
   {
    a=rand()%100+1;
    b=rand()%100+1;
    printf("%d+%d=\n",a,b);
   }
   
   break;
  }
  
 case 2:
  {
   printf("***************************************************************\n");
   printf("5.一位数减一位数\n");          
   printf("6.两位数减一位数\n");          
   printf("7.两位数减两位数\n");
   printf("***************************************************************\n");
   printf("请输入题型:");          
   scanf("%d",&i);       
   while(i<5||i>7)    
   {           
    printf("输入错误,请重新输入");          
    scanf("%d",&i);    
   }        
   if(i==5)
   {
    c=rand()%10+1;
    d=rand()%10+1;
    printf("%d-%d=\n",c,d);
   }
   if(i==6)
   {
    c=rand()%100+1;
    d=rand()%10+1;
    printf("%d-%d=\n",c,d);
   }
   if(i==7)
   {
    c=rand()%100+1;
    d=rand()%100+1;
    printf("%d-%d=\n",c,d);
   }
   break;
  }
  
 case 3:
  {
   printf("***************************************************************\n");
   printf("5.一位数乘一位数\n");          
   printf("6.一位数乘两位数\n");          
   printf("7.两位数乘两位数\n");
   printf("***************************************************************\n");
   printf("请输入题型:");          
   scanf("%d",&i);       
   while(i<5||i>7)    
   {           
    printf("输入错误,请重新输入");          
    scanf("%d",&i);    
   }        
   if(i==5)
   {
    e=rand()%10+1;
    f=rand()%10+1;
    printf("%d*%d=\n",e,f);
   }
   if(i==6)
   {
    e=rand()%10+1;
    f=rand()%100+1;
    printf("%d*%d=\n",e,f);
   }
   if(i==7)
   {
    e=rand()%100+1;
    f=rand()%100+1;
    printf("%d*%d=\n",e,f);
   }
   break;
  }
 case 4:
  {
   printf("***************************************************************\n");
   printf("5.一位数除于一位数\n");          
   printf("6.两位数除于一位数\n");          
   printf("7.两位数除于两位数\n");
   printf("***************************************************************\n");
   printf("请输入题型:");          
   scanf("%d",&i);       
   while(i<5||i>7)    
   {           
    printf("输入错误,请重新输入");          
    scanf("%d",&i);    
   }        
   if(i==5)
   {
    g=rand()%10+1;
    h=rand()%10+1;
    printf("%d/%d=\n",g,h);
   }
   if(i==6)
   {
    g=rand()%100+1;
    h=rand()%10+1;
    printf("%d/%d=\n",g,h);
   }
   if(i==7)
   {
    g=rand()%100+1;
    h=rand()%100+1;
    printf("%d/%d=\n",g,h);
   }
   break;
  }
 case 0:
  {
   printf("谢谢使用!再见!\n");
   break;
  }
 }
 
 
}

posted @ 2015-03-26 21:15  34王佳宁  阅读(172)  评论(3编辑  收藏  举报