本次实验是做一个自动生成小学四则运算的小程序,对于我来说是检验基础的一次实验,要运用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;
  }
 }
 
 
}

Practice1小学四则运算的更多相关文章

  1. Practice1小学四则运算(改进)

    #include<stdio.h> #include<stdlib.h> #include<time.h> void srand(unsigned);//随机生成不 ...

  2. 作业二:个人编程项目——编写一个能自动生成小学四则运算题目的程序

    1. 编写一个能自动生成小学四则运算题目的程序.(10分)   基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图.   本题发一篇随笔,内容包括: 题 ...

  3. myapp——自动生成小学四则运算题目的命令行程序(侯国鑫 谢嘉帆)

    1.Github项目地址 https://github.com/baiyexing/myapp.git 2.功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 功能(已全部实现) 使用 -n ...

  4. java实现自动生成小学四则运算——朱庭震,詹祺豪

    组员:朱庭震,詹祺豪 Github地址:https://github.com/ztz1998/second/tree/master 1题目:实现一个自动生成小学四则运算题目的命令行程序. 2说明: 自 ...

  5. Individual Project "写一个能自动生成小学四则运算题目的程序"

    一.题目简介 写一个能自动生成小学四则运算题目的程序. 初步拟定要实现的功能后,估计一下自己需要花多长时间.编程过程中记录自己实际用了多长时间. 然后和同学们比较一下各自程序的功能.实现方法的异同等等 ...

  6. 小学四则运算APP 最后阶段

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 这次发布的是我们APP的最终版本!图片背景有根据用户需求改变!还增加了草稿纸运算的画布功能! 运行结果如下: package com.ex ...

  7. 小学四则运算APP 第三阶段冲刺-第一天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第三次冲刺阶段时间:12.12~12.19 本次发布的是音乐播放功能,可以根据用户需求一边播放音乐一边做题,也拥有暂停播放音乐的功能,增强 ...

  8. 小学四则运算APP 第二阶段冲刺-第五天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是判断题代码,已经实现部分功能,,但是美中不足的是判断错误 panduanset.j ...

  9. 小学四则运算APP 第二次冲刺 第四天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是合并后的选择题功能界面的设置: ChoiceSet.java: package c ...

随机推荐

  1. 关于react的一点工作总结

    首先,react是Facebook开发的一套前端框架,仅仅是MVC中的V.核心思想是“封装组件”,组件封装后可以作为一个独立的实体被引入到新的组件中,这样新的组件就又是一个实体了,由于组件的实现了可复 ...

  2. cookie的详解

    cookie是如何出生的 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目 ...

  3. laravel记录笔记Laravel 连接数据库、操作数据库的三种方式

    laravel中提供DB facade(原始查找).查询构造器.Eloquent ORM三种操作数据库方式 1.连接数据库 .env 数据库配置 DB_HOST=localhost dbhost DB ...

  4. MyBatis实战之动态SQL

    如果使用JDBC或者其他框架,很多时候你得根据需要去拼接SQL,这是一个麻烦的事情,而MyBatis提供对SQL语句动态的组装能力,而且它只有几个基本的元素,非常简单明了,大量的判断都可以在MyBat ...

  5. CSS属性书写顺序及命名规则

    /* mozilla.org Base Styles * maintained by fantasai */ /* Suggested order: * display * list-style * ...

  6. day57

    JQ初级 一.认识jQuery 1.什么是jQuery jQuery是对原生JavaScript二次封装的工具函数集合 jQuery是一个简洁高效的且功能丰富的JavaScript工具库 2.jQue ...

  7. 20155204《网络对抗》Exp9 Web安全基础实践

    20155204<网络对抗>Exp9 Web安全基础实践 一.基础问题回答 SQL注入攻击原理,如何防御? 原理: SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以 ...

  8. 20155331 《网络对抗》 Exp6 信息搜集与漏洞扫描

    20155331 <网络对抗> Exp6 信息搜集与漏洞扫描 实验问题回答 哪些组织负责DNS,IP的管理 答:美国政府授权ICANN统一管理全球根服务器,负责全球的域名根服务器.DNS和 ...

  9. Git配置用户名与邮箱

    1.用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 2.查看用户名和邮 ...

  10. S5PV210 DDR2初始化 28个步骤总结

    看了一套视频,感觉DDR这个部分将的非常细致也很好,于是把视频内容花了一个多星期作了总结. 这个视频就是不知道是谁讲的,做好事不留名啊---那位知道告诉我哈-- 平台:S5PV210 DDR: 兼容 ...