| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 581 人关注过本帖
标题:我要疯了,高手帮忙来看看,之前一直在用的变量,突然之间就说我没定义过, ...
只看楼主 加入收藏
ian116
Rank: 1
等 级:新手上路
帖 子:28
专家分:2
注 册:2009-5-15
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:5 
我要疯了,高手帮忙来看看,之前一直在用的变量,突然之间就说我没定义过,不给编译了呢
#include <stdio.h>
#include <math.h>
int numbera,numberb;
int a,line,i;
int c,d;    //line counter use to different lines
int e=2,f=2;      //let two line have same value
int counterspace,counternum; // counter the space in result
int numberrow=0;
int numberbasic=10;
int result;
void print_eline1()    //+--------------------+
{
            if(a!=0)        //first bar underline
            {
                printf("+");
            }
            for(a=0;a<(2*numbera-1)*d;a++)    // space
            {
                printf(" ");
            }
            printf("+");
            for(a=0;a<2*numbera-1;a++)
            {
                printf("-");
            }

            printf("+");
            for(a=0;a<19-2*numbera;a++)
            {
                printf("-");
            }
            printf("+");
            for(a=0;a<2*numbera-1;a++)
            {
                printf("-");
            }
            printf("+\n");
}

void print_eline2()  //+--------------------+
{
            if(a!=0)        //first bar underline
            {
                printf("+");
            }
            for(a=0;a<2*numbera*e-1;a++)    // space
            {
                printf(" ");
            }
            printf("+");
            for(a=0;a<2*numbera-1;a++)
            {
                printf("-");
            }

            printf("+");
            for(a=0;a<19-2*numbera;a++)
            {
                printf("-");
            }
            printf("+");
            for(a=0;a<2*numbera-1;a++)
            {
                printf("-");
            }
            e=e+1;
            printf("+\n");
}

void print_oline1()   //|0 1 2 3 4 5 6 7 8 9|
{
            if ((line!=1)&&(line!=20))                //no | for first and taget line
            {
                printf("|");
            }            


            for(a=0;a<(2*numbera-1)*c;a++)
            {
                printf(" ");
            }   
            printf("|0");
            for(i=1;i<numberbasic;i++)
            {
                printf(" %d",i);
            }
            printf("|\n");
}

void print_oline2()  //|0 1 2 3 4 5 6 7 8 9|
{
            if ((line!=1)&&(line!=20))                //no | for first and taget line
            {
                printf("|");
            }            


            for(a=0;a<(2*numbera)*f-1;a++)
            {
                printf(" ");
            }
            counterspace=a;
            printf("|0");
            for(i=1;i<numberbasic;i++)
            {
                printf(" %d",i);
            }
            printf("|\n");
            f=f+1;
            
}


int main (void)
{

    printf ("a\n");
    scanf ("%d",&numbera);
    printf ("b\n");
    scanf ("%d",&numberb);

for(line=0;line<=numberb*2-1;line++)       //for line number
{
    c=line/2;
    d=c-1;

    if(line%2==0)          //even line
    {
        printf("+-");
        if ((line!=0)&&(line!=20))                //not for first and taget line
        {
            if(line<=4)
            {
                print_eline1();
            }
            else
            {
                print_eline2();
            }

        }

   

        else                        //for first and taget line
        {
            printf("+");
            for(i=1;i<=2*numberbasic-1;i++)
            {
                printf("-");
            }
        printf("+\n");
        }
        

    }
    else                //ODD
        {
            printf("|%d",numberrow);            
            if(line<=4)
            {
                print_oline1();
            }
            else
            {
                print_oline2();
            }

            numberrow=numberrow+1;   
            
        }

}

printf("+-+");

for(a=1;a<=(counterspace+1)/20;a++)   //result +----+     //+1 only for some special numbers e.g.6*6,5*5
{
    for(i=0;i<=18;i++)
    {
        printf("-");
    }
    counternum=a;
    printf("+");
}
    for(a=0;a<counterspace-counternum*20;a++)
    {
        printf("-");
    }
    printf("+");

    result=counterspace-counternum*20;
    printf("s %d n %d r %d",counterspace,counternum,result);

/*
    for(a=0;a<20-2*numbera-1;a++)
    {
        printf("-");
    }
    printf("+");

    for(a=0;a<19;a++)
    {
        printf("-");
    }*/
    printf("+\n");   


            //result number
    printf("|%d",numberrow);
    for(a=0;a<=(result+21)/20;a++)   
    {
            printf("|0");
            for(i=1;i<numberbasic;i++)
            {
                printf(" %d",i);
            }

    }
    printf("|");
printf("\n");


以上的都是好好的。
我只是想在中间查入一条
if(counterspace==39)
{
      counterspace=counterspace+1;
}

gcc的时候就老是说我这行的counterspaced没有定义过。怎么回事啊?请高手指教。
搜索更多相关主题的帖子: 编译 gcc 变量 报错 
2009-08-12 21:04
西园竹
Rank: 5Rank: 5
等 级:职业侠客
帖 子:41
专家分:305
注 册:2009-8-8
收藏
得分:0 
if(counterspace==39)
{
      counterspace=counterspace+1;
}

gcc的时候就老是说我这行的counterspaced没有定义过。怎么回事啊?请高手指教。

是counterspace还是counterspaced啊
2009-08-12 21:13
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:2 
查看大括号齐吗,你的主函数少了一个,
不知道你是复制少了,你是加IF语句少加一个?

努力—前进—变老—退休—入土
2009-08-12 21:27
喜喜
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:31
专家分:35
注 册:2009-7-28
收藏
得分:18 
我找出的错误是结尾错误,在最后加个}就可以啦,粗心造成的,编程的时候小心点就可以啦!!!!
2009-08-12 23:10
ic06123
Rank: 2
等 级:论坛游民
帖 子:39
专家分:57
注 册:2009-9-2
收藏
得分:0 
3楼好厉害呀,处处都有帖子。。。
2009-09-05 21:44
一笑奈何
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-8-27
收藏
得分:0 
回复 3楼 UserYuH
他太厉害了!!
2009-09-06 12:28
快速回复:我要疯了,高手帮忙来看看,之前一直在用的变量,突然之间就说我没定义 ...
数据加载中...
 
   



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

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