
以下設問お助けください、、、
解答コードお願いします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も見ています
-
再起呼び出しの回数をカウントするプログラム
C言語・C++・C#
-
HEWを使用しているのですが、このようなエラーが出ました。
C言語・C++・C#
-
C言語初心者 ポインタについて、お助けください、、
C言語・C++・C#
-
-
4
c言語 16進数の2進数への変換
C言語・C++・C#
-
5
c言語のプログラミングについての質問なのですが、 定価と消費税率(%)を引数として税込価格を返すpr
C言語・C++・C#
-
6
間接参照のレベルが異なっています
C言語・C++・C#
-
7
構文エラー;"が型の前にありませんとは、どうしたら解決できるのですか。"
C言語・C++・C#
-
8
C言語初心者 構造体 課題について
C言語・C++・C#
-
9
C言語初心者 構造体 課題について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
複数桁10進数の*桁目だけを抽出...
-
C言語での引数の省略方法
-
ラップ関数とはどんなものですか?
-
C言語 エラーの原因がわからな...
-
C言語 プログラミング
-
windows-findstrの正規表現を使...
-
【C++】関数ポインタの使い方
-
C言語で分からないところがあり...
-
ゴールドバッハの予想のプログラム
-
実数の整数部,小数部の取得
-
「{ } で囲むだけ」は正しい?
-
C言語での奇数の和
-
構造体の勉強中です 合計点の高...
-
if と配列の組み合わせ
-
整数データの配列から同じ値の...
-
異なる文字列のマッチングを、D...
-
C#の1~Xまでの数値を徐々に...
-
C2601 ローカル関数の定義について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
int型の変数値をバイト列として...
-
std::set<int> で、ある値が何...
-
PowerShellがうまくいかない
-
(int *)の意味
-
CStringの配列要素を関数で受け...
-
ColorをRGBで指定する方法
-
「{ } で囲むだけ」は正しい?
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
read関数をノンブロッキングで...
-
(マルチスレッド)_beginthrea...
-
int16_t の _t は何?
おすすめ情報