怎么用c语言做显现从键盘输入运算符及操作数实现四则运算,C语言实现四则运算的生成器...

本文介绍了如何通过C语言实现一个四则运算练习程序,包括菜单设计(提供加法、减法、乘法、除法及随机运算选项),功能实现(根据用户选择调用相应函数),以及欢迎和结束菜单。程序还包括了用户输入处理和正确答案验证。
摘要由CSDN通过智能技术生成

1 #include "SimpleArithmetic.h"

2 //菜单实现

3 intMenu()4 {5 inta;6 printf("\n\n\n--------------------------------------------------------------------------------\n");7 printf("\t\t\t--------------------------------\n");8 printf("\t\t\t\t欢迎来到运算练习\n");9 printf("\t\t\t 1.加法运算\n");10 printf("\t\t\t 2.减法运算\n");11 printf("\t\t\t 3.乘法运算\n");12 printf("\t\t\t 4.除法运算\n");13 printf("\t\t\t 5.四则运算\n");14 printf("\t\t\t 0.退出\n");15 printf("\t\t\t--------------------------------\n");16 printf("\t\t\t请输入你的选项:");17 scanf_s("%d", &a);18 system("cls");19 returna;20 }21 //功能实现

22 void FunctionRealize(intnum)23 {24 switch(num)25 {26 case 1:27 ADD();28 break;29 case 2:30 break;31 case 3:32 break;33 case 4:34 break;35 case 5:36 RandomArithmetic();37 break;38 case 0:39 exit(0);40 break;41 }42 system("cls");43 }44 //欢饮菜单

45 voidWelcomeMenu()46 {47 printf("\n\n\n————————————————————————————————————————\n");48 printf("\tWelcome to use four arithmetic questions to generate program\n");49 printf("\t\t\t欢迎使用四则运算题目生成程序\n");50 printf("\n\n\n This program made by ZLTiger\n");51 printf("————————————————————————————————————————\n");52 printf("please input any key to continue....\n");53 _getch();54 system("cls");55 }56 //结束菜单

57 voidOverMenu()58 {59 printf("\n\n\n★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");60 printf("\n\t\t感谢使用本程序,希望你的数学有个好的提升!\n");61 printf("\n\t\t\t如果你对本程序有什么建议,感谢你的提出!\n");62 printf("\n\n Author:ZLTiger\n");63 printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");64 printf("please input any key to continue...");65 _getch();66 }67

68

69 //选择四则运算

70 voidChoseArithmetic()71 {}72 //随机四则运算switch

73 voidRandomArithmetic()74 {75 srand((int)time(0));76 int a = 0, b = 0, Operator;77 charch;78 a =random(range0);79 b =random(range0);80 Operator =random(range1);81 switch(Operator)82 {83 case 0:84 ch = ‘+‘;85 ModelOperation(a, b, ch);86 break;87 case 1:88 ch = ‘-‘;89 ModelOperation(a, b, ch);90 break;91 case 2:92 ch = ‘*‘;93 ModelOperation(a, b, ch);94 break;95 case 3:96 ch = ‘/‘;97 ModelOperation(a, b, ch);98 break;99 }100 }101 void Addition(int a, int b) //+

102 {103 printf("%d+%d=\n", a, b);104 }105 void Subtraction(int a, int b) //-

106 {107 printf("%d-%d=\n", a, b);108 }109 void Multiplication(int a, int b) //*

110 {111 printf("%d*%d=\n", a, b);112 }113 void Division(int a, int b) ///

114 {115 printf("%d/%d=\n", a, b);116 }117 //模板运算

118 void ModelOperation(int a, int b, charch)119 {120 float c, answer = 0;121 charyn;122 switch(ch)123 {124 case ‘+‘:125 c = a +b;126 break;127 case ‘-‘:128 c = a -b;129 break;130 case ‘*‘:131 c = a *b;132 break;133 case ‘/‘:134 c = a /b;135 break;136 }137 printf("\n\n\n————————————————————————————————————————\n");138 printf("%d%c%d=", a, ch, b);139 scanf_s("%f", &answer);140 if (answer ==c)141 {142 printf("OK!That is right\n");143 }144 else

145 {146 printf("Wrong!You shoule good learn\n");147 }148 }149 voidADD()150 {151 HANDLE hout;152 COORD coord;//屏幕上的坐标

153 int realize[100], user[100];154 int a, b, count = 1, u_ss = 0, u_count = 1;155 charch;156 char ss[5];157 srand((int)time(0));158 hout = GetStdHandle(STD_OUTPUT_HANDLE);//从键盘获取输入,如果是方向键则执行方向功能,如果是回车键则换行,如果是字符则输出

159 printf("答完题后按q键退出!\n");160 printf("--------------------------------------------------------------------------------");161 for (int i = 0; i < 50; i++)162 {163 a =random(range0);164 b =random(range0);165 realize[count] = a +b;166 count++;167 printf("%2d%c%2d=", a, ‘+‘, b);168 }169 coord.X = 6;170 coord.Y = 2;171 SetConsoleCursorPosition(hout, coord);172 while (1)173 {174 ch =_getch();175 if (ch == ‘q‘)176 {177 break;178 }179 printf("%c", ch);180 if (ch == 0x0d)181 {182 a =atoi(ss);183 ss[2] = { ‘ ‘};184 u_ss = 0;185 user[u_count] =a;186 u_count++;187 coord.X += 20;188 SetConsoleCursorPosition(hout, coord);189 if (coord.X > 80)190 {191 coord.Y += 1;192 coord.X = 6;193 SetConsoleCursorPosition(hout, coord);194 }195 }196 else if (ch >= ‘0‘ || ch <= ‘9‘)197 {198 ss[u_ss] =ch;199 u_ss++;200 }201 }202 printf("\n正确答案:\n");203 for (int i = 0; i < 50; i++)204 {205 printf("%4d", realize[i + 1]);206 }207 printf("\n你的答案:\n");208 for (int i = 0; i < 50; i++)209 {210 printf("%4d", user[i + 1]);211 }212 _getche();213 printf("\nPlease input any key to continue...");214 system("cls");215 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值