私は小さな宿題に取り組んでいます。私は食べ物メニューを作っています。とにかく、私のスイッチは動作していません。私は「魚」、「ドリンク」、またはそれに「チップ」の値を渡すことができます簡単な関数を使用しようとしていると、それが出力されます:文字列でステートメントを切り替えますか?
"Are you ordering FISH?" (or chips/drink)
は私がにスイッチを得ることができません私が何を渡したのかを検出し、スイッチのケースに基づいてprintfを出力することになっています。
CODE:
#include <stdio.h>
void menu() {
printf("\nWelcome to Sunny FISH & CHIPS!\n\n");
printf("######## Fish : Haddock(K) Large(L) | $5.00\n");
printf("# FOOD # Halibut(T) Large(L) | $4.00\n");
printf("######## Chips: Cut(C) Large(L) | $2.00\n");
printf(" Ring(R) Large(L) | $3.00\n");
printf(" | \n");
printf("########## Soft Drinks(S) Large(L) | $2.00\n");
printf("# DRINKS # Coffee(C) Large(L) | $1.75\n");
printf("########## Tea(T) Large(L) | $1.50\n");
printf("---------------------------------------------\n");
printf("Note: Medium price: 80%% of large.\n");
printf(" Small price: 60%% of large.\n");
printf("TAX is 10%%.\n");
printf("More than 5 fish, 10%% discount on drink.\n");
printf("Every 10 fish purchased, get 1 free softdrink.\n");
printf(" - size of drink is according to size of fish\n");
}
void question (char choice[5]) {
switch (choice[5])
{
case choice["fish"]:
printf("Do you order FISH?\n");
case choice["drink"]:
printf("Do you order CHIPS?\n");
case choice["chips"] :
printf("Do you order DRINKS?\n");
default :
printf("Enter a valid choice: \n");
}
}
main() {
// menu();
question("fish");
}
それぞれの場合、 'strcmp'を使用して完全な文字列が実際に一致することを確認する必要があります。 –
@R ..私が言ったように、これは各選択肢がある位置にユニークな文字を持っていれば正しく動作します。 –
これは別の問題です。私の指摘は、同じ文字で始まるがリストにない他の文字列も、あなたのソリューションで受け入れることです。 –