![]() |
Программа на C++. Как сделать проверку на конец строки?
Вот такая ситуация, для начала цель:
Нужна прога, в которой вводим строку из слов, после нажатия ВВода прога сообщает сколько всего символов в строке, Самое длинное и самое короткое слово. При этом надо учесть что пробелы и знаки пунктуации не будут подсчитываться, но могут использоваться. Код:
#include<iostream.h>Но я не знаю как, повторяю трабл в том, чтобы прога работала правильно если последный символ не является пробелом или знаком пунктуации. У меня правильно считает только если пробел или знак пунктуации. Хелп. |
Первый вариант:
читай строку ф-цией сin.getline() (твой код был cin.get(mass,100);), в MSDN есть описание - тогда в массиве не будут символы "конец строки" тобиш '\n' Второй вариант: Сделай еще одну проверку на конец строки - символ '\n' if (ispunct(mass[zz]) || isspace(mass[zz]) || iseol(mass[zz])) |
А вот что выдает [C++ Error] Unit1.cpp(16): E2268 Call to undefined function 'iseol' Хотя я именно это искал, но пишет, как будто ошибка в написании имени функции.
P.S Кстати разве конец строки \n? Не \0 ? |
Код:
#include <stdio.h> |
RevenAnt, спасибо, +1 к репутации, только почему русские буквы не воспринимает? Попробовал заменить a и z, и A и Z на а и я и А и Я, не пошло.
|
ну просто :) пойдём тагда по ascii кодам =)
Код:
if ((mass[i]>=-96 && mass[i]<=-17) || (mass[i]>=-128 && mass[i]<=-97))Код:
for (i=-128;i<-98; i++) {printf ("%c",i);} |
Цитата:
Цитата:
мда вот решение (предложение может быть любой длины): Код:
#include <stdio.h> |
Нам недавно тож такое задавали, я делал так:
Код:
#include <stdio.h> |
| Время: 12:57 |