| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 832 人关注过本帖
标题:[求助]这程序怎么运行不了?
只看楼主 加入收藏
xiangberlin
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2011-2-22
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:17 
[求助]这程序怎么运行不了?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
typedef struct sell
{
    int product[6];
    int seller;
    float sales[6];    /*销售额*/
    float sum;
    int order;
    struct sell *next;
}SELLER;
SELLER *creat()
{
    int i;
    float s;
    SELLER *h=NULL,*info;             /*h:头结点指针;info:新结点指针*/
    for(;;)
    {
        info=(SELLER *)malloc(sizeof(SELLER));  /*申请空间*/
        if(!info)                                 /*如果指针info为空*/
        {
             printf("\n内存分配失败");                 
             return NULL;                         /*返回空指针*/
        }
        printf("\n请按如下提示输入相关信息.\n\n");
        printf("请输入销售员代号:");
        scanf("%d",info->seller);              /*输入销售员代号*/
        printf("请输入产品代号:");            
        scanf("%d",info->product);             /*输入产品代号*/
        printf("请输入5种产品的销售额:");   
        s=0;                                      /*计算每个销售员的销售额,初值为0*/
        for(i=0;i<6;i++)                          
        {
            do
            {
                printf("sales[%d]:",i);                 /*提示输入第几种产品*/
                scanf("%ld",&info->sales[i]);            /*输入销售额*/
                if(info->sales[i]<0)                    /*确保销售额大于等于0*/
                    printf("非法数据,请重新输入!\n");      /*出错提示信息*/
            }while(info->sales[i]>=0);
            s=s+info->sales[i];                        /*累加5种产品销售额*/
        }
        info->sum=s;               /*将总销售额保存*/
        info->order=0;             /*未排序前此值为0*/
        info->next=h;              /*将头结点做为新输入结点的后继结点*/
        h=info;            /*新输入结点为新的头结点*//*没排序前,后输入的数据将排在最上*/
    }
    return(h);                    /*返回头指针*/
}
main()
{
    SELLER *creat();
}
搜索更多相关主题的帖子: 销售额 空间 
2011-02-24 17:04
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:1 
你这样问我都不知道怎么帮你解决问题

免费赠送河蟹一只
2011-02-24 17:07
xiangberlin
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2011-2-22
收藏
得分:0 
你的电脑不能调试吗?
2011-02-24 17:29
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:1 
main()
{
    SELLER *creat();
}
楼主,这是什么意思啊?
在主函数里根本就没有调用creat()函数,什么都没有做啊,当然什么输出也没有啦!

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-24 17:38
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
收藏
得分:1 
楼上正解。

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2011-02-24 18:00
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
收藏
得分:1 
你应该指出错误提示,这么长串错误代码只有高高手才会看的
2011-02-24 18:02
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:1 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
struct sell
{
    int product[6];
    int seller;
    float sales[6];    /*销售额*/
    float sum;
    int order;
    struct sell *next;
};
struct sell *creat()  //注意了,好好思考。
{
    int i;
    float s;
    struct sell *h=NULL,*info;             /*h:头结点指针;info:新结点指针*/
    for(;;)
    {
        info=(struct sell*)malloc(sizeof(struct sell));  /*申请空间*/
        if(!info)                                 /*如果指针info为空*/
        {
             printf("\n内存分配失败");                 
             return NULL;                         /*返回空指针*/
        }
        printf("\n请按如下提示输入相关信息.\n\n");
        printf("请输入销售员代号:");
        scanf("%d",&info->seller);              /*输入销售员代号*/
        printf("请输入产品代号:");            
        scanf("%d",&info->product);             /*输入产品代号*/
        printf("请输入5种产品的销售额:");   
        s=0;                                      /*计算每个销售员的销售额,初值为0*/
        for(i=0;i<6;i++)                          
        {
            do
            {
                printf("sales[%d]:",i);                 /*提示输入第几种产品*/
                scanf("%ld",&info->sales[i]);            /*输入销售额*/
                if(info->sales[i]<0)                    /*确保销售额大于等于0*/
                    printf("非法数据,请重新输入!\n");      /*出错提示信息*/
            }while(info->sales[i]>=0);
            s=s+info->sales[i];                        /*累加5种产品销售额*/
        }
        info->sum=s;               /*将总销售额保存*/
        info->order=0;             /*未排序前此值为0*/
        info->next=h;              /*将头结点做为新输入结点的后继结点*/
        h=info;            /*新输入结点为新的头结点*//*没排序前,后输入的数据将排在最上*/
    }
    return h;                    /*返回头指针*/
}
void main()
{
    creat();
}
你的程序乱得很!我帮你改动了一些,余下的看你自己了。如果能运行,估计结果也不会对,要帮你改还不如帮你写了

   唯实惟新 至诚致志
2011-02-24 18:43
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
收藏
得分:0 
回复 7楼 qq1023569223
楼主的写法
typedef struct sell
...
没有问题的啊。而且这是一种比较提倡的方法。
其实,楼主在main()中出现的内容,将被C看成是对creat()函数的声明。
这应该是楼主的主要误区吧。
另外,这个程序对于内存是“只借不还”,这不是良好的编程习惯。

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-02-24 18:54
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:1 
看样子确实是调用出问题了。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-02-24 18:57
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
收藏
得分:0 
7楼误解,8楼正解。

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2011-02-24 19:29
快速回复:[求助]这程序怎么运行不了?
数据加载中...
 
   



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

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