Другие языки программирования и технологии
Как ввести новую строку в консоль, чтобы переменная счета увеличилась? С++
Мне нужно подсчитать пробелы, точки, я ввожу их в консоль вручную, ввожу данные то есть. А как со строкой?
#include <iostream>
using namespace std;
int main() {
int s, d, nl;
char c;
s = d = nl = 0;
while (cin.get(c)) {
if (c == '\n') ++nl;
if (c == ' ') ++s;
if (c == '.') ++d;
}
cout << "строк: " << nl << endl
<< "пробелов: " << s << endl
<< "точек: " << d << endl;
return 0;
}
Окончание ввода в консоли в разных ОС по разному делается, к примеру в винде это будет последовательность нажатия Enter, далее комбинации Ctrl-Z и снова Enter, в юниксовых консолях достаточно нажать Ctrl-D.
Как выше было отмечено, таки непонятно что тебе конкретно надо, выложи задание и свой код.
Если ты хочешь работать непосредственно с каждой введенной строкой и использовать getline, то просто считай, сколько раз отработал вызов getline:
#include <iostream>
#include <string>
using namespace std;
int main() {
int sc = 0;
string s;
while (getline(cin, s)) {
++sc; // добавляем кол-во введенных строк
// считаем кол-во нужных символов в введенной строке
// ...
}
cout << "введено строк: " << sc << endl;
// ...
return 0;
}
using namespace std;
int main() {
int s, d, nl;
char c;
s = d = nl = 0;
while (cin.get(c)) {
if (c == '\n') ++nl;
if (c == ' ') ++s;
if (c == '.') ++d;
}
cout << "строк: " << nl << endl
<< "пробелов: " << s << endl
<< "точек: " << d << endl;
return 0;
}
Окончание ввода в консоли в разных ОС по разному делается, к примеру в винде это будет последовательность нажатия Enter, далее комбинации Ctrl-Z и снова Enter, в юниксовых консолях достаточно нажать Ctrl-D.
Как выше было отмечено, таки непонятно что тебе конкретно надо, выложи задание и свой код.
Если ты хочешь работать непосредственно с каждой введенной строкой и использовать getline, то просто считай, сколько раз отработал вызов getline:
#include <iostream>
#include <string>
using namespace std;
int main() {
int sc = 0;
string s;
while (getline(cin, s)) {
++sc; // добавляем кол-во введенных строк
// считаем кол-во нужных символов в введенной строке
// ...
}
cout << "введено строк: " << sc << endl;
// ...
return 0;
}
Энтер
Подробней, в чем состоит задание? А лучше скиньте ваш код.
Отправил свой скайп почтой для связи, здесь неудобно обсуждать.
Отправил свой скайп почтой для связи, здесь неудобно обсуждать.
Похожие вопросы
- Ассемблер. Ввели строку в консоли - как узнать все ли там цифры или есть другие символы?
- Как убрать тысячи "перенос на новую строку" в ворде.
- С# - нужно сделать так, чтобы консоль читала слова, как переменные, а не просто слова...
- Присвоение введенных данных новой переменной в С++
- Как на c++ реализовать прием строки произвольного размера из консоли?
- Как преобразовать строки файла в переменные (C#)?
- Програма на С++ Ввести с клавиатуры строку символов и перевернуть каждое четное слово в строке.
- C#. Как сделать, чтобы программа проверяла тип введённой переменной?
- Как удалить символ из переменной типа строки в PHP?
- Пользователь вводит строку. Найти и вывести из строки римские цифры от 1 до 5, введенные прописными символами.
> k += l;
Че это за хня? Зачем она нужна?
Сорри, ты пытаешься весь текст в одно строку считать, но проблема в том, что getline отбрасывает символы новой строки, т. е. в результирующей строке у тебя ни одного символа '\n' не будет.