求一个C语言编程题,可能分数有点少,但是急用且我没有分了。希望谅解.谢谢!!

小学生算术学习系统开发
说明:10以内加减法
实现该系统可分为以下子任务:
(1)编一程序随机生成5道10以内的加法算术题。
(2)扩展子任务1,让用户解答题目,如果结果正确,则显示“Right!”,如果结果错误,则显示“Error!”。
(3)编一程序随机生成5道10以内的减法算术题,注意被减数应不小于减数。
(4)编一程序随机生成10道10以内的加法或减法算术题,加或减要随机出现。
(5)整个学习系统的界面设计。
(6)用子函数实现以上各程序。
要求:
1. 分析系统中的各个功能模块及其相互之间的关系,画出功能模块图、程序流程图;
2.有用户界面的设计。
问题补充:有程序流程图,还有界面的设计,只要加减运算的,谢谢

#include "stdlib.h"
#include "stdio.h"
#include "time.h"

void jiafa(){
int a[10],b[5];
int n,x,y,l=0,t=1;
x=5;
y=10;
srand( (unsigned)time( NULL ) );

for( n = 0; n < 10;n++ )
a[n]=rand()%(y-x+1)+x;

for( n =0; n < 10 ;n+=2)
{
printf("%d. %d+%d=\n",t++,a[n],a[n+1]);

}

printf("please input answers:\n");

for( n =0; n < 5 ;n++){

printf("%d. ",n+1);
scanf("%d",&b[n]);
}
for( n =0; n < 10 ;n+=2)
{
if(b[n/2]==a[n]+a[n+1])
l++;

}
if(l==5)
printf("Right\n");
else
printf("Error\n");
}

void jianfa(){
int a[10],b[5];
int n,x,y,temp,l=0,t=1;

x=5;
y=10;

srand( (unsigned)time( NULL ) );

for(n=0;n<10;n++)
a[n]=rand()%(y-x+1)+x;
for( n =0; n < 10 ;n+=2){
if(a[n]<a[n+1]){temp=a[n];a[n]=a[n+1];a[n+1]=temp;}

}
for( n =0; n < 10 ;n+=2)
{
printf("%d. %d-%d=\n",t++,a[n],a[n+1]);

}

printf("please input answers:\n");

for( n =0; n < 5 ;n++){

printf("%d. ",n+1);
scanf("%d",&b[n]);
}
for( n =0; n < 10 ;n+=2)
{
if(b[n/2]==a[n]-a[n+1])
l++;

}
if(l==5)
printf("Right\n");
else
printf("Error\n");

}

void jjys(){

int a[20],b[10],c[10];
int n,x,y,temp,l=0,t=1;

x=0;
y=10;
srand( (unsigned)time( NULL ) );

for(n=0;n<20;n++)
a[n]=rand()%(y-x+1)+x;

for(n=0;n<20;n+=2){
if((c[n/2]=rand()%(y-x+1)+x)%2==0)
printf("%2d. %d+%d=\n",t++,a[n],a[n+1]);
else
{
if(a[n]<a[n+1]){temp=a[n];a[n]=a[n+1];a[n+1]=temp;}
printf("%2d. %d-%d=\n",t++,a[n],a[n+1]);

}
}

printf("please input answers:\n");

for( n =0; n < 10 ;n++){

printf("%2d. ",n+1);
scanf("%d",&b[n]);
}
for(n=0;n<20;n+=2){

if(c[n/2]%2==0)
if(b[n/2]==a[n]+a[n+1])
l++;
if(c[n/2]%2!=0)
if(b[n/2]==a[n]-a[n+1])
l++;
}

if(l==10)
printf("Right\n");
else
printf("Error\n");

}

main(){

while(1){
int i;

printf("********************************\n");
printf("* welcome to study system *\n");
printf("* 1 simple plus *\n");
printf("* 2 simple subtration *\n");
printf("* 3 plus and subtration *\n");
printf("* 4 exit system *\n");
printf("********************************\n");
printf("input choice:");

scanf("%d",&i);

switch(i){
case 1:jiafa();break; /*加法运算*/
case 2:jianfa();break; /*减法运算*/
case 3:jjys();break; /*减法运算*/
case 4:exit(0);break; /*退出系统*/
default:printf("error\n");
}
}
getch();

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-10
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
void jiafa()/*加法函数*/
{int a,b,c,i;
srand((unsigned)time(NULL));/*用系统时间当种子,对随机函数进行初始化*/
printf("请在等号后输入答案\n");
for(i=0;i<5;i++)
{a=rand()%10;
b=rand()%10;/*产生a,b2数*/
printf("%d+%d=",a,b);
scanf("%d",&c);
if(c==a+b) printf("right");
else printf("ERROR!");
printf("\n");
}
return;
}
void jianfa()/*减法函数*/
{int a,b,c,i;
srand((unsigned)time(NULL));/*用系统时间当种子,对随机函数进行初始化*/
printf("请在等号后输入答案\n");
for(i=0;i<5;)
{a=rand()%10;
b=rand()%10;
if(a<b) printf("\n");
else {++i;
printf("%d-%d=",a,b);
scanf("%d",&c);
if(c==a-b) printf("right");
else printf("ERROR!");
printf("\n");}/*当a<b则换行,否则i加1,出一到减法题*/
}
return;
}
void zonghe()/*综合函数,我把上面两个函数改了下*/
{int a,b,c,i;
srand((unsigned)time(NULL));/*用系统时间当种子,对随机函数进行初始化*/
printf("请在等号后输入答案\n");
for(i=0;i<9;)
{a=rand()%10;
b=rand()%10;
if(a<6)/*我想不出来了,a是0到10的数,所以a<6做加法,否则做减法,共10题*/
{if(a<b) printf("\n");
else
{i++;
printf("%d-%d=",a,b);
scanf("%d",&c);
if(c==a-b) printf("right");
else printf("ERROR!");
printf("\n");}
}
else
{i++;
printf("%d+%d=",a,b);
scanf("%d",&c);
if(c==a+b) printf("right");
else printf("ERROR!");
printf("\n");}
}
return;
}
void main()/*主函数,供选择*/
{int flag;
system( "graftabl 936 ");
clrscr();
while(1)/*死循环*/
{
printf(" 算术计算\n");
printf("==============================================\n");
printf("1.做5道加法题\n");
printf("2.做5道减法题\n");
printf("3.做10道加减题\n");
printf("4.退出\n");
printf("==============================================\n");
printf("请输入你的选择:");
scanf("%d",&flag);
if(flag==1)
jiafa();
if(flag==2)
jianfa();
if(flag==3)
zonghe();
if(flag==4)
exit(0);
printf("\n");
}
}
win-tc下试的,做的简陋了。不行的话,去C语言吧问问吧!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网