搜索
查看: 2653|回复: 7
打印 上一主题 下一主题

大一 c设计 求解

[复制链接]
跳转到指定楼层
楼主
发表于 2013-6-24 15:19:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
6.小学数学辅助教学系统
设计内容:利用该系统可以锻炼小学生的数学运算能力。它包括+、-、×、÷等四则运算。
设计要求:
1)系统设置可以选择运算数值的位数(1位,2位、3位)。(一位数时只做+、-、×运算,两位数时做+、-、×、÷运算,三位数时做+、-、×、÷和%(求余)运算,参与运算的数据均为整数)。
2)选择后系统自动随机地出10道题。
3) 每出一题,小学生输入答案后,第一次答对,系统给出信息“完全正确,你非常聪明!加10分”,总分+10分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第2次答对了,系统给出信息“答对了,你很棒!加8分”,总分+8分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第3次答对了,系统给出信息“答对了,祝贺你!加6分”,总分+6分,显示下一题;若答错了,系统给出信息“非常遗憾你又答错了,请继续做下一题。本题的正确答案为……”,继续显示下一题。

沙发
发表于 2013-6-24 21:28:34 | 只看该作者
参与运算的数据均为整数

也就是说所有除法都能除尽咯?
板凳
发表于 2013-6-25 08:18:38 | 只看该作者
这题不就是考随机数和if,for么,充其量再加上传参。就是语句多点。
地板
发表于 2013-6-27 10:42:31 | 只看该作者
大一?求解?做伸手党对学习没一点好处。
我给个初步算法,抛砖引玉:
1、显示运算位数选择界面,并根据返回值制作题库或退出;
2、逐题显示、读入答案、输出信息、累加成绩;
3、输出成绩,返回1。
重难点应该是题库的制作。可采用10*4的数组来存储,第一列为运算数一,第二列为运算符,第三列为运算数二,第四列是结果。
5#
发表于 2013-7-1 04:18:53 | 只看该作者
  1. //大一设计 求解
  2. //本程序由忘记完成 论坛账号gaoyukonga
  3. //@忘记 希望能帮助到您!
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <windows.h>
  7. int main()
  8. {
  9. //首先载入运算类型
  10.         int a,i=0,i2=0,d=1;//a为类型 i为分数 i2为错题数、d为题目番号
  11.         printf("请输入运算数值位数!\n输入'1'为1位,运算包括('+'、'-'、'*')\n输入'2'为2位,运算包括('+'、'-'、'*'、'/')\n输入'3'为3位,运算包括('+'、'-'、'*'、'/'、'%')\n");
  12.     scanf("%d",&a);
  13.     if(a!=1 && a!=2 && a!=3){
  14.     printf("请输入1-3!\n");
  15.     }else if(a==1){
  16.     //1位运算处理
  17.     while(1){
  18.     int a1 = (rand()%9+1),b = (rand()%9+1),b1,b2,c = (rand()%3+1);    // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
  19.     char c1;//初始化计算符号
  20.     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("系统出错!");}//符号、结果处理完成
  21.     printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
  22.     scanf("%d",&b2);//读入答案
  23.    
  24.     if(b2==b1){
  25.                 if(i2!=0){
  26.                         if(i2>5){
  27.                         i=i+2;
  28.                         }else{
  29.                         i=i+(10-i2*2);
  30.                         printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
  31.             d+=1;
  32.                         }
  33.                 }else{
  34.         i=i+(10-i2*2);
  35.         printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
  36.         d+=1;
  37.         }
  38.                
  39.     }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案   
  40.     }
  41.    
  42.     }else if(a==2){
  43.     //2位运算处理
  44.     while(1){
  45.     int a1 = (rand()%90+10),b = (rand()%90+10),b1,b2,c = (rand()%4+1);    // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
  46.     char c1;//初始化计算符号
  47.     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("系统出错!");}//符号、结果处理完成
  48.     printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
  49.     scanf("%d",&b2);//读入答案
  50.    
  51.     if(b2==b1){
  52.                 if(i2!=0){
  53.                         if(i2>5){
  54.                         i=i+2;
  55.                         }else{
  56.                         i=i+(10-i2*2);
  57.                         printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
  58.             d+=1;
  59.                         }
  60.                 }else{
  61.         i=i+(10-i2*2);
  62.         printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
  63.         d+=1;
  64.         }
  65.                
  66.     }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案   
  67.     }
  68.    
  69.     }else if(a==3){
  70.     //3位运算处理
  71.     while(1){
  72.     int a1 = (rand()%900+100),b = (rand()%900+100),b1,b2,c = (rand()%5+1);    // 初始化计算值 - a1为计算值1、b为计算值2、b1为结果、b2为输入结果、c为符号
  73.     char c1;//初始化计算符号
  74.     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("系统出错!");}//符号、结果处理完成
  75.     printf("题目%d:\n%d %c %d=?\n",d,a1,c1,b);//输出字符串 显示题目
  76.     scanf("%d",&b2);//读入答案
  77.    
  78.     if(b2==b1){
  79.                 if(i2!=0){
  80.                         if(i2>5){
  81.                         i=i+2;
  82.                         }else{
  83.                         i=i+(10-i2*2);
  84.                         printf("你答对了,继续努力!\n当前分数%d\n-----------------题目分割线------------------\n",i);
  85.             d+=1;
  86.                         }
  87.                 }else{
  88.         i=i+(10-i2*2);
  89.         printf("全正确,你非常聪明!加10分\n当前分数%d\n-----------------题目分割线------------------\n",i);
  90.         d+=1;
  91.         }
  92.                
  93.     }else{i2+=1;printf("你答错了继续努力\n-----------------题目分割线------------------\n");d+=1;}//处理答案   
  94.     }
  95.    
  96.     }
  97.         system("pause");
  98.         return 0;
  99. }
复制代码

点评

很给力,小白我收藏先,再慢慢研究下。  发表于 2013-7-24 02:09
6#
发表于 2013-7-1 19:53:20 | 只看该作者
给分啊 兄弟!
7#
发表于 2013-7-24 02:10:14 | 只看该作者
gaoyukonga 发表于 2013-7-1 19:53
给分啊 兄弟!

楼主要厚道啊,给分吧!
8#
发表于 2013-7-24 09:54:22 | 只看该作者
不错不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表