| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 506 人关注过本帖
标题:链式存储结构队列(程序编辑出现错,寻求高手帮助!谢谢了!)
只看楼主 加入收藏
a597910538
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2011-5-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
链式存储结构队列(程序编辑出现错,寻求高手帮助!谢谢了!)
这个程序有有多处问题,因为对这种结构写出来的程序不掌握的非常不好!试了很久还是没有把这个程序给更正过来!
如有回复的前辈,请指出我出错的地方以及原因!在此,我先谢谢各位帮助我的前辈们了!
/*----------------链式队列(生产计划)-------------------*/
#include<stdio.h>
#include<malloc.h>
#define maxsize 100
typedef struct node1
{
    char data;
    struct node1 *next;
}LINKQLIST;

typedef struct
{
    LINKQLIST *front,*rear;
}production;//生产
void initlinkqueuep(production *q)//初始化
{
    q->front=malloc(sizeof(LINKQLIST));
    (q->front)->next="";
    q->rear=q->front;
}
char getlinkfrnetp(production *q)//数据读取
{
    char v;
    if(q->front==q->rear)
        printf("没有生产计划\n");
    else
        v=(q->front)->next->data;
    return v;
}

void enlinkqueuep(production *q,int x)//插入数据
{
    (q->rear)->next=malloc(sizeof(LINKQLIST));
    q->rear=(q-rear)->next;
    (q->rear)->next=NULL;
}
void main()//这个主函数的功能是  初始化队列===》将一组数据存入队列中===》输出队列中的数据
{
    int i;
    char ch="";
    initlinkqueuep(q);
    printf("初始化成功!\n");
    printf("请输入生产计划:");
    for(i=0;i<maxsize;i++)
    {
        scanf("%3c",&ch);
        if(ch='\n')
            break;
        else
            enlinkqueuep(ch,i);
    }
    printf("返回值:");
    for(i=0;i<maxsize;i++)
    {
        ch=getlinkfrnetp(q);
        printf("%2c",ch);
    }
}
搜索更多相关主题的帖子: 编辑 
2011-06-03 19:55
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:20 
程序代码:
#include<stdio.h>
#include<malloc.h>
#define maxsize 100
typedef struct node1
{
    char data;
    struct node1 *next;
}LINKQLIST;

typedef struct
{
    LINKQLIST *front,*rear;
}production;//生产
void initlinkqueuep(production *q)//初始化
{
    q->front=malloc(sizeof(LINKQLIST));
    (q->front)->next="";
    q->rear=q->front;
}
char getlinkfrnetp(production *q)//数据读取
{
    char v;
    if(q->front==q->rear)
        printf("没有生产计划\n");
    else
        v=(q->front)->next->data;
    return v;
}

void enlinkqueuep(production *q,int x)//插入数据
{
    (q->rear)->next = malloc(sizeof(LINKQLIST));
    q->rear=(q->rear)->next;
    (q->rear)->next=NULL;
}
int  main()//这个主函数的功能是  初始化队列===》将一组数据存入队列中===》输出队列中的数据
{
    production *q;
    int i;
    char ch="";
    initlinkqueuep(q);
    printf("初始化成功!\n");
    printf("请输入生产计划:");
    for(i=0;i<maxsize;i++)
    {
        scanf("%3c",&ch);
        if(ch='\n')
            break;
        else
            enlinkqueuep(ch,i);
    }
    printf("返回值:");
    for(i=0;i<maxsize;i++)
    {
        ch=getlinkfrnetp(q);
        printf("%2c",ch);
    }
    return 0;
}

。。。!!!)))000
2011-06-03 22:48
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:0 
void enlinkqueuep(production *q,int x)//插入数据
{
    (q->rear)->next=malloc(sizeof(LINKQLIST));
    q->rear=(q-rear)->next;//q(->rear)里面箭头漏了
    (q->rear)->next=NULL;
}


int  main()//这个主函数的功能是  初始化队列===》将一组数据存入队列中===》输出队列中的数据
{
    production *q;  //加上声明啊
    int i;
    char ch="";
    initlinkqueuep(q);
    printf("初始化成功!\n");
    printf("请输入生产计划:");


经过这样的改是通过编译了。但是我想运行应该是错误的吧。但是你想要得到什么结果呢?说清楚要求才好改啊。




。。。!!!)))000
2011-06-03 22:54
a597910538
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2011-5-21
收藏
得分:0 
回复 3楼 木头lbj
谢谢大大的回复啊!希望你继续更近
写这个程序主要是输入一串字符存入队列(每个个字符都是通过对“入队函数”的调用将字符一个一个的存入队列中),然后按照队列的先进先出的规则将输入的数据再进行输出!
则个函数中一共有三个函数(初始化、入队、出队),想必大大已经看到了吧!在我编译是时候初现的错误主要是函数的定义中出现错误!
2011-06-04 17:12
快速回复:链式存储结构队列(程序编辑出现错,寻求高手帮助!谢谢了!)
数据加载中...
 
   



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

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