質問するログイン新規登録
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

2回答

1642閲覧

'getputch.h' file not foundと出て実行することができないのですがどうすればいいですか?

s161016

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2022/06/30 13:59

0

0

12個の文字列をすべて出題するのではなく、10個をランダムに選んで出題するように変更したものを作成したのですが、 'getputch.h' file not foundとエラーが出てプログラムを実行できないのですがどうすればいいですか?ちなみにC言語中級編の問題です。どなたかよろしくお願いします。

#include <time.h> #include <stdio.h> #include <stdlib.h> #include "getputch.h" #define QNO 12 #define QNO 10 #define swap(type, x, y) do{ type t =x; x=y; y=t;}while(0) int main(void) { char *str[NO] = {"book", "computer", "define", "comfort","monday","power","light","music","programming","dog","video","include"}; char *str[12] = {"book", "computer", "define", "comfort","monday","power","light","music","programming","dog","video","include"}; int i, stage; int qno[QNO]; clock_t start, end; init_getputch(); srand(time(NULL)); for (i=0; i<QNO; i++) qno[i]=i; for(i=QNO-1; i>0; i--){ int j =rand()%(i+1); if (i!=j) swap(int, qno[i], qno[j]); } printf("タイピング練習を始めます。\n"); printf("スペースキーで開始します。\n"); while (getch() !=' ') ; start = clock(); for(stage=0; stage<QNO; stage++){ int len=strlen(str[qno[stage]]); for(i=0; i<len; i++){ printf("%s\r", &str[qno[stage]][i]); fflush(stdout); while(getch() != str[qno[stage]][i]) ; } } end= clock(); printf("\r%.1f秒でした。\n", (double)(end-start)/CLOCKS_PER_SEC); term_getputch(); return 0; }

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

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

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

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

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

guest

回答2

0

'getputch.h'という名前のファイルが存在しない、というエラーです
そのファイルを持ってきましょう

投稿2022/06/30 21:40

y_waiwai

総合スコア88180

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

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

s161016

2022/07/02 04:53

どのように持ってくるのですか?
s161016

2022/07/02 05:00

#ifndef __GETPUTCH #define __GETPUTCH #if defined(_MSC_VER) || (__TURBOC__) || (LSI_C) #include <conio.h> static void init_getputch(void) { /* 空 */ } static void term_getputch(void) { /* 空 */ } #else #include <curses.h> #undef putchar #undef puts #undef printf static char __buf[4096]; static int __putchar(int ch) { if (ch == '\n') putchar('\r'); return putchar(ch); } static int putch(int ch) { int result = putchar(ch); fflush(stdout); return result; } static int __printf(const char *format, ...) { va_list ap; int count; va_start(ap, format); vsprintf(__buf, format, ap); va_end(ap); for (count = 0; __buf[count]; count++) { putchar(__buf[count]); if (__buf[count] == '\n') putchar('\r'); } return count; } static int __puts(const char *s) { int i, j; for (i = 0, j = 0; s[i]; i++) { __buf[j++] = s[i]; if (s[i] == '\n') __buf[j++] = '\r'; } return puts(__buf); } static void init_getputch(void) { initscr(); cbreak(); noecho(); refresh(); } static void term_getputch(void) { endwin(); } #define putchar __putchar #define printf __printf #define puts __puts #endif #endif この共通ヘッダをいれるといいのですか?
y_waiwai

2022/07/02 05:29

あなたが組んだコードなら、あなたが把握しているべきことです。 他人には、あなたのコードになにを入れるべきってのはわかりませんよ
guest

0

下記に「getputch.h」の内容が記載されていました。
同じフォルダに getputch.h ファイルを配置して、コンパイルしてみて下さい。

■ 柴田望洋の『新・明解C言語中級編』の中の総合タイピング練習が上手く作動しない
https://dixq.net/forum/viewtopic.php?t=16849

投稿2022/06/30 14:10

cx20

総合スコア4700

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問