大一c语言作业素数探求实验题,大一C语言第一次实验:小学生教学系统(示例代码)...

这篇博客介绍了一个用C语言实现的小学生教学系统,该系统通过加减乘除四种运算生成随机数学题,并根据用户答案给出评价。作者在设计和调试过程中解决了switch语句和随机数生成的问题,并意识到命名规范的重要性。尽管提交时间较晚,但作者认为通过这个项目,自己的编程能力得到了提升,对未来编写更复杂的程序充满信心。

高级语言程序设计报告

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

序号

34

姓名

许恺

照片

成绩

E-MAIL及电话

18810556775

实习题目

第一次作业: 函数

七章实验题之素数探求2-6

七章实验题之小学生计算机辅助教学系统(用模块化程序设计方法完成六章之任务6即可)

此2题单独编程,即不在ACM系统中完成。

要求综合运用本章所学内容(注释、起名规则、缩进等)。

你的代码、注释及运行结果贴图。

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

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

任务六

一、 代码及注释

//编辑人:许恺

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

//时间: 12月2日

#include

#include

#include

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

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

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;

}

}

二、 运行结果贴图

20180110222901243840.png

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

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

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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值