zoukankan      html  css  js  c++  java
  • C语言寒假大作战04

    作业头

    这个作业属于哪个课程
    这个作业要求在哪里
    这个作业的目标
    作业正文
    其他参考文献

    2.1 题目内容与要求

    使用上次作业的菜单框架,并在其基础上增加各年级题目操作函数

    2.1.1 菜单程序函数调用图如下:

    2.1.2 程序截图:

    2.2.2 设计思路和遇到的问题

    设计思路

    利用符号判断结果,用变量接收生成的随机数,并算出它的结果。

    遇到的问题

    大部分思路清晰,结果计算时出现错误,把+打成*。

    2.2.3 程序代码

    #include<stdio.h>
    #include <stdlib.h>
    #include <time.h>
    void menu(){
            printf("操作列表:
    1)一年级    2)二年级    3)三年级
    4)帮助      5)退出程序
    请输入操作>  ");
    }
    void help(){
        printf("帮助信息
    您需要输入命令代号来进行操作, 且
    一年级题目为不超过十位的加减法;
    二年级题目为不超过百位的乘除法;
    三年级题目为不超过百位的加减乘除混合题目.
    
    ");
    }
    void error(){
        printf("Error!!!
    错误操作指令, 请重新输入
    
    ");
    }
    void firstgrade(){
    	srand(time(NULL));
    	int a,b,c,i;
    	char f[2]={'+','-'},fl;
        printf("现在是一年级题目:
    请输入生成题目的个数:");
        scanf("%d",&i);
        for(;i>0;i--){
        	a=rand()%101;
    		b=rand()%101;
    		fl=f[rand()%2];
    		if(fl=='+')
    			c=a+b;
    		else c=a-b;
    		printf("%d %c %d = %2d
    ",a,fl,b,c);
    	}
    	printf("
    
    ");  
    }
    void secondgrade(){
    	srand(time(NULL));
    	int a,b,i;
    	double c;
    	char f[2]={'*','/'},fl;
        printf("现在是二年级题目:
    请输入生成题目的个数:");
        scanf("%d",&i);
        for(;i>0;i--){
        	a=rand()%101;
    		b=rand()%101;
    		fl=f[rand()%2];
    		if(fl=='/'&&b==0)b=rand()%100+1;
    		if(fl=='/')c=a*1.0/b;
    		else c=a*b;
        	printf("%d %c %d = %2g
    ",a,fl,b,c);
    	}
    	printf("
    
    ");
    }
    void thirdgrade(){
    	srand(time(NULL));
    	int a,b,i,c,n,q;
    	double m; 
    	char f[4]={'*','/','+','-'},d,e;
        printf("现在是三年级题目:
    请输入生成题目的个数:");
        scanf("%d",&i);
        for(;i>0;i--){
        	a=rand()%101;
    		d=f[rand()%4];
    		b=rand()%101;
    		if(d=='/'&&b==0)	b=rand()%100+1;
    		e=f[rand()%4];
    		c=rand()%101;
    		if(e=='/'&&c==0)	c=rand()%100+1;
    		
    		switch (d) 
    		{
    			case '+':n=1;break;
    			case '-':n=2;break;
    			case '*':n=3;break;
    			case '/':n=4;break;
    		}
    		switch (e)
    		{
    			case '+':q=1;break;
    			case '-':q=2;break;
    			case '*':q=3;break;
    			case '/':q=4;break;
    		}
    		switch (n)
    		{
    			case 1:
    				if(q==1)
    					m=a+b+c;
    				else if(q==2)
    					m=a+b-c;
    				else if(q==3) 
    					m=a+b*c;
    				else m =a+b*1.0/c;
    				break;
    			case 2:
    				if(q==1)
    					m=a-b+c;
    				else if(q==2)
    					m=a-b-c;
    				else if(q==3) 
    					m=a-b*c;
    				else m =a-b*1.0/c;
    				break;
    			case 3: 
    			if(q==1)
    					m=a*b+c;
    				else if(q==2)
    					m=a*b-c;
    				else if(q==3) 
    					m=a*b*c;
    				else m =a*b*1.0/c;
    				break;
    			case 4:
    				if(q==1)
    					m=a*1.0/b+c;
    				else if(q==2)
    					m=a*1.0/b-c;
    				else if(q==3) 
    					m=a*1.0/b*c;
    				else m =a*1.0/b/c;
    				break;
    		}		
    		
        	printf("%2d %c %2d %c %2d = %2g
    ",a,d,b,e,c,m);
    	}
    	printf("
    
    ");
    }
    
    int main()
    {
        int a;
        printf("========== 口算生成器 ==========
    欢迎使用口算生成器 :
    
    ");
        help(); 
        menu();
        do{
            scanf("%d",&a);
            printf("< 执行操作 >
    
    ");
            switch (a) {        
                case 1:firstgrade();break;
                case 2:secondgrade();break;
                case 3:thirdgrade();break;
                case 4:help();    break;
                case 5:printf("程序结束, 欢迎下次使用 任意键结束……
    ");break;
                default:error();break;
            }
            if(a!=5)menu();
        }while(a!=5);
        
        return 0;
    }
    
    

    2.2.4 Gitee上传截图与链接

    本地仓库



    码云

    gitee主页

  • 相关阅读:
    uplift model学习笔记
    TensorFlow、Numpy中的axis的理解
    JStorm与Storm源码分析(六)--收集器 IOutputCollector 、OutputCollector
    JStorm与Storm源码分析(一)--nimbus-data
    控制反转(IoC)-解析与实现
    ICA独立成分分析去除EEG伪影
    Boston和MIT研究人员利用脑电信号实时控制机器人
    利用LSTM(长短期记忆网络)来处理脑电数据
    EEG数据、伪影的查看与清洗
    EEG vs MRI vs fMRI vs fNIRS简介
  • 原文地址:https://www.cnblogs.com/szy5201314/p/12273469.html
Copyright © 2011-2022 走看看