| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1899 人关注过本帖
标题:从文件中循环读入一个结构体
只看楼主 加入收藏
zm6384
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-1-2
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
从文件中循环读入一个结构体
#include <stdio.h>
#include <stdlib.h>
#define A 5000   

struct Date
{
    int d_yy;
    int d_mm;
    int d_dd;
};
struct Time
{
    int t_hh;
    int t_mm;
};
struct Attendance
{
    int r_num;
    int d_num;
    char r_name[100];
    Date d_date;
    Time d_time;
    char d_way[100];
    int s_num;
    char d_sign[100];
    char c_name[20];
}att[A];
void dislpay(int, Attendance *);
void main()
{
    FILE *fp;   
    Attendance *p;
    p = att;
    if ((fp = fopen("考勤记录.txt", "r")) == NULL)
    {
        printf("canot open the file!\n");
        exit(0);
    }
    int m = 0;
    while (!feof(fp))
    {
        fscanf(fp, "%d%d%s", &att[m].r_num, &att[m].d_num, &att[m].r_name);
        fscanf(fp, "%d%d%d", &att[m].d_date.d_yy, &att[m].d_date.d_mm, &att[m].d_date.d_dd);
        fscanf(fp, "%d%d", &att[m].d_time.t_hh, &att[m].d_time.t_mm);
        fscanf(fp, "%s%d", &att[m].d_way, &att[m].s_num);
        fscanf(fp, "%s%s", &att[m].d_sign, &att[m].c_name);
        m++;
    }
    dislpay(m,p);
    fclose(fp);
}

void dislpay(int n,Attendance *h)
{
    int i;
    printf("人员编号\t登记号码\t姓名\t刷卡日期\t刷卡时间\t签到方式\t设备编号\t上下班标志\t操作员\n");
    for (i = 0; i < n; i++)
    {
        printf("%d\t%d\t%s\t%d/%d/%d\t%d:%d\t%s\t%d\t%s\t%s\n",h[i].r_num,h[i].d_num,h[i].r_name,h[i].d_date.d_yy,h[i].d_date.d_mm,h[i].d_date.d_dd,h[i].d_time.t_hh,h[i].d_time.t_mm,h[i].d_way,h[i].s_num,h[i].d_sign,h[i].c_name);
    }
}



我写的这个程序循环中只进行了一次
搜索更多相关主题的帖子: include 结构体 
2017-01-06 22:26
zm6384
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-1-2
收藏
得分:0 
哪位大神能帮我看一下,谢谢
2017-01-06 22:26
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:7 
没内容,不好调耶~~发文件内容~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-06 22:56
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:7 
关键要看“考勤记录.txt”文件是怎样生成的,就是要知道文件里的数据结构。
2017-01-07 06:17
xiajingran
Rank: 2
等 级:论坛游民
帖 子:32
专家分:28
注 册:2016-12-14
收藏
得分:7 
看不懂

小程序大智慧
2017-01-07 14:52
zm6384
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-1-2
收藏
得分:0 
回复 3楼 九转星河
人员编号 登记号码 姓名 刷卡日期 刷卡时间 签到方式 设备编号 上下班标志 操作员
8 8 ZHANGZT 2014/3/31 8:28 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/3/31 21:03 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/1 7:12 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/1 12:04 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/2 17:35 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/3 14:00 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/8 7:37 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/8 18:19 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/9 12:21 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/10 13:59 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/14 8:27 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/15 7:44 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/16 13:58 指纹 1 上班/下班 sa        
8 8 ZHANGZT 2014/4/17 12:06 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/3/31 8:27 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/3/31 8:40 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/3/31 12:03 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/1 8:25 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/1 12:05 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/1 20:22 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/2 8:29 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/2 8:40 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/2 17:33 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/2 20:34 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/3 8:30 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/3 11:59 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/3 17:43 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/3 20:19 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/4 8:28 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/4 12:03 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/4 13:56 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/4 20:34 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/8 8:27 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/8 12:41 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/8 14:04 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/8 18:04 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/9 8:24 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/9 12:15 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/9 13:57 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/9 18:35 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/10 8:24 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/10 12:02 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/10 13:54 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/10 20:13 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/11 8:28 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/11 13:50 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/11 16:37 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/14 8:26 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/14 12:02 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/14 18:27 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/15 8:33 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/15 20:02 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/16 8:25 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/16 17:32 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/16 20:02 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/17 8:20 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/17 12:11 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/17 17:44 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/18 8:32 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/18 17:36 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/24 8:33 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/24 17:33 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/25 8:38 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/25 12:00 指纹 1 上班/下班 sa        
10 10 LIJJ 2014/4/25 16:33 指纹 1 上班/下班 sa        
11 11 QUEX 2014/3/31 8:19 指纹 1 上班/下班 sa        
11 11 QUEX 2014/3/31 12:01 指纹 1 上班/下班 sa        
11 11 QUEX 2014/3/31 13:55 指纹 1 上班/下班 sa        
11 11 QUEX 2014/3/31 17:42 指纹 1 上班/下班 sa        
11 11 QUEX 2014/3/31 20:39 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/1 8:19 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/1 12:07 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/1 14:03 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/1 17:40 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/1 20:02 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/2 8:19 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/2 12:03 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/2 13:41 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/2 17:32 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/3 8:32 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/3 12:00 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/3 14:00 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/3 17:43 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/4 8:28 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/4 12:05 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/4 13:40 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/4 17:35 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/8 8:25 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/8 12:06 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/8 13:58 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/8 17:45 指纹 1 上班/下班 sa        
11 11 QUEX 2014/4/8 21:15 指纹 1 上班/下班 sa   


这种文件,它里面还有很多,我写的这个程序文件读入结构体数组时,有些没有存进去
2017-01-07 22:56
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
先改这几个试试:
typedef struct _Date_
{
    int d_yy;
    int d_mm;
    int d_dd;
} Date;

typedef struct _Time_
{
    int t_hh;
    int t_mm;
}Time;

typedef struct _Attendance_
{
    int r_num;
    int d_num;
    char r_name[100];
    Date d_date;
    Time d_time;
    char d_way[100];
    int s_num;
    char d_sign[100];
    char c_name[20];
} Attendance;

Attendance att[A];
2017-01-07 23:07
快速回复:从文件中循环读入一个结构体
数据加载中...
 
   



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

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