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

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

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

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

C++

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

Q&A

解決済

3回答

1455閲覧

C言語のプログラム!

char

総合スコア12

C

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

C++

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

0グッド

0クリップ

投稿2017/08/27 02:24

編集2017/08/27 02:32

C言語のプログラムで、以下のような結果を出力するコードを教えてください!

<出力結果>
目的地:東京 ←コマンドプロンプトに東京と入力する
場所:東の方角←東京以外を入力すると、見つかりませんでした。 と返す

scanfで実行すると、東京以外の言葉を入れても東の方角と返されてしまいます
なので、if文を使ってやろうと思ったんですけど数字じゃない文字列に対するifの使い方が
わかりません

#include <stdio.h>
int main(void){
int a;
printf("目的地:");
scanf("%s",&a);
printf("場所:東の方角\n");
return 0;
}

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/08/27 02:26

上手く動かなかったコードを載せるのが得策かなぁって。
guest

回答3

0

作成してみました、すこし修正しましたのでご参考です。

c

1int main(void){ 2 char a[64]; 3 char tky[6] = "東京"; 4 printf("目的地:"); 5 scanf("%s",a); 6 if (strcmp(a, tky) == 0){ 7 printf("場所:東の方角\n"); 8 }else{ 9 printf("場所:見つかりませんでした\n"); 10 } 11 return 0; 12} 13

投稿2017/08/27 03:09

A.Ichi

総合スコア4070

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

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

char

2017/08/27 03:18

わざわざ有難うございました
guest

0

ベストアンサー

えーとまず、日本語入力させたいなら変数aはint型じゃダメかなぁって。

投稿2017/08/27 02:37

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

char

2017/08/27 02:49

int a; ってやりましたよ?
退会済みユーザー

退会済みユーザー

2017/08/27 02:52

それは int(整数)型のaという変数を定義してます。 でも、入力してほしいのは文字列なので、整数型の変数を定義してはダメでしょうね、と、言いました。
char

2017/08/27 02:55

なるほどそういうことだったのですね  すいませんでした では、char型にするということですか?
退会済みユーザー

退会済みユーザー

2017/08/27 02:58 編集

はい、それでいいと思います。ただし、文字“列”だし多バイト文字なので、配列として定義します。 すると、こんな感じになるはずです。 char str[255]; // char型(1byte)を255個分の配列がメモリ上に確保される。
退会済みユーザー

退会済みユーザー

2017/08/27 03:02

そして、C言語での文字列の比較には strcmp() という関数が使えるようなので、 この辺を見ると、後は独力でできそうなような… http://bituse.info/c_func/9 なお、コードの先頭で、 #include <string.h> が必要になると思います。
退会済みユーザー

退会済みユーザー

2017/08/27 03:24

余計な一言かなって、どうしようか悩んでいましたが、 int a; のaは値そのものをさしますが、 char str[255] のstrは値そのものではなく、配列のポインタをさします。 ですから、 scanf("%s",&a); のつもりで scanf("%s",&str); とやると、上手く行かないでしょうね、きっと。 &aは、aの値が保存されている場所、つまりポインタを示していますが、 strはそれ自体がポインタです。 もし、その辺りで悩む人がいたらと思って、フットライトをもう一つ、ここに置いておきますね。
MasahikoHirata

2017/09/04 15:54

当たり前過ぎて。luckerさんが説明(回答)を急がなければ。でもやさしい。
guest

0

こんにちは。

タグにC++があるので、C++でよければ下記でいけます。

C++

1#include <iostream> 2#include <string> 3 4int main() 5{ 6 std::string input; 7 std::cout << "目的地:" << std::flush; 8 std::cin >> input; 9 std::cout << "\n場所:"; 10 if (input == "東京") 11 { 12 std::cout << "東の方角" << std::endl; 13 } 14 else 15 { 16 std::cout << "見つかりませんでした。" << std::endl; 17 } 18}

投稿2017/08/27 02:37

Chironian

総合スコア23272

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

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

char

2017/08/27 02:39

gccでコンパイルできますか?
char

2017/08/27 02:48

さっきコードをメモ帳にコピペしてやってみたらコンパイルの段階でエラーが出てしまいました(泣)
char

2017/08/27 02:58

書いていただいたコードをCに変換することは可能ですか?
yumetodo

2017/08/27 03:09

コンパイルのコマンドが違うんでしょう。 g++ -std=c++11 -Wall -Wextra <source file> -o <output binary>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問