用C语言写一个小学生口算出题系统
一、设计的流程:
1.主界面设计,选择练习或测试,按ESC结束程序。2.题型选择界面设计,选择加、减、乘、除或混合运算,按ESC返回主界面。3.系统随机出题,运算数及结果均在100以内,乘、除法应能整除,显示算式。4.练习时,系统随机出题,键入结果,正确和错误均有提示,出错时允许再输入,最多三次机会,若还不正确,给出答案。继续出题按ESC,显示总题数,正确数和正确率。5.测试时,系统自动出10道题,每题只给一次机会,每题10分,统计得分。结束后给出总分,显示各题的对错信息,错误的给出答案。中间按ESC键结束。显示已作题的对错信息,错误的给出答案,不显示得分,按任意键返回题型选择界面。相关知识:按键操作、数组、指针、结构体等
二、例程:
#include#include#include#includevoidmain(){inta[10],b[10],d[10],c[10],num=0,result,add=0;floatval;charfa[5]={'+','-','*','/'};/*出10道题*/while(1){srand((unsigned)time(NULL));d[num]=abs(rand())%4;/*保证出题算法的随机性*/while(1)/*保证出题成功*/{c[num]=-1;a[num]=abs(rand())%100;b[num]=abs(rand())%100;if(d[num]==0)c[num]=a[num]+b[num];elseif(d[num]==1)c[num]=a[num]-b[num];elseif(d[num]==2)c[num]=a[num]*b[num];elseif(d[num]==3){if(b[num]>0)val=1.0*a[num]/b[num];elseval=-1;}if(d[num]=0&&c[num]=0){c[num]=val;break;}}}num++;if(num==10)break;}/*回答*/num=0;while(1){printf(%d%c%d=,a[num],fa[d[num]],b[num]);scanf(%d,&result);if(result==c[num]){printf(回答正确!\n);add+=10;}elseprintf(错误,正确答案:%d\n,c[num]);num++;if(num==10)break;}printf(\n得分:%d\n,add);getch();}
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