2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 最全C语言之苏小红版《高级语言程序设计》第七章188页小学计算机辅助教学系统程序

最全C语言之苏小红版《高级语言程序设计》第七章188页小学计算机辅助教学系统程序

时间:2019-08-03 08:56:22

相关推荐

最全C语言之苏小红版《高级语言程序设计》第七章188页小学计算机辅助教学系统程序

说明:以下代码编译器为vs,所以输入函数写为scanf_s,若为其他编译器,则使用scanf!

题目:小學理计算机調的教学系統。计算机在教育中的应用常被你为计算故排助教等LComotsrnllCXn。请频写一个程序来帮的小学生学习乘法。使用模块化程序设计方法,技下列任务要礼。序渐进的方式编程。

任务1:程序首先随机产生两个1~10之间的正整数,在屏幕上打印出问题。例如:

6*7=9

然后让学生输入答案。程序检查学生输入的答案是否正确。若正确,则打印“Righu”,然后问下一个问题3打印“Wrong!Pleasetryagain.”,然后提示学生重做,直到答对为止。

任务2:在任务1的基础上,当学生回答错误时,最多给三次重做的机会,三次仍未做对,则显示WongYouhavetriedthreetimes!Testover!”,程序结束。

代码如下:

#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){int magic1, magic2,guess,i=1;srand(time(NULL));magic1 = rand() % 10 + 1;magic2 = rand() % 10 + 1;printf("%d*%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1*magic2 == guess) {printf("Right!");}while(magic1*magic2 != guess && i<=3){printf("Wrong! Please try again.\n");magic1 = rand() % 10 + 1;magic2 = rand() % 10 + 1;printf("%d*%d=", magic1, magic2);scanf_s("%d", &guess);i++;}if (i == 4) {printf("Wrong! You have tried three time!");}return 0;}

运行结果如下:

任务3:在任务1的基础上,连续做10道乘法运算题,不给机会重做,若学生回答正确,则显示”Right",则显示"Wrongt”。10道题全部做完后,按每题10分统计并输出总分,同时为了记录学生能力提高的过程,再者出学生的回答正确率(即答对题数除以总题数的百分比)。

代码如下:

#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){int magic1, magic2, guess, i = 1,n=0;for (i = 1; i <= 10; i++) {srand(time(NULL));magic1 = rand() % 10 + 1;magic2 = rand() % 10 + 1;printf("%d*%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1*magic2 == guess) {printf(" Right!\n");n++;}else {printf(" Wrong!\n");}}printf("总分为:%d 回答正确率为:%0.2f", n*10, n / 10.0);return 0;}

运行结果如下:

任务4:在任务3的基础上,通过计算机随机产生10道四则运算题,两个操作数为1-10之间的随机数,运算类型为随机产生的加、减、乘、整除中的任意一种,不给机会重做,如果学生回答正确,则显示”Right!”,否则显示"Wrong!”。10道题全部做完后,按每题10分统计总得分,然后打印出总分和学生的回答正确率。

任务5:在任务4基础上,为使学生通过反复练习熟练掌握所学内容,在学生完成10道运算题后,若回答正确率低于75%,则重新做10道题,直到回答正确率高于75%时才退出程序。

代码如下:

#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){int magic1, magic2,magic3, guess, i = 1, n = 0;while (n / 10.0 <= 0.75) {for (i = 1; i <= 10; i++) {srand(time(NULL));magic1 = rand() % 10 + 1;magic2 = rand() % 10 + 1;magic3 = rand() % 4 + 1;switch (magic3) {case 1: printf("%d*%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1*magic2 == guess) { printf("Right!\n"); n++; }else { printf(" Wrong!\n"); }break;case 2: printf("%d/%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1 / magic2 == guess) { printf("Right!\n"); n++; }else { printf(" Wrong!\n"); }break;case 3: printf("%d+%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1 + magic2 == guess) { printf("Right!\n"); n++; }else { printf(" Wrong!\n"); }break;case 4: printf("%d-%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1 - magic2 == guess) { printf("Right!\n"); n++; }else { printf(" Wrong!\n"); }break;}}printf("总分为:%d 回答正确率为:%0.2f", n * 10, n / 10.0);printf("\n");}return 0;}

运行结果如下:

任务6:开发一个CAI系统所要解决的另一个问题是学生疲劳的问题。消除学生疲劳的一种办法就是通过改变人机对话界面来吸引学生的注意力。在任务5的基础上,使用随机数产生函数产生一个1-4之间的随机数,配合使用switch语句和print()函数调用,来为学生输入的每一个正确或者错误的答案输出不同的评价。

对于正确答案,可在以下4种提示信息中选择一个进行显示:

Verygood!

Excellent!

Nicework!

Keepupthegoodwork!

对于错误答案,可在以下4种提示信息中选择一个进行显示:

No.Pleasetryagain.

Wrong.Tryoncemore.

Don'tgiveup!

Notcorrect.Keeptrying.

代码如下:

#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){int magic1, magic2, magic3,magic4, guess, i = 1, n = 0;while (n / 10.0 <= 0.75) {for (i = 1; i <= 10; i++) {srand(time(NULL));magic1 = rand() % 10 + 1;magic2 = rand() % 10 + 1;magic3 = rand() % 4 + 1;magic4 = rand() % 4 + 1;switch (magic3) {case 1: printf("%d*%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1*magic2 == guess) {switch (magic4){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;}n++; }else {switch (magic4){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!Keeping trying!\n"); break;}}break;case 2: printf("%d/%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1 / magic2 == guess) {switch (magic4) {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;} n++;}else {switch (magic4){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!Keeping trying!\n"); break;}}break;case 3: printf("%d+%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1 + magic2 == guess) { n++; switch (magic4) {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;}}else {switch (magic4){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!Keeping trying!\n"); break;}}break;case 4: printf("%d-%d=", magic1, magic2);scanf_s("%d", &guess);if (magic1 - magic2 == guess) {switch (magic4){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;}n++; }else {switch (magic4) {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!Keeping trying!\n"); break;}}break;}}printf("总分为:%d 回答正确率为:%0.2f", n * 10, n / 10.0);printf("\n");}return 0;}

运行结果:

注:以上纯属个人观点。如有错误,还请指出!!

最全免费C语言之苏小红版《高级语言程序设计》第七章188页小学计算机辅助教学系统程序设计

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。