| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 431 人关注过本帖
标题:请高手指点此程序错在哪?
只看楼主 加入收藏
seekdream
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-28
结帖率:0
收藏
已结贴  问题点数:5 回复次数:5 
请高手指点此程序错在哪?
数据结构基础里的一个习题答案,但总有一个错误。

程序如下:
#include <stdio.h>
#include <string.h>

typedef struct {double length, width;} rectStuff;
typedef struct {double base, height;} triStuff;

typedef struct {
    char name[10];
    enum tagField {rectangle, triangle, circle} shapeType;
    union {
        rectStuff rect;
        triStuff tri;
        double radius;
    } stats;
}shape;

void printShape(shape);

int main()
{
  shape s1, s2, s3;
  strcpy(s1.name, "rectangle");
  s1.shapeType = rectangle;//error C2065: 'rectangle' : undeclared identifier   提示出错在这里
  s1.stats.rect.length = 10;
  s1.stats.rect.width = 20;
  strcpy(s2.name, "triangle");
  s2.shapeType = triangle;
  s2.stats.tri.base = 102;
  s2.stats.tri.height = 450;
  strcpy(s3.name ,"circle");
  s3.stats.radius = 2.5;
/*  printf("%f\n",s3.stats.radius);*/
  printShape(s1);
  printShape(s2);
  printShape(s3);
  
}

void printShape(shape s)
{/*print out the information on a shape */
   printf("Name: %s\n", s.name);
   switch(s.shapeType){
      case rectangle:   
        printf("\tLength:%f\n", s.stats.rect.length);
        printf("\tWidth:%f\n\n", s.stats.rect.width);
        break;
     case triangle:   
        printf("\tBase:%f\n", s.stats.tri.base);
        printf("\tHeight:%f\n\n", s.stats.tri.height);
        break;
    case circle:   
        printf("Radius:%f\n",s.stats.radius);
        break;
    }
}


[ 本帖最后由 seekdream 于 2011-5-28 16:13 编辑 ]
搜索更多相关主题的帖子: 答案 
2011-05-28 16:01
seekdream
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-28
收藏
得分:0 
本题是让定义矩形、三角形、圆三种几何结构体(rectangle、triangle、circle)
2011-05-28 16:04
vc2gcc
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2011-5-28
收藏
得分:2 
s3没有shapeType,所以switch()直接跳出。
2011-05-28 16:09
seekdream
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-28
收藏
得分:0 
回复 3楼 vc2gcc
加上去,运行还是不对
还是提示:error C2065: 'rectangle' : undeclared identifier
困惑啊
2011-05-28 16:15
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
非要用枚举干嘛呀

                                         
===========深入<----------------->浅出============
2011-05-28 17:36
askcxk
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2011-3-1
收藏
得分:2 
出错提示的很明白了,rectangle 未定义.  是变量?还是函数?
2011-05-29 02:24
快速回复:请高手指点此程序错在哪?
数据加载中...
 
   



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

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