zoukankan      html  css  js  c++  java
  • 大一C语言第一次实验:小学生教学系统

    高级语言程序设计报告

     

    打印版报告截止上交日期:201411 15

    电子版报告发至2629610662@qq.com, 邮件标题写明报告次数序号姓名

    序号

    34

    姓名

    许恺

    照片

     

    成绩

     

    E-MAIL及电话

    18810556775

    实习题目

    第一次作业: 函数

    1. 七章实验题之素数探求2-6
    2. 七章实验题之小学生计算机辅助教学系统(用模块化程序设计方法完成六章之任务6即可)
    3. 此2题单独编程,即不在ACM系统中完成。
    4. 要求综合运用本章所学内容(注释、起名规则、缩进等)。

     

     

    1. 你的代码、注释及运行结果贴图。
    2. 设计及调试过程遇到的问题及解决方案。
    3. 心得体会和自我对程序的评价。

    任务六

    一、 代码及注释

    //编辑人:许恺

    //编辑题目:小学生教学系统

    //时间: 12月2日

     

    #include <stdlib.h>

    #include <stdio.h>

    #include <time.h>

    int Add(int a);

    int jianfa(int a);

    int chengfa(int a);

    int chufa(int a);

    double pingjia(int d);

    double pingjia1(int d);

    int main()

    {

      int e,a,b,c,d,f,g=0;

      do

      {

        for(e=1;e<=10;e++)             //出十道题

        {

          srand(time(NULL));

          b=rand()%4+1;             //随机加减乘除

          switch(b)

          {

            case 1:f=Add(a);

                     break;

            case 2:f=jianfa(a);

               break;

            case 3:f=chengfa(a);

               break;

            case 4:f=chufa(a);

               break;

            }

          if(f==1)   g=g+10;          //算总分和正确率

        }

        printf("%d %d%% ",g,g);

          }while(g<=75);

      return 0;

      }

    int Add(int a)     //加法运算块

    {

      int b,c,d;

      srand(time(NULL));

      b=rand()%10+1;

      c=rand()%10+1;

      d=b+c;

      printf("%d+%d=? ",b,c);

      scanf("%d",&a);

         if(a==d)                       //判断正误并返回数值

        {

        pingjia(d);         

          return 1;                    

      }

      else

      {

        pingjia1(d);

        return 0;}

      }

    int jianfa(int a)               //减法运算块

    {

    int b,c,d;

    do                           //防负数抽取

    {

        srand(time(NULL));

    b=rand()%10+1;

    c=rand()%10+1;

    }while(b<c);                   

    d=b-c;     

    printf("%d-%d=? ",b,c);

    scanf("%d",&a);

    if(a==d)                              //判断正误并返回数值

    {pingjia(d);

        return(1);}

    else

    {

    pingjia1(d);

    return 0;}

    }

    int chengfa(int a)

    {

    int b,c,d,e;

    srand(time(NULL));

    b=rand()%10+1;

    c=rand()%10+1;

    d=b*c;

    printf("%d*%d=? ",b,c);

    scanf("%d",&a);

        if(a==d)                              //判断正误并返回数值

        {pingjia(d);

        return 1;

    }

    else

    {

    pingjia1(d);

    return 0;}

    }

    int chufa(int a)

    {

    int b,c,d,e;

    do                                //防除不尽抽取

    {

    srand(time(NULL));

    b=rand()%10+1;

    c=rand()%10+1;

        }while(b<c||b%c!=0);

    d=b/c;

    printf("%d/%d=? ",b,c);

    scanf("%d",&a);

        if(a==d)                             //判断正误并返回数值

        {pingjia(d);

        return 1;

    }

    else

    {

    pingjia1(d);

    return 0;}

    }

    double pingjia(int d)                 //赞扬的评价系统

    {

    srand(time(NULL));

    d=rand()%4+1;

    switch(d)

    {

    case 1:printf("Very good! ");

           break;

    case 2:printf("Excellent! ");

       break;

    case 3:printf("Nice work! ");

       break;

    case 4:printf("Keep up the good work! ");

       break;

        }

    }

    double pingjia1(int d)                //做错了的评价系统

    {

    srand(time(NULL));

    d=rand()%4+1;

    switch(d)

    {

    case 1:printf("No.Please try again. ");

           break;

    case 2:printf("Wrong.Try once more. ");

       break;

    case 3:printf("Don't give up! ");

       break;

    case 4:printf("Not correct.Keep trying. ");

       break;

        }

    }

    二、 运行结果贴图

     

     

    三、 设计及调试过程中遇到的问题及解决方案

        遇到了有关switch语句和随机数不会使用的情况,主要是书看的少,经过看书之后已解决。另外,还犯了for语句没有赋初值的错误,被波波老师纠正,也已改正。一开始在主函数中连续使用if使程序不美观,看书后改用switch.还有函数命名方面实在恶心,由于本人英语水平有限,目前还未解决。

    四、 心得体会和自我对程序的评价

            做事不要拖延,看起来很难,当走出第一步,就可以用复制粘贴去跑了,程序基本完整美观最大缺憾就是交的时间太晚,其实说的是系统,也就那么回事,以后几百行的程序也不在话下,用心去编,都没问题。但是对c的一些语句和技巧不太了解,需要更加努力,总的来说还行,已达到内心的标准。加油!!

  • 相关阅读:
    Educational Codeforces Round 11——A. Co-prime Array(map+vector)
    ACM程序设计选修课——Problem D: (ds:树)合并果子(最优二叉树赫夫曼算法)
    ACM程序设计选修课——1076汇编语言(重定向+模拟)
    NOJ——1672剪绳子(博弈)
    廖雪峰Java8JUnit单元测试-1JUnit简介-1JUnit测试
    廖雪峰Java7处理日期和时间-4最佳实践-最佳实践
    廖雪峰Java7处理日期和时间-3java.time的API-2ZonedDateTime
    廖雪峰Java7处理日期和时间-3java.time的API-1LocalDateTime
    廖雪峰Java7处理日期和时间-2Data和Calendar-2Calendar
    廖雪峰Java7处理日期和时间-2Data和Calendar-1Date
  • 原文地址:https://www.cnblogs.com/xukaiae86/p/6344538.html
Copyright © 2011-2022 走看看