| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1145 人关注过本帖
标题:求助:给结构体指针赋值的问题
只看楼主 加入收藏
铃铛侠
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-4
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:1 
求助:给结构体指针赋值的问题
  我做的是订餐系统中给未完成的订单按时间排序的部分。
  为了测试程序,在源文件中我给结构体赋了值。为了比较时间,我将12:34这样时间量用sscanf读成秒,但是不知道怎么将秒的量赋给结构体,
我在网上查找到的方法程序执行不了,向论坛的大神求助!
  如果有更简单的比较时间的方法也请告诉我,以及请问180行和182行方框内的部分有什么用,冒泡排序这里不应该是p<n之类的条件吗?
  因为是在网上查的,我也不知道这个是怎么生效的...
  还请不吝赐教!
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册


下面的图不大清晰:
void time()
{
   struct dingdan t,*info,*p,*q;
   p=info=example;
   char buf1[10];  
   char buf2[10];  
   int time1,a=60,j;
   sscanf(info->shijian, "%[^:]:%[^:]", buf1, buf2);   
   time1=60*atoi(buf1)+atoi(buf2);
  
   
   for(j=0;j<4;j++)
   {
        sscanf(info->shijian, "%[^:]:%[^:]", buf1, buf2);
     time1=60*atoi(buf1)+atoi(buf2);
     info->shijian[j]=(struct dingdan*)calloc(1, sizeof(struct dingdan));
     sprintf(info->shijian[j],time1);
   }
  

   for(p=info;(p+1)->shijian;p++)
    {
        for(q=p+1;q->shijian;q++)
        {
            if(p->shijian<q->shijian)
            {
                   t=*p;
                *p=*q;
                *q=t;
            
            }
        }
    }

[此贴子已经被作者于2016-9-8 02:54编辑过]

搜索更多相关主题的帖子: 网上 订餐 源文件 结构体 
2016-09-08 02:50
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:10 
如果 是想通过时间排序,你可以用strcmp这个函数。
前提是时间以字符的方式存方。

看到“不知道怎么将秒的量赋给结构体”你问这句,我就想反问一句,你是怎么将小时和分钟存入结构体的。
“以及请问180行和182行方框内的部分有什么用”,这个跳出循环用的,必须是布尔变量。说简单点,它的值只能是1或者0;


不理解180行和182行就看看下面的代码:
#include <stdio.h>

int main()
{
    int k[10]={1,2,3,4,5,6,7,8,9,0};
    int i;
    for(i=0;k[i];i++)
    {
        printf("%d\t",k[i]);
    }
    return 0;
}

[此贴子已经被作者于2016-9-8 08:50编辑过]

2016-09-08 08:49
快速回复:求助:给结构体指针赋值的问题
数据加载中...
 
   



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

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