こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C++ fprintf_sの使い方がわからん

大学4年の学生で、いま卒業研究のために一からプログラミングの勉強をしています。下のコードの計算結果をエクセルに図として表示したいのですがどうやればいいのかサッパリわかりません。fprintf_sと計算結果ファイル?というものを使うらしいのですが、知っている方ぜひ教えてください!!

#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
#include<stdint.h>
int main(void)
{
char Fk[10];
Fk[0]=0;Fk[1]=1;
char Fks[10];
int i;

for(i=2;i<10;i++){
Fk[i]=Fk[i-1]+Fk[i-2];
}
Fks[0]=Fk[0];
for(i=1;i<10;i++){
Fks[i]=Fks[i-1]+Fk[i];
}

for(i=0;i<10;i++){
printf("%d,",Fk[i]);
}
printf("\n");
for(i=0;i<10;i++){
printf("%d,",Fks[i]);
}//フィボナッチ数列を作る
printf("\n\n");


int m,n;
double rad;
rad=0;

for(m=0;m<8;m++){

rad+=137.5*m;
i=0;
double x=0.0;double y=0.0;

for(n=0;n<=10;n++){

printf("%f , %f \n",x,y);//ここの計算結果をエクセルに持って行って楽したいんです。

if(n==Fks[i]){rad+=42.5*M_PI/180;i++;}

x+=cos(rad);
y+=sin(rad);
}
printf("\n\n");
}
}

投稿日時 - 2014-04-27 17:10:49

QNo.8571085

困ってます

質問者が選んだベストアンサー

Excelに持っていくだけなら、画面に表示される結果をコピー→Excelに貼り付け でもできます。
その後で、Execl上でグラフに加工してください。

また、Windowsのコマンドプロンプトや、Unix/Linuxのコマンドラインシェルから
実行コマンド > 保存ファイル
のように > で保存ファイルを指定すると、 画面の代りにファイルに出力されるようになります。
(リダイレクト と言います)
これを使って、 ~.csv というファイル名で出力し、ExcelからCSVファイルとして開けば、カンマ区切りが表になります。
以下、上記コピペと同様に加工します。


fprintfは出力先に任意のファイルにできます。
使いかたは、最初に出力先を指定する以外は、printfと同じです。
出力先は FILE * で指定します。
任意のファイルをFILE * と結び付けるには、 fopen 等を使います。

というあたりのことが、C言語の初心者向け参考書の「ファイル操作」とかいう当りに載っているはずです。
これを使って、結果の出力先をファイルにして...以下、リダイレクトによるものと同様です。


・xls, xlsx ファイルを直接出力する
・Excelを自動操作する
・図を直接画像ファイル等として出力する
等の方法もありますが、これらに比べると高度です。

投稿日時 - 2014-04-27 20:26:38

お礼

回答ありがとうございます!
入門書のファイル入出力というところに載っていましたのでそれをみていろいろやってみようと思います!!

投稿日時 - 2014-04-28 12:52:10

ANo.1

このQ&Aは役に立ちましたか?

10人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問