ぼるじょあがC/C++の宿題を片づけますYO! 68代目at TECHぼるじょあがC/C++の宿題を片づけますYO! 68代目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト66:ぼるじょあ ◆hZ8e4Wjqvw 07/06/09 20:47:45 >>61 (・3・) エェー どれが point で どれが gpa なのか分からんYO! 合致するデータっていうのは 1 行丸ごとかYO! なんで 5 が表示されないんだYO! 67: ◆wSaCDPDEl2 07/06/09 20:59:53 何度も言葉が足りずにすみません。 pointは(多分)名前の後のものでgpaは(多分)小数点ついてるやつです。 合致するデータは一行丸ごとだと思います。 5が表示されないのは・・・ミスでしょうか。2.3.4と書いてあるので適当に5を条件外の数値にしてみたのでそれでお願いします。 1 alice 48 3.6 2 bob 88 3.2 3 charlie 69 1.8 4 dick 100 3.9 5 bomb 3 2.4 つーか問題がわかりにくいですね。今度抗議してみます。すいませんでした。 68:ぼるじょあ ◆hZ8e4Wjqvw 07/06/09 21:57:33 >>61 (・3・) エェー CしかできないからC++っぽくするなら自分で書き換えてくれYO! #include <cstdio> void file_display(char *filename){ FILE *fp; int moji; if((fp=fopen(filename, "r"))==NULL) return; while((moji=fgetc(fp))!=EOF) fputc(moji, stdout); fclose(fp); } int main(void){ char one_line[1024], *fname_in="x-file", *fname_out="Bファイル"; FILE *fp_in, *fp_out; double point, gpa, point_sum=0.0, gpa_sum=0.0; int num=0; file_display(fname_in); // q2 only if((fp_in=fopen(fname_in, "r+"))==NULL) return 1; if((fp_out=fopen(fname_out, "w"))==NULL) return 2; // q2 only while(fgets(one_line, sizeof(one_line), fp_in)){ if(sscanf(one_line, "%*d %*s %lf %lf", &point, &gpa)!=2) continue; num++; point_sum+=point; gpa_sum+=gpa; // q3 only if(point>=85 || gpa<2.0){ fputs(one_line, stdout); // q1 only fputs(one_line, fp_out); // q2 only } } if(num>0) fprintf(fp_in, "-1 average %f %f\n", point_sum/num, gpa_sum/num); // q3 only fclose(fp_in); fclose(fp_out); // q2 only file_display(fname_out); // q2 only file_display(fname_in); return 0; } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch