大一C语言第一次实验:小学生教学系统

高级语言程序设计报告

 

打印版报告截止上交日期:2014年11 月 15 日

电子版报告发至[email protected]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%%\n",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=?\n",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=?\n",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=?\n",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=?\n",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!\n");

       break;

case 2:printf("Excellent!\n");

   break;

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

   break;

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

   break;

    }

}

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

{

srand(time(NULL));

d=rand()%4+1;

switch(d)

{

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

       break;

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

   break;

case 3:printf("Don‘t give up!\n");

   break;

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

   break;

    }

}

二、 运行结果贴图

 

 

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

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

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

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

时间: 2024-08-06 03:23:35

大一C语言第一次实验:小学生教学系统的相关文章

第一次实验报告

实     验    报     告 课程:信息安全系统设计基础  班级:1353 姓名:黎静  学号:20135338 成绩:             指导教师:娄嘉鹏    实验日期:2015.9.20 实验密级:         预习程度:         实验时间:10:00--22:00 仪器组次:29         必修/选修: 选修            实验序号:1~12 第一次实验部分截图 一.Linux 简介 实验介绍 本节主要介绍 Linux 的历史,Linux 与 Wi

实验 1 Linux 系统的安装和常用命令

厦门大学林子雨,赖永炫,陶继平 编著 <Spark 编程基础(Scala 版)> 教材配套 机房上机实验指南 (版本号:2018 年 7 月 19 日版本) (题目) 主讲教师:林子雨 厦门大学数据库实验室 二零一八年七月目录 目录 一.实验目的..............................................................................................................................

语言模拟ATM自动取款机系统

C语言实验报告       题目名称:C语言模拟ATM自动取款机系统 C语言模拟实现ATM自动取款机功能:输入密码,余额查询,取款,存款,转账,修改密码,退出功能: 代码实现的功能: 账号及密码输入:用户输入密码,才能进入. 登陆成功界面:共有六个选项,查询余额.取款.存款.转账,修改密码,退出分别对应1,2,3,4,5,6选项,若序号输入不正确会予以提示. 选定1后,进入查询余额界面: 选定2后,进入取款界面: 选定3后,进入存款界面: 选定4后,修改密码,选定5,进入转账:选定6,退出界面:

Java第一次实验要求

Java语言程序设计第一次实验要求 实验一 简单Java程序设计 一.实验目的 1. 熟悉Java开发及运行环境: 2. 掌握Java程序开发的基本步骤: 3. 了解Java程序开发中的常见错误及其解决办法. 二.实验要求 1. 使用记事本编写所给的Java程序: 2. 使用JDK中提供的javac编译程序: 3. 根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果: 4. 采用Java语言编写一个简单的应用程序. 三.实验步骤 1. Java开发环境的配置 (1)在命令行下运行ja

《信息安全系统设计基础》第一次实验报告--Linux 基础入门

<信息安全系统设计基础>第一次实验报告--Linux 基础入门 北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础 班级:1352  姓名:孙小博  学号:20135217 成绩:            指导教师:娄嘉鹏      实验日期:2015.9.20 实验密级: 无     预习程度:           实验时间:12小时 仪器组次:17     必修/选修:必修   实验序号:01 实验目的与要求: 1. 学会安装使用Linux操作系统

大一C语言结课设计之《简单计算器》

/*===============================================*** 设计目的:简单计算器,计算形如10*(20.2-30.6)+5.0/2的表达式值 ** 简要原理:中缀式转逆波兰式(后缀式) ** IDE:Dev-Cpp 4.9.9.2 ** 注意事项:括号必须是英文状态的 ** 时间: 2014-6-17 \*===============================================*/ #include <stdio.h> #in

【图像处理】第一次实验

1.任务说明 打开一幅图像,进行直方图均衡.将灰度线性变化,将灰度拉伸. 2.算法原理 1)        图像灰度化 在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫做灰度值,灰度范围为0-255.一般有四种方法对彩色进行灰度化,分别为: 分量法,最大值法,平均值法和加权平均法.本实验中采用平均值法,即 2)        直方图均衡 直方图表示数字图像中每一个灰度级与其出现频率间的统计关系.设有某一个灰度等级,属于该灰度等级的像素个数为nk,图像总像素个数为n,

黑马程序员——c语言学习心得—— 电影购票系统

黑马程序员——c语言学习心得——  电影购票系统 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,基础信息类 #import <Foundation/Foundation.h> #import "Cinema.h" void buyMovieTicket(){ //购买电影票 //调用 电影院的类的 buyTicket的方法 //                  [[Cinema alloc] init]; C

在线教学系统:C#实现网络电子白板、课件功能

电子白板和课件功能是在线教学系统中的必备功能,本文就介绍如何基于OMCS快速实现电子白板的基础功能,以及课件功能:上传课件.打开课件.课件翻页.课件同步.删除课件等高级功能. 本文的应用场景是这样的: 一个老师和N个学生进入同一个教室,所以,它们将看到同一个电子白板.而老师角色与学生角色的区别在于老师有特殊的白板权限,这些权限包括:上传课件.打开课件.删除课件,在白板上绘图.标注.翻页等等. 一.服务端 服务端直接将 OMCS.Boost 提供的OMCS.Server项目源码搬过来,不用作任何修