Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
 Аватар для Dartk
48 / 50 / 4
Регистрация: 15.03.2009
Сообщений: 146

Подсчет количества введённых символов

27.01.2012, 22:58. Показов 6884. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
#define EOF -1
 
int main()
{
    char c;
    int count;
 
    while ((c = getchar()) != EOF) {
        ++count;
    }
 
    printf("%d", count);
 
    return 0;
}
Прога не выходит из цикла, в чем проблема?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.01.2012, 22:58
Ответы с готовыми решениями:

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

Подсчет введенных символов
#include&lt;stdio.h&gt; main() { float c; c=0; while(getchar()!=EOF) ++c; printf(&quot;%f\n&quot;, c); ...

Подсчет количества строк и символов в строке
Добрый день! Прошу вашей помощи! Нужно считать из файла количество строк и символов в строке, в самом файле занесена матрица, то есть...

12
 Аватар для ШКІПЕР
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
27.01.2012, 23:02
Цитата Сообщение от Dartk Посмотреть сообщение
в чем проблема?
Проблемы нет, на консоли нет конца
Соответственно EOF (-1) не срабатывает.


Добавлено через 1 минуту
А вот если бросить на поток файл - другое дело.
0
277 / 150 / 25
Регистрация: 05.11.2011
Сообщений: 429
Записей в блоге: 1
27.01.2012, 23:02
Цитата Сообщение от Dartk Посмотреть сообщение
Прога не выходит из цикла, в чем проблема?
Нажимайте либо Ctrl+Z, либо Ctrl+C

Из вики:
"Для указания терминалу в UNIX "EOF" следует воспользоваться комбинацией клавиш Ctrl+D. В Windows - Ctrl+Z."
0
 Аватар для Dartk
48 / 50 / 4
Регистрация: 15.03.2009
Сообщений: 146
27.01.2012, 23:05  [ТС]
Нужно чтобы программа выдала кол-во введённых символов, то есть переменную count.
При нажатии Enter этого не происходит.
0
277 / 150 / 25
Регистрация: 05.11.2011
Сообщений: 429
Записей в блоге: 1
27.01.2012, 23:07
Цитата Сообщение от Dartk Посмотреть сообщение
Нужно чтобы программа выдала кол-во введённых символов, то есть переменную count.
При нажатии Enter этого не происходит.
Пиши в консоли свой текст, с переводом строк или нет без разницы, чтобы указать что ввод окончен нажимаешь Ctrl+Z и все готово
0
 Аватар для ШКІПЕР
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
27.01.2012, 23:07
Цитата Сообщение от Dartk Посмотреть сообщение
Нужно чтобы программа выдала кол-во введённых символов,
Тогда как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
#define EOF -1
 
int main()
{
    char c;
    int count;
 
    while ((c = getchar()) != 'z') {
        ++count;
    }
 
    printf("%d", count);
 
    return 0;
}
Выход по нажатию z.
0
277 / 150 / 25
Регистрация: 05.11.2011
Сообщений: 429
Записей в блоге: 1
27.01.2012, 23:09
И кстати, убери это
Цитата Сообщение от Dartk Посмотреть сообщение
#define EOF -1
оно в stdio.h уже определенно.

Добавлено через 53 секунды
Цитата Сообщение от ШКІПЕР Посмотреть сообщение
Тогда как вариант:
z тоже символ. Задание смотрите.
0
 Аватар для ШКІПЕР
99 / 99 / 22
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
27.01.2012, 23:12
Цитата Сообщение от Xind Посмотреть сообщение
z тоже символ. Задание смотрите.
Задания нет, это демонстрационная программа и, вроде, пример с Страуструпа. Так что все методы хороши! Ставьте что-то другое или, как говорил уже, файл.
0
277 / 150 / 25
Регистрация: 05.11.2011
Сообщений: 429
Записей в блоге: 1
27.01.2012, 23:14
Цитата Сообщение от ШКІПЕР Посмотреть сообщение

Задания нет, это демонстрационная программа и, вроде, пример с Страуструпа. Так что все методы хороши! Ставьте что-то другое или, как говорил уже, файл.
Зачем использовать костыли? Есть же стандартный способ для этого, Ctrl+Z. Он для этого и существует.
0
 Аватар для Dartk
48 / 50 / 4
Регистрация: 15.03.2009
Сообщений: 146
27.01.2012, 23:19  [ТС]
Цитата Сообщение от ШКІПЕР Посмотреть сообщение
Страуструпа
В посте указан C код.

Вообще проблема в том, что мне нужно подсчитать количество входящих(читайте название темы), а не выходить из консоли и т.д.

Спасибо.
0
277 / 150 / 25
Регистрация: 05.11.2011
Сообщений: 429
Записей в блоге: 1
27.01.2012, 23:22
Цитата Сообщение от Dartk Посмотреть сообщение
Вообще проблема в том, что мне нужно подсчитать количество входящих(читайте название темы), а не выходить из консоли и т.д.
После Ctrl+Z программа продолжает свою работу, в вашем случае пойдет дальше

Цитата Сообщение от Dartk Посмотреть сообщение
printf("%d", count);
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.01.2012, 23:29
Dartk, в чем проблема поставить на проверку не EOF а '\n'?
1
 Аватар для Dartk
48 / 50 / 4
Регистрация: 15.03.2009
Сообщений: 146
27.01.2012, 23:35  [ТС]
Цитата Сообщение от soon Посмотреть сообщение
Dartk, в чем проблема поставить на проверку не EOF а '\n'?
Спасибо, перепутал EOF и EOL. =(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.01.2012, 23:35
Помогаю со студенческими работами здесь

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

Подсчет количества символов в словах (максимум можно ввести 10 слов)
Программа не так выполняется как я хочу, пожскажите пожалуйста на мою ошибку почему вместо вывода массива у меня выходят вот такие цифры? ...

Подсчет цифр, символов-разделителей и прочих символов в массиве
Здравствуйте. В учебнике дан код: #include &lt;stdio.h&gt; /* подсчет цифр, символов-разделителей и прочих символов */ main() { ...

Подсчет цифр, символов-разделителей и прочих символов в строке
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; /* подсчет цифр, символов-разделителей и прочих символов */ main() { ...

Перевернуть массив, не зная количества введенных чисел (с использованием динамической памяти)
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #define N 1000 void print_arr(int a, int n) { for(int i = n; i &gt;= 0; i--) ...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru