c语言程序设计的问题,有大神帮个忙吗
、小学生测验系统面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。程序必须实现的功能:(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;(...
、小学生测验系统
面向小学1~2 年级学生,随机选择两个整数和加减法形成算式要求学生解答。
程序必须实现的功能:
(1)电脑随机出10 道题,每题10 分,程序结束时显示学生得分;
(2)确保算式没有超出1~2 年级的水平,只允许进行50 以内的加减法,不允许两
数之和或之差超出0~50 的范围,负数更是不允许的;
(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,
如果三次机会结束则输出正确答案;
(4)对于每道题,学生第一次输入正确答案得10 分,第二次输入正确答案得7 分,
第三次输入正确答案得5 分,否则不得分;
(5)总成绩90 以上显示“SMART”,80-90 显示“GOOD”,70-80 显示“OK”,60-70
显示“PASS”,60 以下“TRY AGAIN”
(6)将“所出试题、正确答案、学生答案、得分”等练习情况记录在文件中,提供
“家长查看”功能,将练习情况显示出来。 展开
面向小学1~2 年级学生,随机选择两个整数和加减法形成算式要求学生解答。
程序必须实现的功能:
(1)电脑随机出10 道题,每题10 分,程序结束时显示学生得分;
(2)确保算式没有超出1~2 年级的水平,只允许进行50 以内的加减法,不允许两
数之和或之差超出0~50 的范围,负数更是不允许的;
(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,
如果三次机会结束则输出正确答案;
(4)对于每道题,学生第一次输入正确答案得10 分,第二次输入正确答案得7 分,
第三次输入正确答案得5 分,否则不得分;
(5)总成绩90 以上显示“SMART”,80-90 显示“GOOD”,70-80 显示“OK”,60-70
显示“PASS”,60 以下“TRY AGAIN”
(6)将“所出试题、正确答案、学生答案、得分”等练习情况记录在文件中,提供
“家长查看”功能,将练习情况显示出来。 展开
4个回答
展开全部
第六点没写 不过也简单 自己写吧 有事情就不写了
#include <iostream>
using namespace std;
#include <time.h>
void Pd(int &sum,int a,int b)
{
int x=3;
int y;
int s=0;
while(x--)
{
s++;
cout<<a<<"+"<<b<<"=";
cin>>y;
if(y==a+b)
{
cout<<"您是在是太棒了,输入正确.下一题:\n";
if(s==1)
sum+=10;
if(s==2)
sum+=7;
if(s==3)
sum+=5;
return;
}
else
{
cout<<"输入错误咯,请重新输入\n";
if(s==3)
{
cout<<"下面的等式才是正确的哦\n";
cout<<a<<"+"<<b<<"="<<a+b<<endl;
}
}
}
}
void Pd1(int &sum,int a,int b)
{
int x=3;
int y;
int s=0;
while(x--)
{
s++;
cout<<a<<"-"<<b<<"=";
cin>>y;
if(y==a-b)
{
cout<<"您是在是太棒了,输入正确.下一题:\n";
if(s==1)
sum+=10;
if(s==2)
sum+=7;
if(s==3)
sum+=5;
return;
}
else
{
cout<<"输入错误咯,请重新输入\n";
if(s==3)
{
cout<<"下面的等式才是正确的哦\n";
cout<<a<<"-"<<b<<"="<<a-b<<endl;
}
}
}
}
int main()
{
int n=10;
int sum=0;
int a,b,c;
int s=1;
srand((int)time(0));
cout<<"本次考试现在开始,会产生十个加减法的题目哦.\n一题10分 满分100 每个题目有三次机会\n第一次答对10分 第二次7分 第三次则是5分 若三次都不对 则0分\n\n";
while(n--)
{
cout<<"第"<<s++<<"题为:\n";
a=rand()%10+15;
b=rand()%10+15;
c=rand()%10;
//cout<<c<<endl;
if(c%2==0)
{
Pd(sum,a,b);
}
else
while(1)
{
if(a>=b){Pd1(sum,a,b);break;}
else
{
a=rand()%10+15;
b=rand()%10+15;
}
}
cout<<endl;
}
cout<<"您的总成绩为:"<<sum<<endl<<endl;
while(1)
{
if(sum>=90)
{ cout<<"SMART\n";break;}
if(sum>=80&&sum<90)
{ cout<<"GOOD\n";break;}
if(sum>=70&&sum<80)
{ cout<<"OK\n";break;}
if(sum<60)
{ cout<<"TRY AGAIN\n";break;}
else
{ cout<<"PASS\n";break;}
}
return 0;
}
2014-01-14
展开全部
该题有些麻烦啊!
1 随机数srand 和 rand ,菜单1-2年纪考试,
2 rand(0,50) 还要预先 if 判断第一数和第二随机数和不能大于50出题才能成功,循环10次出10题。设计另一个rand(0,1)零为+法,1为减法。
3 第二循环让学生输入答案,如果计数变量为1对变量+10分,2+7分 3次+5分 结束循环,回第一循环出2题,反复。
4 结束循环 if 语句判断总分数输出文字,最后还要用 file功能输出为文件保存!~~
1 随机数srand 和 rand ,菜单1-2年纪考试,
2 rand(0,50) 还要预先 if 判断第一数和第二随机数和不能大于50出题才能成功,循环10次出10题。设计另一个rand(0,1)零为+法,1为减法。
3 第二循环让学生输入答案,如果计数变量为1对变量+10分,2+7分 3次+5分 结束循环,回第一循环出2题,反复。
4 结束循环 if 语句判断总分数输出文字,最后还要用 file功能输出为文件保存!~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个好难啊,有空再帮你刷啊
追问
大神,帮个忙吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询