Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
web-magician
-6 / 11 / 1
Регистрация: 11.02.2011
Сообщений: 227
#1

Подсчет числа слов в предложении с использованием перечислений. Найти ошибку в коде - C++

18.04.2014, 00:35. Просмотров 319. Ответов 14
Метки нет (Все метки)

где в коде ошибка?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// подсчет чила слов в предложении с использованием перечислений.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>   // для getche()
#pragma warning(disable:4996)
 
using namespace std;
 
enum itsaWord { NO, YES };
int main()
{
    setlocale ( LC_ALL,"Rus" );
    itsaWord isWord = NO;   // isWord равно YES, когда вводится слово, и NO когда вводятся пробелы
    char ch = 'a';   // считывание символа с клавиатуры
    int wordcount = 0;   // число слов
    cout << " Введите предложение: \n ";
    do
    {
        ch = getch ();   // ввод символа
        if ( ch == ' ' || ch == ' \r ' )   // если введен пробел
        {
        if ( isWord == YES )   // а до этого вводилось слово
        {   // значит, слово закончилось
            wordcount ++;   // учет слова
            isWord = NO;   // сброс флага
        }
        }   // в противном случае
        else   // ввод слова продолжается
        if ( isWord == NO )   // если начался ввод слова
            isWord = YES;   // то устанавливаем флаг
    }
    while ( ch != ' \r ' );   // выход по нажатию Enter
    cout << " \n --- Число слов: " << wordcount << " --- \n ";
    return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2014, 00:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчет числа слов в предложении с использованием перечислений. Найти ошибку в коде (C++):

Подсчет числа слов в предложении до точки - C++
Напишите программу,которая считает сколько слов в предложении до точки, с использованием getchar

Посчитать количество слов в предложении (найти ошибку) - C++
Здравствуйте! Вот несложная задача на строки. Я ее решил стандартным методом, через потоки. Но в последнем тесте - неправильный ответ....

Поиск слов. Найти ошибку в коде - C++
Текст загружается из файла и передаётся в качестве параметра функции. Найденные в результате выполнения слова выводятся в консоль. Задание...

Подсчет слов в предложении - C++
Написала программу, но в ней есть ошибка. Самой найти не получается, программа считает знак &quot;-(тире)&quot; за отдельное слово. Помогите,...

Подсчет количества слов в предложении - C++
Здравствуйте. Помогите, пожалуйста, с лабой. 1. Дана строка символов. Распечатать слова, отличные от последнего, оставив в каждом слове...

Подсчет количества предложений и слов в предложении - C++
Нужно написать программу, которая в текстовом файле считает количество предложений и для каждого выводит количество слов в нем. Как-то не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 138
18.04.2014, 04:26 #2
Что выдает при компиляции, какие ошибки? Тут же не Ванги сидят
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 04:32 #3

Не по теме:

Цитата Сообщение от RamonN Посмотреть сообщение
Тут же не Ванги сидят
А вдруг?



Добавлено через 3 минуты
Это что?
C++
1
|| ch == ' \r '
0
web-magician
-6 / 11 / 1
Регистрация: 11.02.2011
Сообщений: 227
18.04.2014, 16:53  [ТС] #4
компилятор выдает ошибку на этом ch = getch (); студия vs2012 "|| ch == ' \r ' " там же подписано что... слеш r это если не нажата клавиша коретки то есть энтер

Добавлено через 1 минуту
я учусь по книжке и столкнулся с этим не нужно мудрить заумными словами типа мы не ванги...можно было сказать точнее укажи ошибку и т.д.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 17:07 #5
Цитата Сообщение от web-magician Посмотреть сообщение
там же подписано что... слеш r это если не нажата клавиша коретки то есть энтер
Что подписано, вижу, не слепой... У вас что в одинарных кавычках? Символ или строка? Пробела там к чему приделаны?
Цитата Сообщение от web-magician Посмотреть сообщение
слеш r это если не нажата клавиша коретки то есть энтер
Ввод, в windows, заканчиваетс '\n', а не '\r'.
0
web-magician
-6 / 11 / 1
Регистрация: 11.02.2011
Сообщений: 227
18.04.2014, 17:14  [ТС] #6
код который я сюда написал это точно взятый из книги и если там так написано и с учетом того что я только учусь моей вины там нет... а пробелы видимо опечатка.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 17:18 #7
Цитата Сообщение от web-magician Посмотреть сообщение
и с учетом того что я только учусь моей вины там нет... а пробелы видимо опечатка.
Смотреть же нужно, когда переписываете. Что за книга?
0
web-magician
-6 / 11 / 1
Регистрация: 11.02.2011
Сообщений: 227
18.04.2014, 17:19  [ТС] #8
а что касается ввода, в виндовс и что должно заканчиваться \n а не \r это не так потому что там не перевод на новую строку текста,а именно клавиша ввода
0
RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 138
18.04.2014, 17:19 #9
web-magician,

Не по теме:

Можно узнать, что за книга такая?

0
web-magician
-6 / 11 / 1
Регистрация: 11.02.2011
Сообщений: 227
18.04.2014, 17:20  [ТС] #10
книга Lafore_-_Obektno_Oreentirovannoe_programmirovanie
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 17:28 #11
Цитата Сообщение от web-magician Посмотреть сообщение
а именно клавиша ввода
Клавиша ввода и есть '\n' (в windows \r\n, в текстовых режимах обрабатывается как один симол '\n'). Спорить будем?
0
web-magician
-6 / 11 / 1
Регистрация: 11.02.2011
Сообщений: 227
18.04.2014, 17:42  [ТС] #12
спорить не будем может ты и прав конечно, а \r как отельный символ или как там правильно будет сказать команда не существует?
\r - возврат каретки
\n - новая строка

напрашивается вопрос зачем в книге ( не только в этой ) они рассматриваются по отдельности?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 18:02 #13
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от web-magician Посмотреть сообщение
спорить не будем может ты и прав конечно
Я прав в общем случае, но не в этом, конкретно. Специфика нестандартных функций getch() и getche(): при нажатии на Enter возвращают '\r'. Интересно, зачем Лафоре, в примерах, использует нестандарт?

Добавлено через 2 минуты
Цитата Сообщение от web-magician Посмотреть сообщение
а \r как отельный символ или как там правильно будет сказать команда не существует?
Существует, но не в текстовых (в бинарных) режимах чтения/записи. Вернее, существует (в windows) он всегда, но обрабатывается текстовыми и бинарными методами по-разному: текстовые обрабатывают \r\n как один \n, бинарные как два символа.

Добавлено через 1 минуту
В UNIX - только '\n', в Mac OS - только '\r'.
1
web-magician
-6 / 11 / 1
Регистрация: 11.02.2011
Сообщений: 227
18.04.2014, 18:19  [ТС] #14
я извиняюсь пропустил одну букву getch() и getche() моя невнимательность! всем спасибо.
alsav22 могу я обращаться к тебе лично за помощью, поможешь в изучении этого языка?
0
alsav22
18.04.2014, 18:42     Подсчет числа слов в предложении с использованием перечислений. Найти ошибку в коде
  #15

Не по теме:

Цитата Сообщение от web-magician Посмотреть сообщение
могу я обращаться к тебе лично за помощью
Обращаться не запрещено, только смысл? Я один, а на форуме советчиков много, быстрее помогут, да и я не такой большой знаток.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2014, 18:42
Привет! Вот еще темы с ответами:

Вывести все простые числа до заданного n (найти ошибку в коде) - C++
#include &lt;iostream&gt; using namespace std; int main() { int n, i, a; cout &lt;&lt; &quot;Input the number&quot;&lt;&lt;&quot;\n&quot;; cin &gt;&gt; n; for (i = 1;...

Подсчёт числа слов в предложении - исправить ошибки - C++
помогите исправит ошибку.прог не правильно работает. он предназначен для считывание число слов в предложении #include &lt;iostream&gt; ...

Программирование с использованием перечислений, структур, объединений и полей бит - C++
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем –обработка списка. Сначала в...

Подсчет числа слов во введенных данных - C++
Приветствую. Имеется задание: напишите программу, которая должна вычислить, сколько раз каждое отдельное слово содержится во введенных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.04.2014, 18:42
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru