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

解決済みの質問

Eclipse C コンパイル、実行が解りません。

いつも大変お世話になり誠にありがとうございます。
標記の件。
2つプログラムを書いたのですが、エラーはないと思います。
text5-1.c,text5-2.c

text5-1.c
/*
* text5-1.c
*
* Created on: 2018/05/03
* Author: jump7
*/
#include <stdio.h>

int main(void)
{
int res;

printf("\n");

scanf("%d", &res);

switch(res){
case 1:
printf("1が入力されました。\n");
break;
case 2:
printf("1が入力されました。\n");
break;
default:
printf("1か2を入力してください。\n");
break;
}
return 0;

}


text5-2.c
/*
* text5-2.c
*
* Created on: 2018/05/03
* Author: jump7
*/
#include <stdio.h>

int main(void)
{
char res;

printf("?\n");
printf("YN\n");

res = getchar();

if (res == 'Y' || res =='y'){
printf("あなたは男性ですね。\n");

}
else if(res =='N' || res == 'n'){
printf("YかNを入力してください。\n");
}
return 0;

}

メニューの「実行」から「前回の起動を実行」
「前回の起動をデバック」「前回の起動をプロファイル」
3つやってみると、実行構成、構成の作成、管理、および実行
プログラムが指定されていません。と出ます。

どうやってプログラムを指定するのでしょうか?
ご多忙のところ、恐れ入ります。
ご回答のほどよろしくお願いします。

投稿日時 - 2018-05-03 19:46:43

QNo.9494838

困ってます

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

>メニューの「実行」から「前回の起動を実行」
>「前回の起動をデバック」「前回の起動をプロファイル」
>3つやってみると、実行構成、構成の作成、管理、および実行
>プログラムが指定されていません。と出ます。
ソースを書いただけでは実行できません。
コンパイルして実行形式のファイルを生成しないといけません。
その作業をビルドと言います。
ビルドをする前に実行構成をすることも必要になるでしょう。
EclipseでC言語のプログラミングする方法の初歩的な説明をしているサイトを探して自習することをお薦めします。
自分で検索することに慣れないと何でも質問しなければ解決しません。
自習する習慣が付くとレベルアップに繋がります。

投稿日時 - 2018-05-03 21:32:13

お礼

それもそうですね。

検索でこの問題が解けると自信になりますからね。

ありがとうございました。

投稿日時 - 2018-05-03 21:41:48

ANo.3

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

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

回答(9)

ANo.9

>今、迷っていたところです。
>やはり、Cを使いこなせるようになって
>javaの勉強をします。

ハードルが低い方から勉強すると言う選択肢も考えて良いと思います(初心者に柔道とかで いきなり県大会に出場しろと言うのは、あまりにも初心者には酷だと思いますので)。
個人的には初心者に厳しいC言語より、javaから勉強した方が良いと思います。

投稿日時 - 2018-05-04 15:56:42

お礼

ご回答誠にありがとうございます。

投稿日時 - 2018-05-04 16:22:33

ANo.8

>C言語をある程度使いこなせるようになれば、たいていの言語にも応用ができるので初めに学んでおいて損はありません。

↑これは嘘ではありませんが、ちょっと大げさな例えになるかもしれませんが、初心者に柔道とかで いきなり県大会に出場しろ見たいな話です。

投稿日時 - 2018-05-04 14:16:51

お礼

ご回答誠にありがとうございます。

今、迷っていたところです。

やはり、Cを使いこなせるようになって

javaの勉強をします。

投稿日時 - 2018-05-04 14:37:32

ANo.7

一般的にC言語(C++も含む)のポインタは初心者が つまづきやすいと言われています。
あと、(昔に読んだ記事に)存在しない(または間違った)メモリー領域(以前は有ったけど、既に消えている場合なども含む)にポインタでアクセスするようなバグがCプログラマーでも割りとあるそうです。
C言語(C++も含む)を勉強したいのなら その辺の難関を乗り越える気概が必要かもしれません。

プロのエンジニア9人が徹底解説!おすすめのプログラミング言語9選
https://www.geekjob.jp/recommended-programming-language/

