标题:关于文件读取问题
只看楼主
fdluli
Rank: 2
等 级:论坛游民
帖 子:16
专家分:27
注 册:2011-10-2
结帖率:100%
已结贴  问题点数:10 回复次数:5 
关于文件读取问题
typedef struct employee//职工基本情况
{
    char name1[8];//姓名
    char sex[2];//性别mm为女gg为男
    char age[2];//年龄
    char position[10];//职位1为董事长2为总经理3为副总经理等
    char cult[10];//学历1为专家2为博士3为硕士4为学士5为其他
    char salary[10];//工资
    char zhuzhi[20];//家庭住址
    char day1[10];//工作年月
    char tel[20];//电话号码
}zg;     
 文件包含的是一个结构体数据
nba mm 20  董事长 专家 10000 fd 2012.1.1 110

读出来时 会显示
姓名:nba
性别:mm20董事长
年龄:20董事长
职位:董事长
学历:专家
这是怎么回事  求高手指教???   
搜索更多相关主题的帖子: 总经理 专家 employee position 董事长 
2012-05-27 11:38
jianyuling00
Rank: 3Rank: 3
来 自:琼州学院
等 级:论坛游侠
帖 子:89
专家分:177
注 册:2012-3-17
得分:5 
你只给个结构体,怎么看,关键的读取部分呢


耍我进来阿
2012-05-27 11:43
fdluli
Rank: 2
等 级:论坛游民
帖 子:16
专家分:27
注 册:2011-10-2
得分:0 
回复 2楼 jianyuling00
void output2()//显示指定职工信息
{
    FILE *fp;
    zg emx;
    int i=0,n;
    char name2[8],ch='y';
    while(1)
    {
        if((fp=fopen("1.txt","r"))==NULL)
        {
            printf("不能够打开文件,按任意键返回\n");
            getch();
            return;
        }
        n=0;
        printf("请你输入要查询的人的姓名:");
        scanf("%s",name2);
        for(i=0;i<total;i++)
        {
            if(strcmp(name2,em[i].name1)==0) /*找到,并显示该职工记录*/
            {   
                    n=1;
                    printf("以下是你要查询的人的信息\n");     
               
                    printf("姓名: %s\n",em[i].name1);
               
                    printf("性别: %s\n",em[i].sex);
            
                    printf("年龄: %s\n",em[i].age);
                    
                    printf("职位: %s\n",em[i].position);         
            
                    printf("文化程度:%s \n",em[i].cult);  
            
                    printf("工资: %s\n",em[i].salary);
            
                    printf("住址: %s\n",em[i].zhuzhi);// 工作年月
            
                    printf("工作年月:%s\n",em[i].day1);
               
                    printf("电话号码:%s\n",em[i].tel);         
                    printf("查询完毕\n");
                    fclose(fp);
                    break;   
            }                           
        }
        if(n==0)
            printf("对不起,该人信息不存在\n");
        printf("是否继续查询?(y/n):\n");
        
        while(ch=='y')        
        {
                scanf("%s",&ch);
            if(ch=='n')
            {
                printf("任意键返回\n");
                getch();
                return;
            }
            else if(ch=='y')
                break;
            else
            {
                printf("输入错误,请重新输入:\n");
                scanf("%c",&ch);
            }
        }
        
    }
   
}
额、不好意思、这是读取部分代码、
2012-05-27 11:50
fdluli
Rank: 2
等 级:论坛游民
帖 子:16
专家分:27
注 册:2011-10-2
得分:0 
em是前面声明的全局变量  结构体数组
2012-05-27 11:51
jianyuling00
Rank: 3Rank: 3
来 自:琼州学院
等 级:论坛游侠
帖 子:89
专家分:177
注 册:2012-3-17
得分:5 
回复 4楼 fdluli
我不知道你完全的代码,只能粗略改一下,这样

char *sex;//性别mm为女gg为男
char *age;//年龄


2012-05-27 15:43
fdluli
Rank: 2
等 级:论坛游民
帖 子:16
专家分:27
注 册:2011-10-2
得分:0 
回复 5楼 jianyuling00
我已经解决了,是字符长度问题  不过还是谢谢啦
2012-05-27 19:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-368105-1-1.html




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

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