
以下設問お助けください、、、
解答コードお願いしますm(__)m
関数名 getFruitPrice
引数指定したフルーツ種別に対する価格を price 引数に出力する。
データ型 説明
int 0:正常に値段が出力できた
-1:存在しないフルーツ種別が指定された
引数 データ型 名前
第 1 short fruitID フルーツ種別 ID
第 2 long * price フルーツ価格
説明
フルーツ種別 ID は次のものをサポートするものとし#define で定義すること。
define 名 フルーツ種別 ID 説明
D_APPLE_ID 1 リンゴ。価格は 150 円
D_ORANGE_ID 2 みかん。価格は 100 円
D_BANANA_ID 3 バナナ。価格は 80 円
main 関数から getFruitPrice 関数を呼び出し、画面に価格を表示せよ。与えるフル
ーツ種別 ID を変えて出力期待値が表示されるようにせよ。
補足 getFruitPrice 関数では switch-case 文を使用して種別を判定すること。
表示例 フルーツ種別:1 価格:150 円
出力期待値 フルーツ種別が 1 の時 → フルーツ種別:1 価格:150 円
フルーツ種別が 2 の時 → フルーツ種別:2 価格:100 円
フルーツ種別が 3 の時 → フルーツ種別:3 価格:80 円
フルーツ種別が 4 の時 → 対象のフルーツは存在しません
No.2ベストアンサー
- 回答日時:
了解です
#include <stdio.h>
#define D_APPLE_ID 1
#define D_ORANGE_ID 2
#define D_BANANA_ID 3
int getFruitPrice(short fruitID, long* price) {
switch(fruitID) {
case D_APPLE_ID:
*price = 150;
return 0;
case D_ORANGE_ID:
*price = 100;
return 0;
case D_BANANA_ID:
*price = 80;
return 0;
default:
return -1;
}
}
int main() {
short fruitID = 1;
long price;
int result = getFruitPrice(fruitID, &price);
if(result == 0) {
printf("フルーツ種別:%d 価格:%ld 円\n", fruitID, price);
} else {
printf("対象のフルーツは存在しません\n");
}
return 0;
}
No.1
- 回答日時:
#include <iostream>
using namespace std;
#define D_APPLE_ID 1
#define D_ORANGE_ID 2
#define D_BANANA_ID 3
int getFruitPrice(short fruitID, long* price) {
switch(fruitID) {
case D_APPLE_ID:
*price = 150;
return 0;
case D_ORANGE_ID:
*price = 100;
return 0;
case D_BANANA_ID:
*price = 80;
return 0;
default:
return -1;
}
}
int main() {
short fruitID = 1;
long price;
int result = getFruitPrice(fruitID, &price);
if(result == 0) {
cout << "フルーツ種別:" << fruitID << " 価格:" << price << " 円" << endl;
} else {
cout << "対象のフルーツは存在しません" << endl;
}
return 0;
}
getFruitPrice関数では、フルーツIDをswitch-case文で判定して、対応する価格をprice引数に代入し、0を返します。存在しないフルーツIDが指定された場合は、-1を返します。main関数では、フルーツIDを設定し、getFruitPrice関数を呼び出し、戻り値が0の場合はフルーツ種別と価格を表示し、-1の場合は対象のフルーツは存在しませんと表示します。
回答ありがとうございます。
if(result == 0) {
cout << "フルーツ種別:" << fruitID << " 価格:" << price << " 円" << endl;
} else {
cout << "対象のフルーツは存在しません" << endl;
}
調べたらC++言語で記載してもらっているみたいなのですが
C言語ではどのような記載になりますか。
お手数ですがよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
C言語初心者 ポインタについて、お助けください、、
C言語・C++・C#
-
C言語初心者 構造体 課題について
C言語・C++・C#
-
C言語初心者 構造体 課題について
C言語・C++・C#
-
-
4
C言語でif文が予想と違う動きをする件について7
C言語・C++・C#
-
5
プログラミング c言語
C言語・C++・C#
-
6
visual studio 2019において、宣言していない変数があるのにエラーなくビルド出来ました
C言語・C++・C#
-
7
C言語について。
C言語・C++・C#
-
8
C言語の質問です if(a[0]>a[1]&&a[2]&&a[3]&&a[4]) {printf(“
C言語・C++・C#
-
9
C言語 コマンドプロンプトについて。
C言語・C++・C#
-
10
プログラミング 素数か素数ではないか判断するプログラミングで、写真のようなプログラミングを打ったとき
C言語・C++・C#
-
11
いまc言語の標準ライブラリ文字列を勉強しているのですがいまいちわかりません。 strcmpとmemc
C言語・C++・C#
-
12
c言語の問題の説明、各所ごとに
C言語・C++・C#
-
13
const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか
C言語・C++・C#
-
14
マクロ関数 #define の効果は何ですか? わかりやすく教えて下さい
C言語・C++・C#
-
15
c言語 プログラムのエラー
C言語・C++・C#
-
16
ファイルがあるのにエクスプローラでは存在しない
C言語・C++・C#
-
17
プログラミング アルゴリズム
C言語・C++・C#
-
18
C言語でファクト関数を使わずに階乗を計算する方法はありますか?できれば教えてください
C言語・C++・C#
-
19
いまc言語を独学で勉強しているのですがいまいちわかりません。 https://monozukuri-
C言語・C++・C#
-
20
C言語について。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語の配列を使ってサイコロを...
-
「指定されたキャストは有効で...
-
複数桁10進数の*桁目だけを抽出...
-
C言語での引数の省略方法
-
C言語のサイコロシミュレート
-
PowerShellがうまくいかない
-
C言語 エラーの原因がわからな...
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
実数の整数部,小数部の取得
-
#define _CRT_SECURE_NO_WARNIN...
-
【C++】関数ポインタの使い方
-
C言語で分からないところがあり...
-
式は定数値が必要です」という...
-
「{ } で囲むだけ」は正しい?
-
ソースコード void printBi(cha...
-
数字列を3桁ごとにカンマで区切...
-
メルセンヌ・ツイスタの乱数生...
-
C言語の配列をC++のvectorに高...
-
ポインタを使って関数の値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
実数の整数部,小数部の取得
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
(マルチスレッド)_beginthrea...
-
if と配列の組み合わせ
-
system関数がうまくいかない
-
read関数をノンブロッキングで...
-
std::set<int> で、ある値が何...
-
式は定数値が必要です」という...
-
(int *)の意味
-
数字列を3桁ごとにカンマで区切...
-
「{ } で囲むだけ」は正しい?
-
int16_t の _t は何?
-
【至急】プログラムにエラーが...
-
systemの戻り値を取得する方法
おすすめ情報