になるように見えないので、ユーザーに単語やフレーズを尋ねて、その単語のスクラブル値を与えるプログラムを作成しようとしています。私が取り組んでいる問題は、ユーザーが単語/フレーズとして文字 "q"または "Q"だけを入力すると、プログラムのwhileループが閉じる必要があることです。私のWhileステートメントは
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string>
#include<conio.h>
これは私が問題を抱えていますのはここ
int main()
{
char *ptr;
char check;
int wordvalue;
char name[100];
printf("\nEnter a word :");
scanf("%s", name);
ptr = name;
check = name[0];
wordvalue = scrabbleValue(ptr);
printf("Your word value is: %d\n", wordvalue);
がある古き良きメイン文の手紙の価値
int scrabbleValue(char* word)
{
int value = 0;
int scrabbleTot = 0;
int index = 0;
while (*(word + index) != '\0')
{
switch (toupper(*(word + index)))
{
case 'A':
case 'E':
case 'I':
case 'L':
case 'N':
case 'O':
case 'R':
case 'S':
case 'T':
case 'U':
value = 1;
break;
case 'D':
case 'G':
value = 2;
break;
case 'B':
case 'C':
case 'M':
case 'P':
value = 3;
break;
case 'F':
case 'H':
case 'V':
case 'W':
case 'Y':
value = 4;
break;
case 'K':
value = 5;
break;
case 'J':
case 'X':
value = 8;
break;
case 'Q':
case 'Z':
value = 10;
break;
}
scrabbleTot += value;
*word++;
}
return scrabbleTot;
}
を決定する関数です。私はループが正しく動作するようになっている間にこれを得ることはできません。私は名前[0]と "q"の文字列比較を試みましたが、コンパイルされません。間違っているようだ
while (!strcmp() || !strcmp(name, "Q"))
{
printf("\nEnter a word :");
scanf("%s", name);
ptr = name;
wordvalue = scrabbleValue(ptr);
printf("Your word value is: %d\n", wordvalue);
}
return 0;
}
あなたは 'のstrcmp()'をどうしようとしている何!の?また、C++を使用している場合は、文字列を扱う際に['std :: string'](http://en.cppreference.com/w/cpp/string/basic_string)を使うべきです。 – NathanOliver
'!strcmp()'とは何ですか? –
'!strcmp()'はコンパイルされますか?それはしないでください。 –