ローマ字名、ローマ字名の漢字名、住所、電話番号(ここはカンタンでいい)の四行の中のローマ字の頭文字を判定して、辞書のように頭文字で範囲検索するプログラムなんですが・・・。
名簿には
aoki
青木
東京
03-29
takagi
高木
神奈川
09-81
doi
土井
石川
87-8
のようなテキストファイルを用意し、このアルファベットの一番上を判定するものだと思ってプログラムを書きました。
でもうまくいかず・・・。
今のことろここまでできています。
#include<stdio.h>
#include<string.h>
main()
{FILE *fp;
int i,k,n;
struct{
char name[100],shimei[100],jusho[100],f[100],e[100],tel;
}data[100];
char fname[80];
printf("ファイル名\n");
scanf("%s",&fname);
fp=fopen(fname,"r");
i=1;
while(fscanf(fp,"%s",&data[i].name)!=EOF){
fscanf(fp,"%s",&data[i].shimei);
fscanf(fp,"%s",&data[i].jusho);
fscanf(fp,"%s",&data[i].tel);
i=i+1;
}
printf("検索範囲\n");
printf("始まり=");
scanf("%s",data[i].f);
printf("終わり=");
scanf("%s",data[i].e);
k=0;
for(i=1;i<=5;i++){
if(strcmp(data[i].name,data[i].f)&&(data[i].name<data[i].e)==0){
printf("ローマ字名%s\n",data[i].name);
printf("氏名%s\n",data[i].shimei);
printf("住所%s\n",data[i].jusho);
printf("電話番号%s\n",data[i].tel);
k=k+1;
}}
if(k==0){printf("該当者いない\n");}
fclose(fp);
}