#include <iostream>
using namespace std;
int main()
{
string input; //User input
char a; //Individual characters
int score(0); //Final score
int numa(0); //Number of a
int numg(0); //Number of g
int numm(0); //Number of m
int numf(0); //Number of f
int numk(0); //Number of k
int numj(0); //Number of j
cout << "Enter Text: "; //Requesting and storing user input
cin >> input;
cout << endl;
a = input[0];
cout << a;
if(a != '!' || a != '.')
{
int num(0);
while(num<=input.length())
{
a = input[num];
switch(a)
{
case 'a':
case 'A':
score += 1;
numa++;
break;
case 'g':
case 'G':
score += 2;
numg++;
break;
case 'm':
case 'M':
score += 3;
numm++;
break;
case 'f':
case 'F':
score += 4;
numf++;
break;
case 'k':
case 'K':
score += 5;
numk++;
break;
case 'j':
case 'J':
score += 8;
numj++;
break;
default:
break;
}
num++;
}
}
cout << "Number of a's (worth 1 point each): " << numa << endl;
cout << "Number of g's (worth 2 point each): " << numg << endl;
cout << "Number of m's (worth 3 point each): " << numm << endl;
cout << "Number of f's (worth 4 point each): " << numf << endl;
cout << "Number of k's (worth 5 point each): " << numk << endl;
cout << "Number of j's (worth 8 point each): " << numj << endl;
cout << endl;
cout << "Total score: " << score;
}
このプログラムは、ユーザーの入力を受け取り、そこに含まれる内容に基づいてスコアを与えます。文字aは1点、gは2、mは3、fは4、kは5、jは8です。または "。"だから、aaa!そしてaaa。 aaa!aaとaaa.aaは3点を与えなければならない。と "。"無視される。また、文字列が "!"で終わっていない場合は実行しないでください。または "。"、aaaa!およびaaaa。 aaaaは何も返しませんが、両方に対して4点を返します。問題は、switch文で定義されていない空白や文字tがある場合、プログラムは実行されません。最終目標はこの声明のためのものです。 28.C++改行中whileループ
あなたの好きな本では、空白で何が行われているかについてもっと読む必要があると思います。 – molbdnilo
こんにちはmolbdnilo、私はまだC + +の非常に新しいです。 >>は空白を普通の文字とは違って扱いますか? – INeedHelp101
はい、そうです。あなたが学んでいる材料が何であれ、これを教えるべきですが、そうでなければ良い本のリストがあります。[ここ](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-そしてリスト)。 – molbdnilo