>>948 そりゃ、実行ファイルのサイズが大きくなるからだろ。
(´-`).。oO(つーか、今更LSI-Cかよ‥‥)
LSI-Cって何?
957 :
デフォルトの名無しさん:02/08/04 23:06
959 :
デフォルトの名無しさん:02/08/05 00:24
C言語
ファイルポインタを使って円の面積を計算するプログラム、教えてください。
ファイルポインタには半径1から10の数値があります。
出力結果は次のようになるようにして下さい
半径 面積
1
2
3
・
・
10
960 :
デフォルトの名無しさん:02/08/05 00:26
なんでファイルポインタを使うのか良く分からん。
「ファイル上の10個の数値を使って・・・・」ならまだしも。
ファイル上の10個の数値を使って・・・・ということです。
962 :
デフォルトの名無しさん:02/08/05 00:28
それに数値の型も必要だ
数値はdouble型で
floatがいい
>>964 なぜわざわざC言語でfloatを使おうとするのか小一時間(略
floatの代わりにfroat使ってはいかが?
typedef float froat;
ワラタ。不毛すぎw
968 :
デフォルトの名無しさん:02/08/05 01:03
969 :
デフォルトの名無しさん:02/08/05 01:07
ネタっぽいが
ファイルの入出力、円周率の計算、表示
の全てを聞いているなら以下様々な洗礼を受けると思われ。
#include <stdio.h>
#define PI 3.14 /* 円周率 */
main()
{
float r, S;
scanf("%g", &r);
S = r * r * PI; /* 円の面積 */
printf("%g\n", S);
}
こんな感じのを
*fp使って、ファイルには1から10の数字は与えられている場合どうするの?
FILE *fp;
を使いたいんだが
972 :
デフォルトの名無しさん:02/08/05 01:15
const charfilename[] = "ten_floats.dat";
float ten_float_ctrl[10] = {0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0},ten_float[10];
FILE*stream = NULL;
stream = fopen( filename, "a+" );
if(stream){
//fwrite((void*)&ten_float_ctrl[0],sizeof (float),10,stream);
fread((void*)&ten_float[0],sizeof (float),10,stream);
fclose( stream );
}
あとはデバッガで追っていじってちょ。
もう少しシンプルにならない?
#include <stdio.h>
main()
{
float r,s
FILE *fp
みたいな形で
もう少しシンプルにならない?
#include <stdio.h>
main()
{
float r,s
FILE *fp
みたいな形で
975 :
デフォルトの名無しさん:02/08/05 01:23
>>974 お前は数値を一個づつファイルから読ませたいのかと。
・・・以下略
main(){
FILE *fp=fopen("num-list","rt");
float r; char s[80];
fgets(s,78,fp);
sscanf(s,"%f\n",&f);
printf("%f\n",r*r*PI);
}
>974
天然君? 972のプログラムが理解できないならプログラムしないほうがいいよたぶん。
>>970 1から10まで与えられていることが分かっているのであれば、
こうでいいんじゃないか?
#include <stdio.h>
main()
{
FILE *fp = stdout;
fprintf(fp, "1 3.14\n2 12.56\n3 28.26\n4 50.24\n5 78.5\n6 113.04\n7 153.86\n8 200.96\n9 254.34\n10 314.0\n");
}
ついでにどなたかご教授お願いします。
#include <stdio.h>
main()
{
FILE *fp;
char buf[100];
printf("ファイル名を入力しなさい");
gets(buf);
/* getsならファイルに書き込みできるけど
* fgets(buf,100,stdin)ならファイルに書き込みできません。
*/
fp=fopen(buf,"w");
if(fp == NULL)
{
fprintf(stderr,"エラーです");
}
fprintf(fp,"123");
fclose(fp);
}
(getsのbuf)と(fgetsのbuf)は、何がどう違うのですか?
#include <stdio.h>
#define PI 3.14 /* 円周率 */
main()
{
float r, S;
scanf("%g", &r);
S = r * r * PI;
printf("%g\n", S);
}
こんな感じのを
*fp使って、ファイルには1から10の数字は与えられている場合どうするの?
面積計算は必要です。
出力は
1 3.14
2
3
・
・
な感じになるようにお願いします
>>979 getsとfgetsの仕様の違いに引掛ってるな。
getsは末尾の'\n'を取り除くが、fgetsは取り除かない。
だから、たとえば
fgets(buf, sizeof(buf));
の入力待ちで
hoge[cr]
したとき、bufに入ってる文字列は"hoge\n"だ。
"hoge\n"なんてファイル名は普通ないから、それで開けないのだろう。
末尾の\nを取り除くべし。
すまん、細かいところ間違えた。
fgets(buf, sizeof(buf)); /* × */
fgets(buf, sizeof(buf), stdin); /* ○ */
だったな。
この時間だと人少ないし、次スレ立てておくかね。
>>983 そうか!!
それを忘れてた!!!
ありがとうございます。
かれこれ5時間位なやんでました。
ん?
ん?
埋め立て
DigDug
埋め立て〜
埋めるずら
ぺったんぺったんお餅つき
,,,,;;;;;;;;;;;;;;;;;;;;,,,,,,
,,;;;;;;;;;;;;;;;;;;;;;;---、;:;:;:;:;:,,,
/;;;;;;;;;;,-'''" ゙'''ヽ;;;;;;ヽ
/;;;;;;;;;''' ヽ;;;;l
/;;;;;;;;;'" _ヽ、
r‐、'" ) i';;;;;;;;;;; ,,;;;;;;-=ヽ、
/ / / |;;;;;;;;;;| ,,,,,;;;;;;;;;-、 ‐'"゙_,,,,,,,_\
r‐、' ヽ/ヽ/゙l |;;;;;;;;/ /-─'''''''"ヽ "‐=二 ̄ヽ、 い〜ち
/ ノ / /、ノ |;;;;;;| '",,,-==‐ ヽ " 、 ヽ に〜い
/ヽ、/ヽ/ヽ/ / ,┴、;| ==ニ-‐'" , ヽ、 ゙i せんげっと
/ヽ、/ / /、_/ |l |ヽl /l .)\ i
/ /--/、/_ / \|lノl /└-‐ヽ-‐' ヽ i
/ ─'''" ''、/ l、 ゙| / ,,---'ニ=メ i .|
/ / ヽ-i i' /-l「ヽ┼+// ;; /
./ ─-、__,,-- / ヽ、 ヽ=ヽ─++-''ノ /、
/ / ̄ヽ ,,,,\ ヽ ゙‐─''''''"~ / ヾヽ、
/ / ゙\____,,-''''" \ / )
./ / l'" ヽ、 \ヽ、 / /
l l __,,,,ノ \ ゙''ヽ 、,,,__,,;-'" /
l ,,,-─''" ヽ、,,, ,,‐"
人 ,,,,,,─''" ゙゙゙'''''''''''''''"~
-‐''''"/
またーりげとー
( ´∀`)取ろうかなぁ
げげ
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。