циклы — диапазон C ++ для (сколько знаков препинания в письмах)

Вопрос 1 :

#include <iosteam>
#include <string>
using namespace std ;
int main()
{
string s("hello world!!!")
decltype(s.size()) punct_cnt = 0 ;
for(auto c: s ) //I can't run this line in my C++ !
if(ispunct(c))
++punct_cnt ;
cout << punc_cnt << endl ;
}

Я не знаю, почему я не могу бежать «за (авто c: s)», пожалуйста, помогите!

Вопрос 2:

#include <iostream>
#include <string>
using namespace std;
int main ()
{
const string hexdigits = "0123456789ABCDEF";
cout <<"Enter a series of number between 0 and 15" << "separated by spaces.hit ENTER when           finished" <<endl;
string result ;
string::size_type n ;
while (cin >> n )
if ( n < hexdigits.size())
result += hexdigits[n];
cout <<"Your hex number is :" << result << endl;
system("PAUSE");
return 0 ;
}

Этот код должен быть успешным, но когда я ввожу «1 2 3 4 5 6», в результате получается просто новая строка, я не знаю, в чем дело ».

-2

Решение

На вопрос 1:

  • это #include <iosteam> или же #include <iostream>?
  • убедитесь, что каждое завершенное утверждение заканчивается точкой с запятой
  • ты должен иметь в виду cout << punct_cnt << endl; в конце там

Это ошибки, насколько я понимаю.

1

Другие решения

Вопрос 2:

Enter не прерывает цикл while, это как пробел.

Чтобы разорвать цикл while, вам нужно ввести EOF. что Ctrl + Z или Ctrl + C зависит от вашей ОС.

0

По вопросам рекламы [email protected]