A 回答 (4件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
break;
で、ループを抜けれるので、
while() {
処理();
処理();
if() {
/* 特定の条件に当てはまったときにこのループを抜ける */
break;
}
}
みたいな感じで作られたらいかがなものでしょうか。
No.2
- 回答日時:
こんなイメージですか?
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define COMMAND_STRING_SIZE6
typedef void (*func)(void);
typedef struct {
charcommandString[COMMAND_STRING_SIZE];
funccommandFunction;
} FUNCTIONMENU;
void func1(void){puts("hogeです。");}
void func2(void){puts("fugaです。");}
FUNCTIONMENUmenuTable[] = {
{"hoge",func1},
{"fuga",func2},
{"quit",NULL},
{NULL,NULL}
};
void main(void)
{
char buffer[100];
int i=0;
buffer[0] = '\0';
while(1){
/* キー入力をバッファに保存する。*/
while(kbhit()){
gets(buffer);
break;
}
/* 保存したバッファの中身で、実行すべき処理を選ぶ。*/
if( strlen(buffer) ){
for(i=0; NULL!=menuTable[i].commandString[0]; i++){
if(0 == strcmp(buffer, menuTable[i].commandString) ){
if( 0 == strcmp("quit",buffer) )
goto END;
else{
menuTable[i].commandFunction();
buffer[0] = '\0';
break;
}
}
}
}
/* -- キー入力に関係なく、常に実行したい処理はこちらに書く。-- */
/* ------------------------------------------------------------ */
}/* end of while(1) */
END:
return;
}
動作確認図済みですが、質問者さんのレベルをまったく考慮せず、玄人好みに作ってしまいました。申し訳ありません。
この回答への補足
お早いお返事有難うございます。
このようにプログラムを書いてみた所、<conio.h>が
無いとなりました。これを調べたところ、windowsOSで
出来ないみたいです。こちらでは、LinuxOSを仕様して
います。
その点を踏まえていい案はありませんか?
No.4
- 回答日時:
コンパイルもコードチェックも何もしてないので、動くかどうかわかりませんが、雰囲気はこんな感じです。
main()関数で無限ループし、スレッド(thd_func())で無限ループを抜けるか(main()を終了させるか)チェックするという単純なものです。
UNIX(LINUX)系のCでスレッド生成方法知らないので、Windows系で書きました。Windows系のスレッド生成方法は参考URLを見てください。
これで分かります??
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <proccess.h>
#ifdef TRUE
#define TRUE 1
#endif
#ifdef FALSE
#define FALSE 0
#endif
void thd_func(void);
void main(){
int isLoop;
isLoop = TRUE;
_beginthread(thd_func, 0, (void *)&isLoop);
while (g_isLoop == TRUE) {
<<何か処理をいれる>>
}
}
void thd_func(void *p_isLoop) {
char inp[256];
do {
scanf("%s", inp);
} while(strcmp(inp, "END") != 0);
*p_isLoop = FALSE;
_endthread();
}
参考URL:http://msdn.microsoft.com/library/ja/default.asp …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
高校生はアルバイトするべきだろうか?賛成だったら「賛」、否定だったら「否」を文頭においてあなたの意見を教えてください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
ループを途中で抜けたいのですが。
C言語・C++・C#
-
キーボード入力によるループの終了
C言語・C++・C#
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
-
4
enterでループ終了
C言語・C++・C#
-
5
fgetsなどのときのstdinのバッファを消すには?
C言語・C++・C#
-
6
3のつく数字と3の倍数のみを表示するプログラム
C言語・C++・C#
-
7
数字以外が入力されたらエラー文を出したい。
C言語・C++・C#
-
8
C言語の勉強しています。すみませんが、助けてください。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力した数値を倍々するプログラム
-
break文でループを一気に抜ける...
-
do-while文が禁止される理由
-
ループを途中で抜けたいのですが。
-
プログレスバーで
-
ゲームオーバーのプログラム
-
IF文での条件の書き方について(...
-
go toに変わるもの
-
if文の中にfor文なのか、for文...
-
猫でもわかる、がわかりません。
-
プログラムで関数は使わない方...
-
新たな疑問 for( ; ; ){
-
n重のfor文にするには?
-
2÷3などの余りについて
-
信頼区間の1.96や1.65ってどこ...
-
std::set<int> で、ある値が何...
-
「Aに対するBの割合」と「Aに対...
-
#define _CRT_SECURE_NO_WARNIN...
-
【gcc・cygwin】multiple defin...
-
ある商品のロス率を5%見込み、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループを途中で抜けたいのですが。
-
do-while文が禁止される理由
-
break文でループを一気に抜ける...
-
For文の終了値を関数にしても問...
-
エクセルVBAで Do While (1)って?
-
入力した文字列から母音だけを...
-
for文while文の無限ループの違...
-
C言語forループが完結した場合...
-
エクセルでC言語のfor文と同じ...
-
入力した数値を倍々するプログラム
-
Cプログラムが終了しない
-
n重のfor文にするには?
-
UWSCにてある一定の動作を無限...
-
PIC のプログラムについて ど...
-
Excel VBAで年度をまたぐ期間の...
-
アルゴリズムです!四つの数字...
-
Delphiで・・・
-
While文の終わりにセミコロンが...
-
ループの特定入力終了
-
For~Nextステートメントの終了...
おすすめ情報