#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#define N 35
typedef struct _ti {
int a, b;
int op;
int result;
int input;
int rw;
}ti;
ti timu[N];
int fen;
int flag;
int mulu()
{
int z;
while(1) {
printf("\t\t三相之力之四则运算系统\n\n");
printf("1随机出题\t\t\t\t");
printf("2开始训练\n");
printf("3训练评分\t\t\t\t");
printf("4显示批改的试卷\n");
printf("5退出系统\n\n");
printf("请选择:");
scanf("%d", &z);
while(getchar() != '\n');
if(z< 1 || z > 5)
printf("选择有误!请重新输入.\n");
else
break;
}
return z;
}
void chuti()
{
int i, f;
printf("确认随机出%d道题吗?(y确认):", N);
if(getchar() != 'y')
return;
for(i = 0, f = 1; i < N; f ? i++ : 0) {
timu[i].a = rand() % 100+1;
timu[i].b = rand() % 100+1;
timu[i].op = rand() % 4;
if(timu[i].b == 0 && timu[i].op == 3) {
f = 0;
continue;
}
else
f = 1;
switch(timu[i].op) {
case 0: timu[i].result = timu[i].a + timu[i].b; continue;
case 1: timu[i].result = timu[i].a - timu[i].b; continue;
case 2: timu[i].result = timu[i].a * timu[i].b; continue;
case 3: timu[i].result = timu[i].a / timu[i].b; continue;
}
}
printf("出题完毕!\n");
flag = 1;
}
void xunlian()
{
int i, f, n;
char op[] = "+-*/";
if(!flag) {
printf("还未出题!\n");
return;
}
printf("确认开始练习吗?(y确认):");
if(getchar() != 'y')
return;
fen = 0;
for(i = 0, f = 1; i < N; f ? ++i : 0) {
printf("题目%d: %d %c %d = ", i+1, timu[i].a, op[timu[i].op], timu[i].b);
if(!scanf("%d", &n)) {
printf("输入有误!请重试.\n");
f = 0;
} else {
timu[i].input = n;
timu[i].rw = (n == timu[i].result ? (fen += 10, 1) : 0);
f = 1;
}
}
printf("练习完毕!\n");
}
void pingfen()
{
char* a[] = {"棒棒哒", "很棒", "不错呀", "还需努力偶"};
char** p;
int n;
p = a + 3;
n = fen / 10;
if(n >= 6)p--;
if(n >= 8)p--;
if(n == 10)p--;
printf("您测试的总分为 %s:%d分\n", *p, fen);
}
void shijuan()
{
int i;
char op[] = "+-*/";
for(i = 0; i < N; ++i){
printf("%d %c %d = %d\t%s", timu[i].a, op[timu[i].op],
timu[i].b, timu[i].input, timu[i].rw ? "√": "×");
if(!timu[i].rw)
printf(" 正确答案: %d", timu[i].result);
putchar('\n');
}
}
int main()
{
int i;
srand(time(0));
void (*f[])() = {chuti,xunlian, pingfen, shijuan};
while((i = mulu()) != 5) {
f[i-1]();
printf("按任意键继续...");
getch();
}
printf("欢迎下一次使用");
return 0;
}
成员简介和分工说明:我们是来自王建民老师班上的三相之力小队——王刚,张锦阔,鲁建伟。他们热情坚毅,勇敢自信、热情大方,为学好软件工程鞠躬尽瘁,死而后已。
张锦阔,负责前期软件开发,程序构架。
王刚,负责后期软件调试,思路阐述,编写说明书。
鲁建伟,负责细节推敲,网上资料收集分析师。
软件使用说明书:
本软件支持35道以内四则运算题目的练习,改卷和评分。操作简单,是小学三年级弟弟妹妹们的学习好助手。
一、软件使用及其安装
操作系统:各型号Windows系统
安装环境:无需安装,点击exe文件直接运行
配置要求:只要能开机的电脑都能运行(孩子父母不用担心家里老式电脑带不动这黑科技)
二、软件操作流程
1、点击exe文件名“二柱子的烦恼”

2、在出现的界面里,从键盘上敲击“1”

3、按任意键继续,从键盘上敲击“2”,开始训练

4、结束训练,从键盘上敲击“3”,开始评分

5、完成训练,结束程序运行
浙公网安备 33010602011771号