前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文件四则运算

文件四则运算

作者头像
大忽悠爱学习
发布2021-03-02 15:07:55
4060
发布2021-03-02 15:07:55
举报
文章被收录于专栏:c++与qt学习

四则运算:随机出十道加减乘除的题目放入文件中,并再另一个文件中解答出来

代码语言:javascript
复制
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
//四则运算:随机出十道加减乘除的题目放入文件中,并再另一个文件中解答出来
//出题
void giveQuestion()
{
	FILE* fp = fopen("test.txt", "w");
	if (fp == NULL)
	{
		printf("文件打开失败");
		return;
	}
	//
	int num1;
	int num2;
	char ch;
	//四则运算符号数组
	char symbol[] = "+-*/";
	//随机数种子

	/*随机数种子写法:
	srand((unsigned int)time(NULL));
	srand((size_t)time(NULL));*/

	srand((size_t)time(NULL));
	for (int i = 0; i < 10; i++)
	{
		//取模 100取模得的余数范围---0~99
		num1 = rand() % 100 + 1 ;//范围是0+1~99+1
		num2 = rand() % 100 + 1; //范围是0+1~99+1
		ch = symbol[rand() % 4]; //范围是0~3

		//拼接字符串放入一个新的字符串中
		char buf[64] = { 0 };
		sprintf(buf, "%d %c %d=\n", num1, ch, num2);
		//将拼接后的字符串buf放入test.txt中
		fputs(buf, fp);
	}
	//关闭文件
	fclose(fp);
	printf("十道题目生成成功!\n");
}

//解题
void answerQuestion()
{
	//先将数据从文件中读取出来
	FILE* fp = fopen("test.txt", "r");
	if (fp == NULL)
	{
		printf("文件打开失败");
	}
	//放入新文件中
	FILE* fp1 = fopen("test1.txt", "w");
	if (fp1 == NULL)
	{
		printf("文件打开失败");
	}
	//
	int num1;
	int num2;
	char ch;
	int ret=0;
	//将读取的数据放入一个字符串中
	while (!feof(fp))
	{
		char buf[32] = { 0 };
		char* result=fgets(buf, sizeof(buf), fp);
		if (result == NULL)
		{
			break;
		}
		//将每次循环读取到字符串的题目解出来
		//字符串分割函数
		sscanf(buf, "%d %c %d", &num1, &ch, &num2);
		if (ch == '+')
			ret = num1 + num2;
		if (ch == '-')
			//int abs 返回一个整数的绝对值
			ret = num1 - num2;
		if (ch == '*')
			ret = num1 * num2;
		if (ch == '/')
			ret = num1 / num2;
		//将得出结果的算数式放入文件中
		//1.先拼接
		char buf1[32] = { 0 };
		sprintf(buf1, "%d %c %d=%d\n", num1, ch, num2, ret);
		fputs(buf1, fp1);
	}
	fclose(fp1);
	fclose(fp);
	printf("十道题全部解出成功!\n");
}
int main()
{
	giveQuestion();
	answerQuestion();
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档