| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 499 人关注过本帖
标题:小白编程 出现定义非法 求指点
只看楼主 加入收藏
xiaoyugezi
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
小白编程 出现定义非法 求指点
#include"sj.h"   //调用自定义库文件
//队列的基本运算
typedef char ElemType;
typedef struct
{
    ElemType elem[MAXSIZE] ;     //数据的存储区
    int front,rear;               //队头队尾指针
}
CirSeQueue;           //循环队列
CirSeQueue sq;
void   Init_SeQueue(CirSeQueue *sq)
{
    sq->front=sq->rear=0 ;
}
Status Empty_SeQueue(CirSeQueue *sq)
{
    if  (sq->front==sq->rear)  return TRUE;
    else return FALSE;
}
Status Empety_SeQueue(CirSeQueue  *sq, ElemType  x)
{
    if((sq->rear+1)  %MAXSIZE==sq->front)
    {
        printf("队满!\n");
        return OVERFLOW;     //队满不能入队
    }
    else
    {
        sq->elem[sq->rear]=x;
        sq->rear=(sq->rear+1)  %  MAXSIZE  ;
        return OK;    //入队完成
    }
    Status Out_SeQueue (CirSeQueue  *sq , ElemType *y)
    {
        if (Empty_SeQueue(sq) )
        {
        printf("队空!\n");
        return OVERFLOW;    //队空不能出队
        }
        else
        {
            *y=sq->elem[sq->front];   //读出队头元素
            sq->front=(sq->front+1) % MAXSIZE;
            return OK;   }   //出队完成
    }
    void print_SeQueue(CirSeQueue  *sq)       //输出队列里的元素
    {
        int i;
        printf("队列成员:   \n");
        for(i=sq->front;i<=sq->rear-1;i++)
        printf("%c ",sq->elem[i]);
        printf("\n");
    }
    void InQue_Op()
    {//入队操作
        char ch_x;         
        int i;
        getchar();
        printf("输入一个入队的字符(如果字符是'0'输入结束)\n");
        scanf("%c,&ch_x);
        while(ch_x!='0')
            if (In_SeQueue(&sq  ,ch_x)==  OVERFLOW)
            {
                printf("入队失败!\n"); return;}
            else
            {
                printf("入队成功!\n输入一个入队的字符\n");
                getchar();
                scanf("%c",&ch_x);
            }
    }
    void OutQue_Op()
    {//出队操作
        char e,ch_y;
        getcher();
        printf("如果想进行出对操作,请按空格键然后回车!\n");
        scanf("%c",&ch_y);
        while(ch_y==' ')
        {
            printf("出队操作成功!\n");
            printf("出队的字符是%c\n",e);
            getchar();
            scanf("%c",&ch_y);
        }
        else return;
    }
}
void main()
{
    int i,flag=1;
    Init_SeQueue(&sq);
    while(flag)
    {
        printf("请选择操作:  1---入队, 2----出队; 0---退出程序: \n");
        scanf("%d",&flag);
        switch(flag)
        {
        case  0: Print_SeQueue(&sq);
        printf("\n程序结束\n");
        return;
        case 1: InQue_Op(); break;
        case 2: OutQue_Op(); break;
        default:printf("请选择的操作无效\n"); break;
        }
    }
}


就是这段程序  还有一个头文件  改了很多次 就是对着书本敲的 可还是说定义非法 不知道怎么改了  急死我了  版主大侠快来救救我这苦命的娃把
搜索更多相关主题的帖子: 编程 include return 
2013-04-10 19:32
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
在仔细看看吧,抄都抄错,这种问题拿出来问,我无语

Status Empety_SeQueue(CirSeQueue  *sq, ElemType  x) 这个函数的大括号对应吗?
void OutQue_Op() 后面莫名其妙多个else 什么意思?


等等,

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-04-13 11:20
快速回复:小白编程 出现定义非法 求指点
数据加载中...
 
   



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

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