Вопрос 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», в результате получается просто новая строка, я не знаю, в чем дело ».
На вопрос 1:
#include <iosteam>
или же #include <iostream>
? cout << punct_cnt << endl;
в конце тамЭто ошибки, насколько я понимаю.
Вопрос 2:
Enter не прерывает цикл while, это как пробел.
Чтобы разорвать цикл while, вам нужно ввести EOF. что Ctrl + Z или Ctrl + C зависит от вашей ОС.