| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 327 人关注过本帖
标题:为什么这个程序读不了文件呢,出错了!
只看楼主 加入收藏
yunfeishizhe
Rank: 2
等 级:论坛游民
帖 子:40
专家分:54
注 册:2010-4-3
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
为什么这个程序读不了文件呢,出错了!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define  NUMB_RECS  30
#define  LNAME_SIZE  25
#define  FNAME_SIZE  25
#define  PNUM_SIZE   12
#define  MAX_REC_SIZE  (LNAME_SIZE+FNAME_SIZE+PNUM_SIZE)
#define  NO_FIND     (-999)
#define  BLANK   ' '
void  selection_sort(char array[][MAX_REC_SIZE+2],int size1);
 void     twapt(char array[][MAX_REC_SIZE+2],int current,int low);
 int  binary_search(char candidate[],char array[][MAX_REC_SIZE+2],int size);
main()
{
    char students[NUMB_RECS][MAX_REC_SIZE+2];
    char candidate[LNAME_SIZE+2];
    int cand_len;
    int index;
    int i;
    FILE *fp;
    fp=fopen("students.dat","r");
    for(i=0;i<NUMB_RECS;++i)
        fgets(students[i],MAX_REC_SIZE+2,fp);
    selection_sort(students,NUMB_RECS);
    printf("\n\nEnter a students name, or signal EOF to halt");
        while (fgets(candidate,LNAME_SIZE+2,stdin)!=NULL){
            cand_len=strlen(candidate)-1;
            for(i=cand_len;i<LNAME_SIZE;i++)
                candidate[i]=BLANK;
            candidate[LNAME_SIZE]='\0';
            index=binary_search(candidate,students,NUMB_RECS);
            if(index!=NO_FIND)
                printf("\nRecord:  %s",students[index]);
            else {
                candidate[cand_len]='\0';
                printf("\n\t%s  is  not  in our directory.",candidate);
            }
            printf("\n\nEnter a student's name,or signal EOF to halt:");
        }
        return EXIT_SUCCESS;
}
void selection_sort(char array[][MAX_REC_SIZE+2],int size1)
{
    int smallest_index;
    int i,j;
    for(i=0;i<size1-1;++i){
        smallest_index=i;
        for(j=i+1;j<size1;++j)
            if(strcmp(array[j],array[smallest_index])<0)
                smallest_index=j;
            if(i!=smallest_index)
                twapt(array,i,smallest_index);
    }
}
void twapt(char array[][MAX_REC_SIZE+2],int current,int low)
{
    char temp[MAX_REC_SIZE+2];
    strcpy(temp,array[current]);
    strcpy(array[current],array[low]);
    strcpy(array[low],temp);
}

   int binary_search(char candidate[],char array[][MAX_REC_SIZE+2] ,int size)
   {
       int first=0;
       int last=size-1;
       int mid;
       int flag;
       while (first<=last){
           mid=(first+last)/2;
           flag=strncmp(candidate,array[mid],LNAME_SIZE);
           if(flag==0)
               return mid;
           if(flag>0)
               first=mid+1;
           else
               last=mid-1;
       }
       return NO_FIND;
   }
出现了这个图像
图片附件: 游客没有浏览图片的权限,请 登录注册

各位高手帮帮忙啊啊

                  
                              


搜索更多相关主题的帖子: 文件 
2010-04-04 16:58
ltyjyufo
Rank: 9Rank: 9Rank: 9
来 自:未来
等 级:蜘蛛侠
威 望:2
帖 子:353
专家分:1166
注 册:2009-10-25
收藏
得分:10 
students.dat这个文件要放在你建的工程的文件夹里面才能读出来

翱翔天空的雄鹰固然令人羡慕,却容易被禁锢于牢笼之中,只有那夜色中的蝙蝠才是真正自由的飞翔者....
2010-04-04 18:42
yunfeishizhe
Rank: 2
等 级:论坛游民
帖 子:40
专家分:54
注 册:2010-4-3
收藏
得分:0 
还是不行啊,我的系统是win7的,VC++6.0,可以编译的,,他又出现程序无法运行
2010-04-04 20:46
yunfeishizhe
Rank: 2
等 级:论坛游民
帖 子:40
专家分:54
注 册:2010-4-3
收藏
得分:0 
好了好了,谢谢提醒,
2010-04-04 21:05
快速回复:为什么这个程序读不了文件呢,出错了!
数据加载中...
 
   



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

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