小学算数软件设计
小学算数软件的设计(C语言版)
1操作界面截图
2软件源代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
typedef struct
{
char name[20];//答题人姓名
char age[10];//年龄
char sex[20];//性别
char school[20];//学校
}mxinxi;
typedef struct
{
int count;//题目数目
mxinxi xinxi[100];
}myunsuan;
myunsuan yunsuan;
void save()//保存订单基本信息。
{
FILE *fp;
if((fp=fopen("yunsuan.doc","w"))==NULL)
{
printf("\n不能保存信息\n");
return;
}
fwrite(&yunsuan.count,sizeof(int),1,fp);
fwrite(yunsuan.xinxi,sizeof(yunsuan.xinxi[0]),yunsuan.count,fp);
}
void putin() /*定义录入函数*/
{
int y=1;
system("cls");
while(y)
{
printf("\t请输入您的姓名:");
scanf("%s",yunsuan.xinxi[yunsuan.count].name);
printf("\t请输入您的年龄:");
scanf("%s",yunsuan.xinxi[yunsuan.count].age);
printf("\t请输入您的性别:");
scanf("%s",yunsuan.xinxi[yunsuan.count].sex);
printf("\t请输入您的学校:");
scanf("%s",yunsuan.xinxi[yunsuan.count].school);
yunsuan.count++;
printf("\n按0,退出录入:");
fflush(stdin);
scanf("%d",&y);
if (y=0)
{
break;
}
}
save();
}
void lookup()
{
system("cls");
printf("姓名\t年龄\t性别\t学校\n");
for (int i=0;i<yunsuan.count;i++)
{
printf("%s\t%s\t%s\t%s\n",yunsuan.xinxi[i].name,yunsuan.xinxi[i].age,yunsuan.xinxi[i].sex,yunsuan.xinxi[i].school);
}
printf("按回车键返回初始界面");
fflush(stdin);
getchar();
}
void fun()
{
int a,b,c,s,s1,k=1;
system("cls"); /*进行清屏*/
while(k)
{
srand(time(NULL));
a=rand()%9+1;
b=rand()%9+1;
c=rand()%4+1;//1:+.,2:-,3:*,4:/.
switch(c)
{
case 1:s=a+b;printf("%d+%d=",a,b);break;
case 2:s=a-b;printf("%d-%d=",a,b);break;
case 3:s=a*b;printf("%d*%d=",a,b);break;
case 4:s=a;printf("%d/%d=",a*b,b);break;
}
scanf("%d",&s1);
if(s==s1)printf("回答正确!\n");
else printf("回答错误!答案是: %d\n",s);
printf("\n是否继续(1.继续;0,退出录入):");
fflush(stdin);
scanf("%d",&k);
if (k!=1)
{
k=0;
break;
}
}
save();
}
void fun2()
{
int a,b,c,s,s1,k=1;
system("cls"); /*进行清屏*/
while(k)
{
srand(time(NULL));
a=rand()%100;
b=rand()%10;
c=rand()%6+1;//1:+.,2:-,3:*,4:/,5:a*a*b,6:a*b*b
switch(c)
{
case 1:s=a+b;printf("%d+%d=",a,b);break;
case 2:s=a-b;printf("%d-%d=",a,b);break;
case 3:s=a*b;printf("%d*%d=",a,b);break;
case 4:s=a;printf("%d/%d=",a*b,b);break;
case 5:s=a*a*b;printf("%d*%d*%d=",a,b,a);break;
case 6:s=a*b*b;printf("%d*%d*%d=",a,b,b);break;
}
scanf("%d",&s1);
if(s==s1)printf("回答正确!\n");
else printf("回答错误!答案是: %d\n",s);
printf("\n是否继续(1.继续;0,退出录入):");
fflush(stdin);
scanf("%d",&k);
if (k!=1)
{
k=0;
break;
}
}
save();
}
void main()
{
int a ;
do
{
system("cls");
printf("\n\n\n\n\n\t\t 欢迎使用小学算数软件\n");
printf("\t\t*********************************************\n");
printf("\t\t\t1 ------------------答题人信息\n");
printf("\t\t\t2 ------------------答题人信息浏览\n");
printf("\t\t\t3 ------------------简单\n");
printf("\t\t\t4 ------------------困难\n");
printf("\t\t\t0 ------------------退出\n");
printf("\t\t*********************************************\n");
printf("\t\t************答题前请先填写个人信息***********\n");
printf("\t\t\n");
printf("\t\t\n");
printf("\t\t **************************\n");
printf("\t\t * 制作人 *\n");
printf("\t\t * 栾佳才 *\n");
printf("\t\t **************************\n");
fflush(stdin);
scanf("%d",&a);
switch(a)
{
case 1:
putin();
break;
case 2:
lookup();
break;
case 3:
fun();
break;
case 4:
fun2();
break;
case 0:
printf("\n\n退出\n\n");
break;
default:
printf("\n序号不对\n");
}
}while(a!=0);
save();
}