
以下設問お助けください、、、
解答コードお願いします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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
式は定数値が必要です」という...
-
if と配列の組み合わせ
-
C言語 エラーの原因がわからな...
-
ラップ関数とはどんなものですか?
-
16進数を入力とするatoi関数...
-
(マルチスレッド)_beginthrea...
-
入力を待たずにstdinの監視をし...
-
比較回数と交換回数表示について
-
毎回違う乱数を生成するにはど...
-
【C++】関数ポインタの使い方
-
C++でvectorにテキストファイル...
-
市松模様
-
acceptをalarmでタイムアウトさ...
-
(int *)の意味
-
整数データの配列から同じ値の...
-
C言語初心者です、、、お助けく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
ラップ関数とはどんなものですか?
-
【C++】関数ポインタの使い方
-
if と配列の組み合わせ
-
(int *)の意味
-
ColorをRGBで指定する方法
-
未解決の外部シンボル _printf...
-
構造体の勉強中です 合計点の高...
-
商と剰余を同時に求める(C言語)
-
C言語で分からないところがあり...
-
式は定数値が必要です」という...
-
C言語での奇数の和
-
std::set<int> で、ある値が何...
-
課題でつまってます・・・
-
int16_t の _t は何?
-
比較回数と交換回数表示について
おすすめ情報