今日のプログラミング5
何でうまくいかなかったのかな。

いかに書いたのは最終的たどり着いた答えで、うまくいきました。

---------------------------------------------------------------------------------------------------

プログラムは任意の名前のテキストファイルで書かれたデータを読み込んで、それをもとに値段を算出するプログラムです。

/****テキストファイルの中身****/
hakusai 100
daikon 120
tori 180
buta 190
toufu 80
/***********************/



#include
#include
#include
#define NUM 100
#define TRUE 1

struct nabe{

int hakusai;

・/*** 計 int型4つ float型1つ***/

};

void price(struct nabe*,char[]);
int main(void);

int main(void)
{
structure nabe mynabe={0,0,0,0,0.0};



price(&mynabe,filename);



}

void price(struct nabe *yournabe,char fn_load[])
{
FILE *fp_load;
int nedan;
char moji[NUM],food[NUM];

/*** fp_load=fオープン(fn_load,"r"); ***/←エキサイト側からエラーが出たw

if(fp_load==NULL)
{
exit(0);
}

while(TRUE)
{
fgets(moij,NUM,fp_load);

sscanf(moji,"%s %d",food,&nedan);

if(strcmp(food,"hakusai")==0)
{
yournabe->hakusai=nedan;
}
if(strcmp(food,"tori")==0)
{
yournabe->tori=nedan;
}

if(strcmp(food,"daikon")==0)
{
yournabe->daikon=nedan;
}
if(strcmp(food,"toufu")==0)
{
yournabe->toufu=nedan;
}


if(ferror(fp_load))
{
break;
}
if(feof(fp_load))
{
break;
}

}
fclose(fp_load);
}

---------------------------------------------------------------------------------------------------

このvoid priceの中の文で最初はstrcmpを使わないで

if( food == 'hakusai')

みたいにしてfoodとhakusaiが同じだったときに安易に考えてやったんですけど、エラーがでてどうしても対処できなかったんですよね。

strcmpを使わない文で何とかできなかったのかなと考えてるんですが、分かんないんですよね。

結局よくできる友人にstrcmpを教えてもらって何とかできました。

う~ん。いまいちスッキリしない。
[PR]
by akito_621 | 2012-05-14 22:14
<< 大後寿々花 今日のプログラミング4 >>