啊哈磊_编程从这里起步
标题: 大一 c设计 求解 [打印本页]
作者: xiaobailaile 时间: 2013-6-24 15:19
标题: 大一 c设计 求解
6.小学数学辅助教学系统
设计内容:利用该系统可以锻炼小学生的数学运算能力。它包括+、-、×、÷等四则运算。
设计要求:
1)系统设置可以选择运算数值的位数(1位,2位、3位)。(一位数时只做+、-、×运算,两位数时做+、-、×、÷运算,三位数时做+、-、×、÷和%(求余)运算,参与运算的数据均为整数)。
2)选择后系统自动随机地出10道题。
3) 每出一题,小学生输入答案后,第一次答对,系统给出信息“完全正确,你非常聪明!加10分”,总分+10分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第2次答对了,系统给出信息“答对了,你很棒!加8分”,总分+8分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第3次答对了,系统给出信息“答对了,祝贺你!加6分”,总分+6分,显示下一题;若答错了,系统给出信息“非常遗憾你又答错了,请继续做下一题。本题的正确答案为……”,继续显示下一题。
作者: rosynirvana 时间: 2013-6-24 21:28
也就是说所有除法都能除尽咯?
作者: Teddy 时间: 2013-6-25 08:18
这题不就是考随机数和if,for么,充其量再加上传参。就是语句多点。
作者: Smallbee 时间: 2013-6-27 10:42
大一?求解?做伸手党对学习没一点好处。
我给个初步算法,抛砖引玉:
1、显示运算位数选择界面,并根据返回值制作题库或退出;
2、逐题显示、读入答案、输出信息、累加成绩;
3、输出成绩,返回1。
重难点应该是题库的制作。可采用10*4的数组来存储,第一列为运算数一,第二列为运算符,第三列为运算数二,第四列是结果。
作者: gaoyukonga 时间: 2013-7-1 04:18
- //大一设计 求解
- //本程序由忘记完成 论坛账号gaoyukonga
- //@忘记 希望能帮助到您!
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- int main()
- {
- //首先载入运算类型
- int a,i=0,i2=0,d=1;//a为类型 i为分数 i2为错题数、d为题目番号
- printf("请输入运算数值位数!\n输入'1'为1位,运算包括('+'、'-'、'*')\n输入'2'为2位,运算包括('+'、'-'、'*'、'/')\n输入'3'为3位,运算包括('+'、'-'、'*'、'/'、'%')\n");
- scanf("%d",&a);
- if(a!=1 && a!=2 && a!=3){
- printf("请输入1-3!\n");
- }else if(a==1){
- //1位运算处理
- while(1){
- int a1 = (rand()%9+1),b = (rand()%9+1),b1,b2,c = (rand()%3+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
- char c1;//初始化计算符号
- if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else{printf("系统出错!");}//符号、结果处理完成
- printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
- scanf("%d",&b2);//读入答案
-
- if(b2==b1){
- if(i2!=0){
- if(i2>5){
- i=i+2;
- }else{
- i=i+(10-i2*2);
- printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
- }else{
- i=i+(10-i2*2);
- printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
-
- }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
- }
-
- }else if(a==2){
- //2位运算处理
- while(1){
- int a1 = (rand()%90+10),b = (rand()%90+10),b1,b2,c = (rand()%4+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
- char c1;//初始化计算符号
- if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else if(c==4){c1='/';b1=a1/b;}else{printf("系统出错!");}//符号、结果处理完成
- printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
- scanf("%d",&b2);//读入答案
-
- if(b2==b1){
- if(i2!=0){
- if(i2>5){
- i=i+2;
- }else{
- i=i+(10-i2*2);
- printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
- }else{
- i=i+(10-i2*2);
- printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
-
- }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
- }
-
- }else if(a==3){
- //3位运算处理
- while(1){
- int a1 = (rand()%900+100),b = (rand()%900+100),b1,b2,c = (rand()%5+1); // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
- char c1;//初始化计算符号
- if(c==1){c1='+'; b1=a1+b;}else if(c==2){c1='-'; b1=a1-b;}else if(c==3){c1='*'; b1=a1*b;}else if(c==4){c1='/';b1=a1/b;}else if(c==5){c1='%';b1=a1%b;}else{printf("系统出错!");}//符号、结果处理完成
- printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
- scanf("%d",&b2);//读入答案
-
- if(b2==b1){
- if(i2!=0){
- if(i2>5){
- i=i+2;
- }else{
- i=i+(10-i2*2);
- printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
- }else{
- i=i+(10-i2*2);
- printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
- d+=1;
- }
-
- }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案
- }
-
- }
- system("pause");
- return 0;
- }
复制代码
作者: gaoyukonga 时间: 2013-7-1 19:53
给分啊 兄弟!
作者: 嗨,强哥! 时间: 2013-7-24 02:10
gaoyukonga 发表于 2013-7-1 19:53
给分啊 兄弟!
楼主要厚道啊,给分吧!
作者: 超神级 时间: 2013-7-24 09:54
不错不错
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) |
Powered by Discuz! X3.2 |