| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 959 人关注过本帖
标题:求教用VS2012编译不出来 大部分代码是老师给的 自己补了一些空 说是变量BT ...
取消只看楼主 加入收藏
yew2012
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:30
专家分:2
注 册:2012-11-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求教用VS2012编译不出来 大部分代码是老师给的 自己补了一些空 说是变量BT未初始化
#include <stdio.h>
#include <iostream>
using namespace std;
#include <stdlib.h>
#include "string.h"
#define num 100
typedef char datatype;
typedef struct node
{
    datatype data;
    struct node *leftchild;
    struct node *rightchild;
}BinTNode;
typedef BinTNode *BinTree;
//按照完全二叉树的顺序,构建二叉树
BinTree CreateBinTree(BinTree bt)
{/*Q[1..n]是BinTNode 类型的指针,front 和rear 是队头指针和队尾指针*/
    BinTNode *Q[num];
    BinTNode *s;
    int front,rear;
    char ch;
    ch=getchar();
    bt=NULL;
    front=1;
    rear=0;
    while(ch!='#')
    {
        s=NULL;
        if (ch!='@')
        {
            s=new BinTNode;
            s->data=ch;
            s->leftchild=NULL;
            s->rightchild=NULL;
        }
        rear++;
        Q[rear]=s;
        if (rear==1)
            bt=s;
        else
        {
            if(s!=NULL && Q[front]!=NULL)
            {
                if(rear==2*front)
                    Q[front]->leftchild=Q[rear];
                else
                    Q[front]->rightchild=Q[rear];
            }
        }
        if(rear==2*front+1)
        {
            front++;
        }
        
        ch=getchar();
    }
    return bt;
}
//前序遍历二叉树
void preorder(BinTree bt)
{
    if(bt)
    {
        cout<<bt->data;
        preorder(bt->leftchild);
        preorder(bt->rightchild);
    }
}
//中序遍历二叉树
void inorder(BinTree bt)                                                                                          
{
    if(bt)
    {   
        inorder(bt->leftchild);
        cout<<bt->data;
        inorder(bt->rightchild);
    }
}
//后序遍历二叉树
void postorder(BinTree bt)
{
    if(bt)
    {
        postorder(bt->leftchild);
        postorder(bt->rightchild);
        cout<<bt->data;
    }
}
//主函数
void main()
{
    BinTree bt;
    int xz=1;
    while(xz)
    {
        cout<<endl;
        cout<<" Binary Tree Traverse "<<endl;
        cout<<"========================================"<<endl;
        cout<<" 1.Create Binary Tree Structure "<<endl;
        cout<<" 2.Pre Order "<<endl;
        cout<<" 3.In Order "<<endl;
        cout<<" 4.Post Order "<<endl;
        cout<<" 0.Exit "<<endl;
        cout<<" Please Slect: 0-4: "<<endl;
        cin>>xz;
        cout<<endl;
        switch(xz)
        {
            case 1:
            cout<<"input value for perfect binary tree: "<<endl;
            bt=CreateBinTree(bt);
            cout<<"the binary tree structure is created "<<endl;
            break;
            case 2:
            cout<<"The pre order is: ";
            preorder(bt);
            cout<<endl;
            break;
            case 3:
            cout<<"The in order is: ";
            inorder(bt);
            cout<<endl;
            break;
            case 4:
            cout<<"The post order is: ";
            postorder(bt);
            cout<<endl;
            break;
            case 0:
            xz=0;
            return;
        }
    }
}
搜索更多相关主题的帖子: include 二叉树 
2013-11-14 23:09
yew2012
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:30
专家分:2
注 册:2012-11-23
收藏
得分:0 
1>------ 已启动生成: 项目: Project31, 配置: Debug Win32 ------
1>  源.cpp
1>e:\documents\visual studio 2012\projects\project31\project31\源.cpp(131): error C2561: “main”: 函数必须返回值
1>          e:\documents\visual studio 2012\projects\project31\project31\源.cpp(90) : 参见“main”的声明
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
  改为int 之后成了这个

菜鸟飘过
2013-11-15 14:17
yew2012
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:30
专家分:2
注 册:2012-11-23
收藏
得分:0 
我感觉 问题出在 怎么初始化这个bt  但是我不是很懂 怎么初始化它   我们老师用VC6  这个程序好像能用

菜鸟飘过
2013-11-15 14:31
yew2012
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:30
专家分:2
注 册:2012-11-23
收藏
得分:0 
用void 的话  后面返回值 可以不写 用了 int  的话 后面返回值改为0  
他们都是还有一个错误 那就是
1>------ 已启动生成: 项目: Project34, 配置: Debug Win32 ------
1>  源.cpp
1>e:\documents\visual studio 2012\projects\project34\project34\源.cpp(111): error C4700: 使用了未初始化的局部变量“bt”
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
我感觉 用int  和void  不是问题 而是  它怎么初始化吧

菜鸟飘过
2013-11-16 21:16
快速回复:求教用VS2012编译不出来 大部分代码是老师给的 自己补了一些空 说是变 ...
数据加载中...
 
   



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

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