小学生四则运算练习器,用户可以选择进行加减乘除任意一项,也可以选择退出,然后每次计算后会提示正确与否,最后计算总分然后并给出评语。

⑴ 用户可以从菜单中选择某种运算进行练习。具体包括:加法,减法,乘法,除法;也可以退出程序.

⑵ 用户可以指定每次练习的题目数量、设置练习的总分;

⑶ 每小题练习后给出结果正确与否的提示;一次练习结束后,给出用户所得的总分;

⑷ 用户选择退出时,可退出系统。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define num 10
void showmain();
int getchoice();
int add();
int sub();
int mul();
int div();
void prnscore();
void exit();

//退出系统
void exit()
{
	printf("再见啦!\n");
}

//主菜单
void showmain()
{
	printf("*************************\n");
	printf("小学生数学联系系统\n");
	printf("     1  加法    \n");
	printf("     2  减法    \n");
	printf("     3  乘法    \n");
	printf("     4  除法    \n");
	printf("     0  退出    \n");
	printf("*************************\n");
	printf("请选择(0-4):");

}
//选择模块
int getchoice()
{
	int i;
	scanf("%d", &i);
	return i;
}

//加法
int add()
{
	int x, y, result, score = 0;
	printf("小朋友,开始做题了!!!\n");
	srand((unsigned)time(NULL));
	int i = 0;
	while (i < num)
	{
		x = rand() % 100;
		y = rand() % 100;
		printf("%d+%d=", x, y);
		scanf("%d", &result);
		if (result == x + y)
		{
			printf("做对啦!!\n");
			score += 10;
		}
		else
		{
			printf("做错了,继续加油!!!\n");
		}
		i++;
	}
	return score;
}


//减法
int sub()
{
	int x, y, result, score = 0;
	printf("小朋友,开始做题了!!!\n");
	srand((unsigned)time(NULL));
	int i = 0;
	while (i < num)
	{
		x = rand() % 100;
		y = rand() % 100;
		printf("%d-%d=", x, y);
		scanf("%d", &result);
		if (result == x - y)
		{
			printf("做对啦!!\n");
			score += 10;
		}
		else
		{
			printf("做错了,继续加油!!!\n");
		}
		i++;
	}
	return score;
}

//乘法
int mul()
{
	int x, y, result, score = 0;
	printf("小朋友,开始做题了!!!\n");
	srand((unsigned)time(NULL));
	int i = 0;
	while (i < num)
	{
		x = rand() % 100;
		y = rand() % 100;
		printf("%d*%d=", x, y);
		scanf("%d", &result);
		if (result == x * y)
		{
			printf("做对啦!!\n");
			score += 10;
		}
		else
		{
			printf("做错了,继续加油!!!\n");
		}
		i++;
	}
	return score;
}

//除法
int div()
{
	int x, y, result, score = 0;
	printf("小朋友,开始做题了!!!\n");
	srand((unsigned)time(NULL));
	int i = 0;
	while (i < num)
	{
		x = rand() % 100;
		y = rand() % 100;
		if (y == 0)
		{
			continue;
		}
		printf("%d/%d=", x, y);
		scanf("%d", &result);
		if (result == x / y)
		{
			printf("做对啦!!\n");
			score += 10;
		}
		else
		{
			printf("做错了,继续加油!!!\n");
		}
		i++;
	}
	return score;
}

//打印分数
void prnscore(int score)
{
	printf("这次练习你一共得分;%d\n", score);
	if (score >= 80)
		printf("干得漂亮!!!\n");
	else
		printf("同志,继续加油!!!\n");
}