> 初心者が軽い気持ちでC言語を学び始めると痛い目にあいます。が、C言語をある程度使いこなせるようになれば、たいていの言語にも応用ができるので初めに学んでおいて損はありません。
> 多くのエンジニアがつまずいてきたポインタ管理などの理解が必要なため、使いこなせるようになるには時間が掛かります。

↑これは「C++」にも言える事です。

【C言語入門】ポインタのわかりやすい使い方(配列、関数、構造体)
https://www.sejuku.net/blog/25094

投稿日時 - 2018-05-04 14:01:56

お礼

ご回答誠にありがとうございます。

肝に銘じます。

投稿日時 - 2018-05-04 14:28:23

ANo.6

>2つプログラムを書いたのですが、エラーはないと思います。
EclipseでのC言語は初めてですが検証してみました。
2つのソースでビルド時にエラーはありませんでした。
しかし、表現上に不適切な部分があります。
text5-1.cで「printf("?\n");」と「printf("YN\n");」はキー入力前に表示したいのでしょうが結果は異なります。
また、「case 2:」での処理が「case 1:」の処理と同じになっています。
text5-2.cでも「printf("?\n");」と「printf("YN\n");」が同様に思惑通りになりません。
また、「else if(res =='N' || res == 'n'){」と「printf("YかNを入力してください。\n");}」はNまたはnを入力したときに表示される文言には不適切でしょう。

>どうやってプログラムを指定するのでしょうか?
ソースの編集が終ったら「ファイル」のプルダウンメニューから「すべてを保存」して、「実行」のプルダウンメニューから「実行構成」を設定し、実行形式のファイル名を指定します。
次に「プロジェクト」のプルダウンメニューから「すべてビルド」を実行します。その結果、プロジェクトエクスプローラーに「バイナリ」フォルダができて中に実行形式のファイル(ファイル名.exe)ができるはずです。
出来た実行形式ファイルを実行させれば良いでしょう。
私にできてあなたにできないのは言語の理解力と応用力が違うだけと思います。

投稿日時 - 2018-05-04 07:47:30

お礼

ご回答誠にありがとうございます。

CもEclipseを使ってやってみます。

いつもありがとうございます。

投稿日時 - 2018-05-04 12:07:08

ANo.5

>最終的にはJAVAの達人を目指しております。
>その予行練習としてEclipseを使っています。
本末転倒のようです。
EclipseはC言語よりJAVAの方が手軽に使えるプログラム開発環境です。
JAVAの場合はソースを書いて実行環境を設定すれば実行の指定でコンパイルをして実行ファイルまで作成してくれます。
C言語で慣れてからJAVAに切り替えるのは無駄と思います。
直接JAVAの学習をされた方がよろしいのではないでしょうか?

投稿日時 - 2018-05-03 22:05:55

お礼

判りました。

Cはエディターを使ってやります。

投稿日時 - 2018-05-04 12:00:12

ANo.4

>最終的にはJAVAの達人を目指しております。

JavaかCを選ぶこと。
中途半端にやると文法がごちゃごちゃになります。
よく似ていますので頭の中が混乱します。

投稿日時 - 2018-05-03 21:49:54

お礼

ご回答誠にありがとうございます。

取り敢えずCをがんばります。

投稿日時 - 2018-05-04 11:57:09

ANo.2

Cを覚えたいんですよね。
Eclipseは関係ないでしょ。
あれもこれもやりだすと訳わからなくなりますよ。

それと、
>text5-2.c
YかNを入れてYだったら”男性”、Nだったら”YかNを入力してください”
プログラムがあっているかは使う人がやりたいように動くかどうかですので
判断できませんがロジック的にはおかしなことです。

”YかNを入力してください”って言われてNを入力したら叱られるようなものは
認められません。

投稿日時 - 2018-05-03 20:59:39

お礼

最終的にはJAVAの達人を目指しております。

その予行練習としてEclipseを使っています。

ありがとうございます。

投稿日時 - 2018-05-03 21:39:08

ANo.1

質問されていることの回答ではありませんがgetchar()の戻り値をchar型の変数で受けてはいけません。

>char res;
...
>res = getchar();

投稿日時 - 2018-05-03 20:03:20

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-05-03 21:35:32

あなたにオススメの質問