Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
-6 / 11 / 1
Регистрация: 11.02.2011
Сообщений: 227
1

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

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

Author24 — интернет-сервис помощи студентам
где в коде ошибка?
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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2014, 00:35
Ответы с готовыми решениями:

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

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

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

Подсчет слов в предложении
Написала программу, но в ней есть ошибка. Самой найти не получается, программа считает знак...

14
32 / 32 / 19
Регистрация: 13.07.2011
Сообщений: 140
18.04.2014, 04:26 2
Что выдает при компиляции, какие ошибки? Тут же не Ванги сидят
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 04:32 3

Не по теме:

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



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

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

Не по теме:

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

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

напрашивается вопрос зачем в книге ( не только в этой ) они рассматриваются по отдельности?
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.04.2014, 18:02 13
Лучший ответ Сообщение было отмечено web-magician как решение

Решение

Цитата Сообщение от web-magician Посмотреть сообщение
спорить не будем может ты и прав конечно
Я прав в общем случае, но не в этом, конкретно. Специфика нестандартных функций getch() и getche(): при нажатии на Enter возвращают '\r'. Интересно, зачем Лафоре, в примерах, использует нестандарт?

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

Добавлено через 1 минуту
В UNIX - только '\n', в Mac OS - только '\r'.
1
-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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2014, 18:42

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

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

Поиск слов: найти ошибку в коде
Русский знаю плохо так что заранее сорри если будут проблемы с моими терминами.Пытаюсь написать код...

Вычисление факториала с использованием рекурсии - найти ошибку в коде
Что я не так делаю, когда вычисляю факториал введенного числа в текстовое поле? Получается 5!=20,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru