ID非公開

2022/1/23 1:44

33回答

C言語で入力ファイルから文字列を読み込み、点字に変換して出力ファイルに書き込むというプログラムを教えてほしいです。

補足

すみません、出力ファイル(.txt)の例を補足します。入力ファイルの文字列を「apple」とすると、 word=apple *. .. .. ** *. *. ** *. *. *. *. *. *. .* .. このような感じになるようにお願いします。入力ファイルにどのような文字列を入れても対応ができるようにプログラムしていただきたいです。

C言語関連 | プログラミング149閲覧xmlns="http://www.w3.org/2000/svg">250

ベストアンサー

1

1人がナイス!しています

ID非公開

質問者2022/1/23 10:17

ありがとうございます!助かりました!

その他の回答(2件)

0

「点字に変換」ということですが、点字はアスキーコードの一部としてアルファベットだけでも、以下のような感じです。 A・□ B・□ C・・ D・・ … G・・ □□ ・□ □□ □・ … ・・ 点字の表示イメージとしては、コンソール画面で、「・」を表示(2、3行使って)させるということでしょうか? 【表示例】 入力:AGD 出力・□ ・・ ・・ □□ ・・ □・ ※スペースは□で示しています。 上記のとおりであるならば、点字情報を格納する構造体配列(1文字に対して1要素与える)を作っておき、ファイルから読み込んだ文字を構造体配列の添え字として出力させればいいのではないかと考えます。 プログラム例は、単純に、A、D、Qを出力させるイメージです。 A、D、Qはenumを使って、0、1、2としていますが、ここをA~Z、a~zを入れれば、連番にすることが可能です。 ファイルからの読込方法は知恵袋にも多々出てますので参考にするといいでしょう。 【プログラム例】 #include <stdio.h> struct tenji { char row1[5]; char row2[5]; char row3[5]; }; enum { A,D,Q }; void tenji_print(int charno) { static const struct tenji t[] = { { /* A */ "●□" , "□□" , "□□"} ,{ /* D */ "●●" , "□●" , "□□"} ,{ /* Q */ "●●" , "●●" , "●□"} }; printf("%s\n", t[charno].row1); printf("%s\n", t[charno].row2); printf("%s\n", t[charno].row3); } int main() { printf("A\n"); tenji_print(A); printf("D\n"); tenji_print(D); printf("Q\n"); tenji_print(Q); }

ID非公開

質問者2022/1/23 2:33

言葉足らずで申し訳ありません。質問に補足しましたので確認していただけましたら幸いです。