标题:高手门来一下,遇到困难,C中牛中的逼题。
只看楼主
csafbi99
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-11-6
 问题点数:0 回复次数:6 
高手门来一下,遇到困难,C中牛中的逼题。
小学生四则运算测试系统
a.系统的基本功能:
实现对小学生简单的双目四则运算的测试,包括
①    登录:用户在进行测试前,需按用户名进行登录(查找是否已有该用户)。
②    注册:增加新用户。从键盘上增加用户信息,包括用户名(注意用户名不能已经存在)、登录密码。
③    修改密码:用户在登录后,可以对其密码进行修改。
④    显示历史:用户在登录后,可以将其测试成绩显示出来。
⑤    测试:用户在登录后方可进行测试。系统随机给出两个操作数的四则运算题目,根据用户填入的答案来给出正误信息,并累计成绩。
⑥    读文件:把文件中的信息读到相关的数据结构中。
⑦    写文件:将用户信息保存到文件中
高手门帮一下,我是菜鸟,不回做。注要是登陆,注册和修改密码不会
搜索更多相关主题的帖子: 困难 
2008-11-06 11:24
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
本菜以前写过一个
long time(long*);int getch(),rand(),srand(int),scanf(char*,...),printf(char*,...);int su,da[6]={0};void f0(){system("cls");su=0;printf("\t\t小学生CAI系统\n\n");{int i;for(i=0;i<50;printf("="),++i);printf("\n");}printf("\t\ta.加法运算\n\t\tb.减法运算\n\t\tc.乘法运算\n\t\td.除法运算\n\t\te.综合运算\n\t\tf.四则混合运算\n\t\tg.退出系统\n");{int i;for(i=0;i<50;printf("="),++i);printf("\n");}printf("\n请选择 => ");}void f1(int x,int z){int t;switch(x){case 1:while(t=rand()%200,z+t>1e3);printf("+%d",t);su+=t;break;case 2:while(t=rand()%200,z-t<0);printf("-%d",t);su-=t;break;case 3:while(t=rand()%200,z*t>1e3);printf("*%d",t);su*=t;break;case 4:while(t=rand()%200+1,z%t!=0);printf("/%d",t);su/=t;break;}}void f2(){int c=1,n;char t;while(scanf("%c",&t),t!='\n');while(c<3){n=0;printf("第%d次尝试,请输入你的答案 => ",c);while(t=getch(),t!=13){if(t==27)return;if(t<='9' && t>='0')printf("%c",t),n*=10,n+=t-'0';}if(n==su) printf("\n答案正确\n"),c=5;else printf("\n答案错误\n"),++c;}if(c==3)printf("\n正确答案: %d\n",su);system("pause");}main(){int i,j,k; char t;srand(time(0));f0();while(scanf("%c",&t)!=-1){if(t<='f'&&t>='a')system("cls"),printf("已做%d道该项练习\n%d",da[t-'a'],su=rand()%200+1);switch(t){case'a':case'b':case'c':case'd':f1(t-'a'+1,su);break;case'e':for(i=rand()%4+1,j=0;j<=1;i--,j++)f1(i,su);break;case'f':f1(i=rand()%2+3,su);f1(7-i,su);f1(i=rand()%2+1,su);f1(3-i,su);break;case'g':return 0;default: f0();}if(t<='f' && t>='a')printf("=\n"),f2(),da[t-'a']++,f0();}}

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-11-06 21:59
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
to:卧龙孔明
----------------

    呵呵,代码一大堆看着不太清楚,帮着排了下版。不过有个疑问:为什么我加上头文件<stdio.h>之后反而编译错误了呢?
程序代码:
long time(long*);
int getch(),rand(),srand(int),scanf(char*,...),printf(char*,...);
int su,da[6]={0};
void f0()
{
    system("cls");
    su=0;printf("\t\t小学生CAI系统\n\n");
    {
        int i;
        for(i=0;i<50;printf("="),++i);
        printf("\n");
    }
    printf("\t\ta.加法运算\n\t\tb.减法运算\n\t\tc.乘法运算\n\t\td.除法运算\n\t\te.综合运算\n\t\tf.四则混合运算\n\t\tg.退出系统\n");
    {
        int i;
        for(i=0;i<50;printf("="),++i);
        printf("\n");
    }
    printf("\n请选择 => ");
}
void f1(int x,int z)
{
    int t;
    switch(x)
    {
        case 1:while(t=rand()%200,z+t>1e3);
               printf("+%d",t);su+=t;
               break;
        case 2:while(t=rand()%200,z-t<0);
               printf("-%d",t);
               su-=t;
               break;
        case 3:while(t=rand()%200,z*t>1e3);
               printf("*%d",t);su*=t;
               break;
        case 4:while(t=rand()%200+1,z%t!=0);
               printf("/%d",t);
               su/=t;
               break;
    }
}
void f2()
{
    int c=1,n;
    char t;
    while(scanf("%c",&t),t!='\n');
    while(c<3)
    {
        n=0;
        printf("第%d次尝试,请输入你的答案 => ",c);
        while(t=getch(),t!=13)
        {
            if(t==27)    return;
            if(t<='9' && t>='0')
                printf("%c",t),n*=10,n+=t-'0';
        }
        if(n==su) printf("\n答案正确\n"),c=5;
        else printf("\n答案错误\n"),++c;
    }
    if(c==3)printf("\n正确答案: %d\n",su);
    system("pause");
}
main()
{
    int i,j,k;
    char t;
    srand(time(0));
    f0();
    while(scanf("%c",&t)!=-1)
    {
        if(t<='f'&&t>='a')system("cls"),printf("已做%d道该项练习\n%d",da[t-'a'],su=rand()%200+1);
        switch(t)
        {
            case'a':
            case'b':
            case'c':
            case'd':  f1(t-'a'+1,su);
                      break;
            case'e':  for(i=rand()%4+1,j=0;
                      j<=1;i--,j++)f1(i,su);
                      break;
            case'f':  f1(i=rand()%2+3,su);
                      f1(7-i,su);
                      f1(i=rand()%2+1,su);
                      f1(3-i,su);break;
            case'g':  return 0;
            default:  f0();
        }
        if(t<='f' && t>='a')
            printf("=\n"),f2(),da[t-'a']++,f0();
    }
}


PS:学习一下~

[[it] 本帖最后由 广陵绝唱 于 2008-11-7 09:05 编辑 [/it]]
2008-11-07 09:04
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
得分:0 
回复 3# 的帖子
难道不加编译就没有错吗?
2008-11-07 09:29
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
回复 4# 的帖子
我的是WIN-TC编译,确实如你所说,不加头文件就可以编译运行。
2008-11-07 10:01
wanjiang
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2008-10-25
得分:0 
不错的东西,但只能做为一个小测试机来用。还是不能保存信息和登陆之类的
2008-11-07 10:14
风居住的街道
Rank: 1
等 级:新手上路
帖 子:374
专家分:0
注 册:2008-10-24
得分:0 
又是一个标题党……

我说孔明,对于这种人不用理了吧?

还有这个代码也很烂(知道排版你是故意的(是不是ggVGJ?),我是说实现)
2008-11-07 14:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-242697-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019027 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved