質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Q&A

解決済

3回答

4894閲覧

九九の表は完成できたが、CSVファイルに出力するプログラムが分からない

buriburizaemon

総合スコア23

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

0グッド

0クリップ

投稿2021/04/05 11:58

編集2021/04/05 12:09

c言語で九九の表を作成しています。

九九の表をプログラムすることはできましたが、そのプログラムをCSVファイルに出力するプログラムがわからずに困っております。

Cpad for Borland C++コンパイラーを使用しています。

#include <stdio.h>

int main(){

int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= 9; j++) { printf(" %3d" ,i * j); } printf("\n" );

}

return 0;

}
で九九の表は表示されました。しかし、CSVファイルに出力するために以下のプログラムを入力すると、コンパイル画面が表示されませんでした。

#include <stdio.h>

int main(){

int i, j; FILE*fp; fp=fopen("kuku.csv","w"); for (i = 1; i <= 9; i++) { for (j = 1; j <= 9; j++) { printf(" %3d" ,i * j); } fprintf(fp,"%3d",i*j );

}
}
fclose(fp);
return 0;

}

色々とミスが有り、お手数をおかけしますが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tain

2021/04/05 12:26

プログラムを貼るときは、<code>と書いてあるところを押してその中に記載してください。
buriburizaemon

2021/04/05 12:34

承知いたしました。申し訳ございません。
guest

回答3

0

ベストアンサー

  1. {}のズレのせいでコンパイルが通らない。
  2. {}のズレのせいで最初のプログラムのprintf(" %3d" ,i * j);と次のプログラムのfprintf(fp,"%3d",i*j );では実行される回数が違っています。
  3. 改行がなくなっています。
  4. csvなのに,がなく、Excelでは正しく開けないと思います。

質問者さんのプログラムをほぼほぼそのまま動かしましたが、正しく実行されます。(Windows10/WSL/ubuntu18.04)

c

1#include <stdio.h> 2 3int main(){ 4 5 int i, j; 6 FILE*fp; 7 fp=fopen("kuku.csv","w"); 8 9 for (i = 1; i <= 9; i++) { 10 11 for (j = 1; j <= 9; j++) { 12 13 printf(" %3d" ,i * j); 14 fprintf(fp,"%3d,",i*j ); 15 } 16 17 printf("\n"); 18 fprintf(fp,"\n"); 19 } 20 fclose(fp); 21 return 0; 22}

csv

1 1, 2, 3, 4, 5, 6, 7, 8, 9, 2 2, 4, 6, 8, 10, 12, 14, 16, 18, 3 3, 6, 9, 12, 15, 18, 21, 24, 27, 4 4, 8, 12, 16, 20, 24, 28, 32, 36, 5 5, 10, 15, 20, 25, 30, 35, 40, 45, 6 6, 12, 18, 24, 30, 36, 42, 48, 54, 7 7, 14, 21, 28, 35, 42, 49, 56, 63, 8 8, 16, 24, 32, 40, 48, 56, 64, 72, 9 9, 18, 27, 36, 45, 54, 63, 72, 81,

投稿2021/04/05 12:17

編集2021/04/05 12:26
tain

総合スコア241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

buriburizaemon

2021/04/05 12:32

ありがとうございました。 おかげさまで解決することができました。 これからも精進してまいりたいと思います。
buriburizaemon

2021/04/05 12:33

アドバイス頂き、本当にありがとうございました。
tain

2021/04/05 12:40

正しく動いてよかったです。結構惜しいです。この手の凡ミスはプログラム用のエディタを使えば防げたりします。 導入を考えてみてください。 (VScode、terapad、秀丸.. etc) がんばってください。
buriburizaemon

2021/04/05 13:13

承知しました。 ありがとうございました。 今後ともよろしくお願いします
guest

0

OSはUNIX系ですか。それとも、Windowsですか。
UNIX系なら、kuku.csvファイルの権限指定を書き込み可にしなければならないでしょう。

投稿2021/04/05 12:06

seastar3

総合スコア2287

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

buriburizaemon

2021/04/05 12:13

windows10です 初心者で色々とミスがあり、お手数をおかけしますがよろしくお願いします。
buriburizaemon

2021/04/05 12:32

ありがとうございました。 解決することができました。 これからも精進してまいりたいと思います。
guest

0

カッコの数が違うようですが、このコードはちゃんとコンパイルできるんでしょうか


ああ、ならカッコの数が違うためにコンパイルエラーになってます。
まずはそれをどうにかしましょう、ってことで

投稿2021/04/05 12:02

編集2021/04/05 12:15
y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

buriburizaemon

2021/04/05 12:11

一番上のプログラムでは、九九の表は表示されました。 しかし、ファイルに出力するプログラムはコンパイル時にエラーが出てしまいました。 質問文に表記ミスがあり、大変申し訳ございません。
buriburizaemon

2021/04/05 12:27

下記のようにプログラムを書きましたが、コンパイル画面には1しか表示されませんでした。 初心者のため申し訳ございません。初歩的なミスばりかもしれませんが、添付させていただきます #include<stdio.h> int main(){ int i,j; FILE *fp; fp = fopen("kuku.csv", "w"); for(i=1; i<=12; i++){ for(j=1;j<=12; j++){ printf("%10d",i*j); fprintf(fp,"%10d",i*j); } } fclose(fp); return 0; }
buriburizaemon

2021/04/05 12:32

ありがとうございました。 おかげさまで解決することができました。 これからも精進してまいりたいと思います。
buriburizaemon

2021/04/05 12:33

アドバイス頂き、本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問