Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/125: Рейтинг темы: голосов - 125, средняя оценка - 4.73
3 / 3 / 2
Регистрация: 06.08.2011
Сообщений: 25

признак конца ввода

16.10.2011, 11:36. Показов 23083. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Учу С++ по книге Дейтела
так вот там пример программы
Code
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
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <locale.h>
using namespace std;
 
main()
{
  setlocale(LC_ALL, "Russian");
  int grade;
  int aCount = 0, bCount = 0, cCount = 0,
      dCount = 0, fCount = 0;
 
  cout << "Введите буквенную оценку." << endl
       << "Введите символ EOF по окончании ввода." << endl;
 
  while ((grade = cin.get()) != EOF )
   {
       switch (grade)
       {
           case 'A': case 'a':
             ++aCount;
             break;
           case 'B': case 'b':
             ++bCount;
             break;
           case 'C': case 'c':
             ++cCount;
             break;
           case 'D': case 'd':
             ++dCount;
             break;
           case 'F': case 'f':
             ++fCount;
             break;
           case '\n': case ' ':
             break;
 
          default:
           cout << "Введена неправильная буквенная оценка."
                << " Введите новую оценку." << endl;
       }
   }
 
   cout << endl << "Количество различных оценок:"
        << endl << "A: " << aCount << endl << "B: " << bCount
        << endl << "C: " << cCount << endl << "D: " << dCount
        << endl << "F: " << fCount << endl;
  return 0;
}
Пользуюсь Code::blocks 10.05
вин 7
Ошибка выглядит так
error: 'EOF' was not declared in this scope
помогите исправить чтобы программа работала)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.10.2011, 11:36
Ответы с готовыми решениями:

Задача, на признак конца ввода
Помогите пожалуйста

С клавиатуры вводятся целые числа. Признак конца ввода – 0. Определить количество минимальных значений.,
нужно написать программку срочно(С++) ...О_опомогите пожалуйста) ВОТ УСЛОВИЕ: С клавиатуры вводятся целые числа. Признак конца...

Вводится последовательность символов. Признак конца ввода – точка. Посчитать количество символов не являющихся пробелами
Порядок выполнения работы 1.Изучите теоретическое обоснование и проанализируйте приведенные выше примеры программ с циклами типа for,...

10
82 / 82 / 24
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
16.10.2011, 12:17
проверил на visual studio 10 все работает. единственное к main надо было int подписать.
0
3 / 3 / 2
Регистрация: 06.08.2011
Сообщений: 25
16.10.2011, 12:26  [ТС]
Цитата Сообщение от LostCoast Посмотреть сообщение
проверил на visual studio 10 все работает. единственное к main надо было int подписать.
int тоже не помогает в решении проблемы(
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
16.10.2011, 12:31
Цитата Сообщение от JL25A Посмотреть сообщение
не помогает в решении проблемы
C++
1
#include <cstdio>
1
 Аватар для kazak
3599 / 2741 / 354
Регистрация: 11.03.2009
Сообщений: 6,299
16.10.2011, 12:33
Попробуй добавить
C++
1
#include <cstdio>
или на худой конец в начале программы
C++
1
#define EOF (-1)
0
3 / 3 / 2
Регистрация: 06.08.2011
Сообщений: 25
16.10.2011, 12:46  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
Попробуй добавить
C++
1
#include <cstdio>
или на худой конец в начале программы
C++
1
#define EOF (-1)
копилируется без ошибки, но с цикла не выходит
т.е если ввожу EOF то выходит сообщение
Введена неправильная буквенная оценка. Введите новую оценку.
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
16.10.2011, 13:02
C++
1
while (cin >> grade)
0
 Аватар для kazak
3599 / 2741 / 354
Регистрация: 11.03.2009
Сообщений: 6,299
16.10.2011, 13:27
Цитата Сообщение от JL25A Посмотреть сообщение
т.е если ввожу EOF то выходит сообщение
Каким образом вводишь? Чтобы в консоли ввести EOF нужно нажать комбинацию клавишь <Ctrl>+<Z> для винды и <Ctrl>+<D> для nix'ов.
1
3 / 3 / 2
Регистрация: 06.08.2011
Сообщений: 25
16.10.2011, 13:45  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
Каким образом вводишь? Чтобы в консоли ввести EOF нужно нажать комбинацию клавишь <Ctrl>+<Z> для винды и <Ctrl>+<D> для nix'ов.
Все спасибо работает)) Как раз до этого пункта дошел
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,698
16.10.2011, 13:52
Если не знаешь где определён идентификатор, делаешь так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
К примеру, если мы находимся в папке, где есть несколько файлов с расширением .h (тех же инклудов), то поможт такая команда
 
FIND "EOF" *.h > zzzz.txt
 
результаты будут в файле zzzztxt
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
Эта команда
FINDSTR /S /I ResumeThread *.*> zzzz.txt
будет искать строку stroka во всех файлах каталога и подкаталогов, рекурсивно,(/S) не учитывая регистр (/I),
Но эТо делать не рекомендуется и бо  она и в бинарниках тоже будет искать, а тогда zzz.txt окажется юникодовым
 
Вот так лучше
FINDSTR /S /I ResumeThread *cpp*> zzzz.txt
...то же самое, но во всех файлах *cpp
Потом открывашь файл-результат zzzz.txt, смотришь файлы, в которых есть EOF, открываешь их. Тот, в котором нужное определинее, подключаешь.
1
3 / 3 / 2
Регистрация: 06.08.2011
Сообщений: 25
16.10.2011, 14:15  [ТС]
Цитата Сообщение от kravam Посмотреть сообщение
Если не знаешь где определён идентификатор, делаешь так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
К примеру, если мы находимся в папке, где есть несколько файлов с расширением .h (тех же инклудов), то поможт такая команда
 
FIND "EOF" *.h > zzzz.txt
 
результаты будут в файле zzzztxt
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
Эта команда
FINDSTR /S /I ResumeThread *.*> zzzz.txt
будет искать строку stroka во всех файлах каталога и подкаталогов, рекурсивно,(/S) не учитывая регистр (/I),
Но эТо делать не рекомендуется и бо  она и в бинарниках тоже будет искать, а тогда zzz.txt окажется юникодовым
 
Вот так лучше
FINDSTR /S /I ResumeThread *cpp*> zzzz.txt
...то же самое, но во всех файлах *cpp
Потом открывашь файл-результат zzzz.txt, смотришь файлы, в которых есть EOF, открываешь их. Тот, в котором нужное определинее, подключаешь.
Я новичек еще( не понятно как делать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.10.2011, 14:15
Помогаю со студенческими работами здесь

Не работает признак окончания ввода(признак-0)
Признак окончания ввода 0; подскажите люди добрые что не так?) #include &lt;iostream&gt; #include&lt;stdio.h&gt; using namespace std; int...

Признак конца string
Здравствуйте. Хочу пробежаться по каждому символу объекта класса string циклом while. И к примеру вывести на экран каждый из них. Цикл...

Visual Studio 2015 признак конца файла
Вот есть такой простейший кусок кода: int main() { vector&lt;double&gt; vec; double x; cout &lt;&lt; &quot;Введите числа: &quot;; while (cin...

дана последовательность действительных чисел а1 а2 а3. признак конца последовательности 999
дана последовательность действительных чисел а1 а2 а3. признак конца последовательности 999.определить: разность между наибольшем числом и...

std::cin, eof не всегда принимается как признак конца файла
std::string text; char ch = 0; while(!std::cin.get(ch).eof()){ text.append(1, ch); } Ввожу в консоль в Windows: ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru