标题:刚改了一个小学生选题系统的程序,但运行不起来,请各位给改改
只看楼主
倩倩蟑螂
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-26
结帖率:100%
已结贴  问题点数:10 回复次数:8 
刚改了一个小学生选题系统的程序,但运行不起来,请各位给改改
#include<stdio.h>
#include<stdlib.h>//stdlib 头文件即standard library标准库头文件  stdlib 头文件里包含了C、C++语言的最常用的系统函数  该文件包含了的C语言标准库函数的定义  stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。 具体的内容你自己可以打开编译器的include目录里面的stdlib.h头文件看看
#include<time.h>
void menu()//菜单
{
    printf("********************************************************************************");
    printf("^_^_^_^_^_^_^_^_^_^_^_^小朋友,欢迎你们来学习小学算术_^_^_^_^_^_^_^_^_^_^_^_^_^_");
    printf("                                                                                ");
    printf("                                   1.加法                                       ");
    printf("                                   2.减法                                       ");
    printf("                                   0.退出                                       ");
    printf("                                                                                ");
    printf("                            快选择你要学习的内容吧!                            ");
    printf("                                                                                ");
    printf("^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_");
    printf("********************************************************************************");
}
void plus1()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第一关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k)
    {
        printf("%d",m=rand()%10);
        printf("+");
        printf("%d",n=rand()%10);
        printf("=");
        total=m+n;
        loopa:scanf("%d",&s);
        if(s==total)
        {printf("恭喜你,答对了!\n");count++;}
        else
        {printf("回答错误,请重新回答!\n");goto loopa;}
        printf("恭喜你通过了第一关!\n");
    }
}
void plus2()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第二关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
        do{
            m=rand()%10;
            n=rand()%100;
        }while(n<10);
        printf("%d",m);
        printf("+");
        printf("%d",n);
        printf("=");
        total=m+n;
        loopa:scanf("%d",&s);
        if(s==total)
        {printf("恭喜你,答对了!\n");count++;}
        else
        {printf("回答错误,请重新回答!\n");goto loopa;}
        printf("恭喜你通过了第二关!\n");
    }
}
void plus3()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第三关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
        do{
            m=rand()%100;
            n=rand()%100;
        }while(m<10&&n<10);
        printf("%d",m);
        printf("+");
        printf("%d",n);
        printf("=");
        total=m+n;
        loopa:scanf("%d",&s);
        if(s==total)
        {printf("恭喜你,答对了!\n");count++;}
        else
        {printf("回答错误,请重新回答!\n");goto loopa;}
        printf("恭喜你通过了第三关!\n");
    }
}
void sub1()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第一关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
    do{
        m=rand()%10;
        n=rand()%10;
    }while(m<=n);
    printf("%d",m);
    printf("-");
    printf("%d",n);
    printf("=");
    total=m-n;
    loopa:scanf("%d",&s);
    if(s==total)
    {printf("恭喜你,答对了!\n");count++;}
    else
    {printf("回答错误,请重新回答!\n");goto loopa;}
    printf("恭喜你通过了第一关!\n");
    }
}
void sub2()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第二关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
        do{
           m=rand()%100;
           n=rand()%10;
        }while(m<10);
    printf("%d",m);
    printf("-");
    printf("%d",n);
    printf("=");
    total=m-n;
    loopa:scanf("%d",&s);
    if(s==total)
    {printf("恭喜你,答对了!\n");count++;}
    else
    {printf("回答错误,请重新回答!\n");goto loopa;}
    printf("恭喜你通过了第二关!\n");
    }
}
void sub3()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第三关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
    do{
        m=rand()%100;
        n=rand()%100;
    }while(m<=n||m<10||n<10);
    printf("%d",m);
    printf("-");
    printf("%d",n);
    printf("=");
    total=m-n;
    loopa:scanf("%d",&s);
    if(s==total)
    {printf("恭喜你,答对了!\n");count++;}
    else
    {printf("回答错误,请重新回答!\n");goto loopa;}
    printf("恭喜你通过了第三关!\n");
    }
}


void main()
{
    void menu();
    int k;
    do{
        menu();
        printf("请选择:");
        scanf("%d",&k);
        switch(k)
        {
         case 1:plus();break;
         case 2:sub();break;
         case 3:mul();break;
         case 4:div();break;
         case 0:break;
        }
        printf("\n");
    }while(k!=0);
    printf("\n");
    return 0;
}
搜索更多相关主题的帖子: 小学生 编译器 C语言 通用 
2011-03-26 22:02
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
得分:2 
太长了
2011-03-27 11:08
倩倩蟑螂
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-26
得分:0 
回复 2楼 给力芬2010
不长吧
2011-03-27 22:00
zdt3476
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2011-3-27
得分:2 
代码有错误

2011-03-27 22:54
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
得分:2 
用rand()函数要配套使用srand()函数,才能产生不一样的随机数

我的地盘
2011-03-27 23:02
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:2 
参考一下学生成绩管理系统

                                         
===========深入<----------------->浅出============
2011-03-28 12:34
倩倩蟑螂
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-26
得分:0 
回复 5楼 hnuhsg1226
怎么用???
2011-03-28 22:29
tp19920527
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2011-2-26
得分:2 
以下是引用laoyang103在2011-3-28 12:34:07的发言:

参考一下学生成绩管理系统

这就是学生成绩管理系统啊...
2011-03-28 22:55
jaylkh
Rank: 1
来 自:福建
等 级:新手上路
帖 子:8
专家分:4
注 册:2010-5-12
得分:2 
#include<stdio.h>
#include<windows.h>
void plus3();
void plus2();
void sub2();
void sub3();
void menu()//菜单
{
    printf("********************************************************************************");
    printf("^_^_^_^_^_^_^_^_^_^_^_^小朋友,欢迎你们来学习小学算术_^_^_^_^_^_^_^_^_^_^_^_^_^_");
    printf("                                                                                ");
    printf("                                   1.加法                                       ");
    printf("                                   2.减法                                       ");
    printf("                                   0.退出                                       ");
    printf("                                                                                ");
    printf("                            快选择你要学习的内容吧!                            ");
    printf("                                                                                ");
    printf("^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_");
    printf("********************************************************************************");
}
void plus1()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第一关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k)
    {m=rand()%10;
    n=rand()%10;
        loopa:printf("%d",m);
        printf("+");
        printf("%d",n);
        printf("=");
        total=m+n;
        scanf("%d",&s);
        if(s==total)
        {printf("恭喜你,答对了!\n");count++;}
        else
        {printf("回答错误,请重新回答!\n");goto loopa;}
        
    }
    printf("恭喜你通过了第一关!进入下一关按1键,返回按0.....\n");
a:    scanf("%d",&n);
    getchar();Sleep(1500);system("cls");
    if(n==1) plus2();
    else if(n==0) return; else {printf("输入有误!重新输入\n");goto a;}
}
void plus2()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第二关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
        do{
            m=rand()%10;
            n=rand()%100;
        }while(n<10);
       loopa1: printf("%d",m);
        printf("+");
        printf("%d",n);
        printf("=");
        total=m+n;
        scanf("%d",&s);
        if(s==total)
        {printf("恭喜你,答对了!\n");count++;}
        else
        {printf("回答错误,请重新回答!\n");goto loopa1;}
      
    }
        printf("恭喜你通过了第二关!进入下一关按1键,返回按0.....\n");
b:    scanf("%d",&n);
    getchar();Sleep(1500);system("cls");
    if(n==1) plus2();
    else if(n==0) return; else {printf("输入有误!重新输入\n");goto b;}
}
void plus3()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第三关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
        do{
            m=rand()%100;
            n=rand()%100;
        }while(m<10&&n<10);
      loopa2:  printf("%d",m);
        printf("+");
        printf("%d",n);
        printf("=");
        total=m+n;
        scanf("%d",&s);
        if(s==total)
        {printf("恭喜你,答对了!\n");count++;}
        else
        {printf("回答错误,请重新回答!\n");goto loopa2;}
        
    }
        printf("恭喜你通过了第三关!\n");Sleep(1500);system("cls");
}
void sub1()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第一关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
    do{
        m=rand()%10;
        n=rand()%10;
    }while(m<=n);
loopa4:    printf("%d",m);
    printf("-");
    printf("%d",n);
    printf("=");
    total=m-n;
    scanf("%d",&s);
    if(s==total)
    {printf("恭喜你,答对了!\n");count++;}
    else
    {printf("回答错误,请重新回答!\n");goto loopa4;}
   
    }
        printf("恭喜你通过了第一关!进入下一关按1键,返回按0.....\n");
d:    scanf("%d",&n);
    getchar();Sleep(1500);system("cls");
    if(n==1) sub2();
    else if(n==0) return; else {printf("输入有误!重新输入\n");goto d;}
}
void sub2()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第二关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
        do{
           m=rand()%100;
           n=rand()%10;
        }while(m<10);
   loopa3: printf("%d",m);
    printf("-");
    printf("%d",n);
    printf("=");
    total=m-n;
    scanf("%d",&s);
    if(s==total)
    {printf("恭喜你,答对了!\n");count++;}
    else
    {printf("回答错误,请重新回答!\n");goto loopa3;}
  
    }printf("恭喜你通过了第二关!进入下一关按1键,返回按0.....\n");
e:    scanf("%d",&n);
    getchar();Sleep(1500);system("cls");
    if(n==1) sub3();
    else if(n==0) return; else {printf("输入有误!重新输入\n");goto e;}
}
void sub3()
{
    int count=0,m,n,s,total,k;
    printf("欢迎进入第三关!\n");
    printf("请设定题目数量:");
    scanf("%d",&k);
    while(count<k){
    do{
        m=rand()%100;
        n=rand()%100;
    }while(m<=n||m<10||n<10);
   loopa5: printf("%d",m);
    printf("-");
    printf("%d",n);
    printf("=");
    total=m-n;
    scanf("%d",&s);
    if(s==total)
    {printf("恭喜你,答对了!\n");count++;}
    else
    {printf("回答错误,请重新回答!\n");goto loopa5;}
    }
    printf("恭喜你通过了第三关!\n");Sleep(1500);system("cls");
}


void main()
{
    void menu();
    int k;
    do{
        menu();
        printf("请选择:");
        scanf("%d",&k);
        getchar();
        switch(k)
        {
         case 1:plus1();break;
         case 2:sub1();break;
         case 0: break;
         default: {printf("error input!please try again!\n");Sleep(1500);system("cls"); }
        }
        printf("\n");
    }while(k!=0);
    printf("\n");

}
我修改了一下,楼主看看吧!你的主要是错在函数的调用上,你那个main函数中有几个函数是没有定义过的,还有要注意goto的使用,在一个程序中如果有多个goto语句时,要注意区分语句的标识符!
2011-03-28 23:37



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




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

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