C言語なら、俺に聞け! <12>
■ このスレッドは過去ログ倉庫に格納されています
004235
NGNGすこし長くなってしまいますが
ソースの一部分だけこぴぺしました
cscanfにして解決したのですが fgetsでやると どうにもうまくいかないです
関数自体は発動するのですが・・・
cscanf("%d",&select); ←ここをfgetsにすると inputs関数内の最初のfgetsをよみとらないです
if(select<1 || select>6){
printf("1から6までの数を入力してください。\n");
return; //強制的にもう一度メニューを出す。
}
switch(select){
case 1: inputs(0); //Yを入れてるのに特に意味はない 再帰でつかいたかっただけ。
break;
case 2: bookserch(0);
break;
case 3: nameserch(0);
break;
case 4: save();
break;
case 5: load();
break;
case 6: exit(0);
break;
}
}
char inputs(char temp){
char str[100],ch='0';
if(temp=='N'){return temp;} //再帰から抜ける。
//書籍名の入力 配列への代入
printf("書籍名を入力して下さい。100文字まで許容します\n");
fgets(str,100,stdin); ←これを読み取らない
if(str[strlen(str)-1]=='\n') str[strlen(str)-1]='\0'; //改行をNULLへ
strcpy(book[nowMAX][0],str);
//著者名の入力 配列への代入
printf("著者名を入力してください。同じく100文字まで許容します\n");
fgets(str,100,stdin); ←これは読み取る
■ このスレッドは過去ログ倉庫に格納されています