以下のコードをコンパイル後実行すると、0~9までの出現回数がわかるのですが、処理を続けますか?と出た後yを入力するともう一度 do 以降を実行するようにしたいのですが、yを入力する前にプログラムが終了してしまいます。何がいけないんでしょうか?
#include <iostream>
using namespace std;
int main (void)
{
int i;
char cont;
char c;
int count[10] = {0};
do{
while (cin.get(c)){
switch (c){
case '0': count[0]++; break;
case '1': count[1]++; break;
case '2': count[2]++; break;
case '3': count[3]++; break;
case '4': count[4]++; break;
case '5': count[5]++; break;
case '6': count[6]++; break;
case '7': count[7]++; break;
case '8': count[8]++; break;
case '9': count[9]++; break;
}
}
for (i =0; i < 10; i++)
cout << i << "の出現回数は" << count[i] << "\n";
cout <<"処理を続けますか?(y/N)";
cin >>cont;
}while (cont == 'y');
}
お礼
望んだ処理が出来ました!!! ありがとうございました。