int main()
{
	int choice = 0;
	int score = 0;
	while (1)
	{
		showmain();
		score = 0;
		choice = getchoice();
		switch (choice)
		{
		case 1:score = add(); break;
		case 2:score = sub(); break;
		case 3:score = mul(); break;
		case 4:score = div(); break;

		}
		if (choice == 0)
		{
			break;
		}
		prnscore(score);
	 }
	exit();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/668018.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】10.list

list这个迭代器是双向迭代器&#xff0c;与vector的迭代器具有很大的区别&#xff0c;主要在于双向迭代器不支持&#xff0b;- 操作 正由于list的双向迭代器&#xff0c;因此<algorithm>中的sort()函数无法使用&#xff0c;list单独实现了一个sort()函数&#xff0c;但效…

大豆、棉花深度学习数据集大合集

最近收集了一大波关于大豆和棉花的深度学习数据集&#xff0c;主要有叶片的识别、分类、计数以及病害检测等。 数据集的价值 科研价值&#xff1a;这些数据集为植物学、农业信息技术、机器学习等领域的科研人员提供了宝贵的资源。它们可以用于训练和优化各种深度学习模型&…

【因果推断python】7_线性回归模型1

目录 你需要的只是回归 你需要的只是回归 在处理因果推断时&#xff0c;我们看到每个人有两个潜在的结果&#xff1a; 是个体如果不接受干预的结果和 是他或她接受干预的结果。将干预变量 T 设置为 0 或 1 的行为会实现其中一个潜在结果&#xff0c;并使我们不可能知道另一个结…

3G/4G无线视频监控系统在吊车操作中的应用

引言 随着科技的快速发展&#xff0c;无线视频监控技术在多个领域得到了广泛应用。在吊车操作中&#xff0c;3G/4G无线视频监控系统以其高效、实时的特性&#xff0c;为操作人员提供了更全面的视觉信息&#xff0c;从而大大提高了操作的安全性。本文将详细介绍3G/4G无线视频监…

Python代码:二十八、密码游戏

1、题目 牛牛和牛妹一起玩密码游戏&#xff0c;牛牛作为发送方会发送一个4位数的整数给牛妹&#xff0c;牛妹接收后将对密码进行破解。 破解方案如下&#xff1a;每位数字都要加上3再除以9的余数代替该位数字&#xff0c;然后将第1位和第3位数字交换&#xff0c;第2位和第4位…

docker 启动关闭,设置仓库地址

1. 配置/etc/docker/daemon.json cat /etc/docker/daemon.json# 内容 {"registry-mirrors": ["https://0nth4654.mirror.aliyuncs.com"],"insecure-registries": ["harbor.domain.io"] }2. 配置systemd启动文件 和方法1配置会有冲突&a…

wampserver安装与汉化

wampserver安装与汉化 文章目录 wampserver安装与汉化一、安装二、汉化1.升级软件并安装补丁 介绍&#xff1a; WampServer是一款由法国人开发的Apache Web服务器、PHP解释器以及MySQL数据库的整合软件包。免去了开发人员将时间花费在繁琐的配置环境过程&#xff0c;从而腾出更…

Thread的stop和interrupt的区别

Thread.stop Thread.stop()方法已被废弃。 因为本质上它是不安全的&#xff0c;使用该方法可能会导致数据、资源不一致的问题&#xff0c; public class ThreadDemo {static class MyThread extends Thread {Overridepublic void run() {while (true) {try {Thread.sleep(10…

科研数据分析常见问题

许多使用SPSSAU进行初次科研数据分析的同学&#xff0c;可能对数据分析方法的深层原理和研究思路缺乏全面的把握。因此&#xff0c;当导师针对数据研究方法提出具体问题时&#xff0c;他们可能会感到些许困惑或难以立即给出满意的答复。鉴于此&#xff0c;SPSSAU汇总了一些常见…

语音助手拦截,拦截小秘书

呼叫中心业务场景下会遇到很多的语音助手和语音小秘书&#xff0c;还有一些漏话提醒、语音信箱等&#xff1b;大部分原因是由于主叫号码标记问题导致的局端和终端拦截策略&#xff0c;电话没有真实有效的触达并产生了通信费&#xff0c;这让很多业务场景下通信成本上涨据不完全…

【Springboot】——项目的创建与请求参数应用

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

<PLC><Python>基于pyqt5使用python与汇川PLC进行485串口通讯(自由协议)

前言 本系列是关于PLC相关的博文,包括PLC编程、PLC与上位机通讯、PLC与下位驱动、仪器仪表等通讯、PLC指令解析等相关内容。 PLC品牌包括但不限于西门子、三菱等国外品牌,汇川、信捷等国内品牌。 除了PLC为主要内容外,PLC相关元器件如触摸屏(HMI)、交换机等工控产品,如…

Python知识点12---Python的I/O操作

提前说一点&#xff1a;如果你是专注于Python开发&#xff0c;那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了&#xff0c;而如果你和作者一样只是操作其他技术的Python API那就足够了。 Python的流(I/O)操作&#xff0c;最简单的其实就是输入和输出&#x…

flask-slqalchemy使用详解

目录 1、flask-sqlalchemy 1.1、flask_sqlalchemy 与sqlalchemy 的关系 1.1.1、 基本定义与用途 1.2、flask_sqlalchemy 的使用 1.2.1、安装相关的库 1.2.2、项目准备 1.2.3、创建ORM模型 1.2.3.1、使用db.create_all()创建表的示例 1.2.3.2、创建多表关联ORM模型 1.…

每日刷题——相遇、宝石(模拟+数学)、相助(模拟+数组)、相依(dp的优化)

相遇 原题链接登录—专业IT笔试面试备考平台_牛客网 题目描述 运行代码 #include<iostream> using namespace std; int main(){ int a,b; cin>>a>>b; if(ab) { cout<<"p"; } else if(a - b 1 || (a 1 && b 3)){cout <<…

【图像增强处理工具】软件使用说明书

软件使用说明书 软件名称 图像增强处理工具 软件简介 该软件是一个基于 PySide6 和 OpenCV 的图像处理工具,用户可以通过 GUI 界面来执行图像的旋转、平移和镜像操作,并将处理后的图像保存到指定路径。 运行软件须知 确保 ui_form.py 文件在同一目录下,该文件包含了通…

鸿蒙实现汉字转拼音

1.使用三方库 pinyin-pro 地址&#xff1a;OpenHarmony三方库中心仓 亲测可用&#xff0c;一共三个关于 转pinyin的库&#xff0c;一个无法使用&#xff0c;另一个时间太久。 ohpm i pinyin-proimport { pinyin } from pinyin-pro;// 获取带音调拼音 pinyin(汉语拼音); // …

11Linux学习笔记

Linux 实操篇 目录 文章目录 Linux 实操篇1.rtm包&#xff08;软件&#xff09;1.1 基本命令1.2 基本格式1.3安装rtm包1.4卸载rtm包 2.apt包2.1 基本命令结构2.2 常用选项2.3常用命令 1.rtm包&#xff08;软件&#xff09; 1.1 基本命令 1.2 基本格式 1.3安装rtm包 1.4卸载r…

webman-admin多图上传预览和删除

前言 在webmen文档和论坛中都没找到多图上传的示例&#xff0c;自己找了一个&#xff0c;整合了一下凑合用 insert页面 引入css <link rel"stylesheet" href"/app/admin/admin/css/muti-upload.css" />muti-upload.css内容如下 .uploader-list .ha…

H6922 2.8C-40V (最低启动电压2.5V)升压BOOST恒压芯片 5V12V24V升压IC

H6922升压BOOST恒压芯片是一款2.8C-40V &#xff08;最低启动电压2.5V&#xff09;升压BOOST恒压芯片 5V12V24V升压IC 首先&#xff0c;H6922的宽输入电压范围&#xff08;2.8-40V&#xff09;和低启动电压&#xff08;最低2.5V&#xff09;使其能够适应不同复杂的电源环境。无…