| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 955 人关注过本帖
标题:求有调试能力的大神帮下忙,关于二叉树的程序...
只看楼主 加入收藏
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:7 
主函数里的

 for(choice=addone;choice<=cleanall;choice++)

是不对的

你的choice定义成了menu,怎么还在进行自加运算。。??!!

amazing。。。

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-13 14:30
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
对于上面这个问题,可以参考下面这个办法解决

http://zhidao.baidu.com/question/402363818.html


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-13 14:31
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
暂时就先看出这么多

楼主可以先改一下,看看是否还是会报错,

如果还有问题再把报错信息和新的代码帖出来

欢迎交流~~


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-13 14:33
那小扎
Rank: 1
来 自:长沙
等 级:新手上路
帖 子:21
专家分:9
注 册:2013-6-12
收藏
得分:0 
回复 13楼 蚕头燕尾
我使用的编译器是GCC,基本支持C99吧,至于这段代码在我的电脑里是不显示错误的,只是在运行时进行某一些步奏会直接崩溃;例如addone后deleteone 会直接崩溃,遍历也会,可能是存在一些逻辑上的错误 - -,反正我的编译器是发现不了,只能靠调试了,还有你提出的关于枚举型的问题,下面这段代码在我的编译器里是可以正常运行的;
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdbool.h>

enum allchoices {addone,deleteone,itemcount,search,showall,cleanall};
const char * choices[]={"addone","deleteone","itemcount","search","showall","cleanall"};

#define LEN 15
void menu(void);
void AddOne (void);
void DeleteOne(void);
void Itemcount(void);
void FindOne(void);
void ShowAll(void);
void CleanAll(void);

int main(void)
{
    char yourchoice[LEN];
    enum allchoices  choice;
    bool the_order_iseffective=false;

     menu();
    while(strcmp(gets(yourchoice),"quit")!=0&&yourchoice[0]!='\0')
    {
        for(choice=addone;choice<=cleanall;choice++)
        {
            if(strcmp(yourchoice,choices[choice])==0)
            {
                the_order_iseffective=true;
                break;
            }
        }
        if(the_order_iseffective)
            switch (choice)
        {
            case (addone): AddOne();
            break;
            case (deleteone):DeleteOne();
            break;
            case(itemcount):ItemCount();
            break;
            case(search):FindOne();
            break;
            case(showall):ShowAll();
            break;
            case(cleanall):CleanAll();
            break;

        }
        else
            printf("i don\'t know what the order mean!\n");
        the_order_iseffective=false;
        puts("next order\n");
         menu();

    }
    puts("good job\n");
    return 0;
}

void menu(void)
{
     puts("please chioce what do you want to to?\n");
     puts("enter \"addone\" to add a classmate.\n");
     puts("enter \"deleteone\" to delete a classmate\n");
     puts("enter \"itemcount\" to konw the number of your classmatas\n");
     puts("enter \"search\" to find your classmate\n");
     puts("enter\"showall\"to printf all of your classmates.\n");
     puts("enter \"cleanall\"to chean all items. \n");
     puts("enter \"quit\" to quit\n");
     return 0;
}

void AddOne (void)
{
    printf("just like this.\n");
}

void DeleteOne(void)
{
    printf("just like\n");
}

void Itemcount(void)
{
    printf("just like2\n");
}
void FindOne(void)
{
    printf("just like 3\n");
}

void ShowAll(void)
{
    printf("just like 4\n");
}

void CleanAll(void)
{
    printf("just clean all\n");
}

所以这方面应该不会出现问题;你的编译器可能不支持C99,不过添加下面代码应该可以通过编译的,
#define bool int
#define true 1
#define false 0
删除掉#include<stdbool.h>

[ 本帖最后由 那小扎 于 2013-6-14 12:33 编辑 ]

    将编写玩具式程序的趣味性与为实现功能而进行开发的艰难性区分开来!!
2013-06-14 12:28
快速回复:求有调试能力的大神帮下忙,关于二叉树的程序...
数据加载中...
 
   



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

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