Как посчитать количество введенных символов? - PullRequest
0 голосов
/ 25 ноября 2018

Мое назначение:

В C ++ используйте указатель для подсчета количества символов, введенных пользователем.Выведите вывод на экран

Вот что я сделал.Я не знаю, как считать символы, которые я ввел.

#include <iostream>

using namespace std;

int main()
{
    int string[20] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
    int sum = 0;
    char a;
    cout << "Enter less than 20 characters(no space) : ";
    for (int i = 0; i < 20; i++)
    {
        cin >> a;
        string[i] = a;
        if (string[i] != 0)
            sum = sum + 1;
        else
            break;
    }
    cout << endl;
    cout << "The number of characters in " << *string << " is " << sum;
    return 0;
}

1 Ответ

0 голосов
/ 25 ноября 2018

Исходя из моего понимания требований, вам нужно использовать указатель.

int main()
{
  static const size_t MAX_CHARS = 20;
  char text[MAX_CHARS] = {0};
  std::cout << "Enter up to 20 characters, no spaces: ";
  size_t quantity;
  char c;
  while (std::cin >> c)
  {
     if (quantity >= MAX_CHARS) break;
     text[quantity++] = c;
  }
  // Count the characters using a pointer: 
  if (quantity < MAX_CHARS)
  {
     text[quantity] = '\0';
  }
  else
  {
     text[MAX_CHARS - 1] = '\0';
  } 
  quantity = 0;
  char * pointer = &text[0];
  while (*pointer != '\0')
  {
    ++quantity;
    ++pointer;
  }
  std::cout << "Characters entered: " << quantity << "\n";
  return 0;
}

Полагаю, это упражнение для понимания указателей.

В противном случае я предлагаю использовать std::string и std::string::length().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...