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

Подсчет вводимых символов - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
Noa
56 / 33 / 4
Регистрация: 08.04.2008
Сообщений: 158
08.04.2008, 22:15     Подсчет вводимых символов #1
Добрый вечер. Решил изучить C. Откопал книгу Кернигана и Ричи. В ней приводится пример

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
/* подсчет вводимых символов; 1-я версия */ 
main()
{
    long nc;
    nc = 0;
 
    while (getchar() != EOF)
        ++nc;
    printf(%ld\n”, nc);
}
Тупой вопрос... Как мне проверить этот пример? То есть что мне надо ввести, чтобы цикл while прервался и на экран вывелось количество символов? Использую Microsof Visual С++ v. 6.0...

Да, и ще вопрос, функция getchar() должна считывать символ, так почему же она считывает целые строки? Проосто я, походу, что-то не понимаю... =(
За ранее благодарен...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2008, 22:15     Подсчет вводимых символов
Посмотрите здесь:

Перевод всех вводимых символов в 8 и 16-ричный код C++
C++ Подсчет в строке символов вводимых с клавиатуры
Замена вводимых символов C++
C++ Проверка вводимых символов
C++ Вывести на экран код и тип вводимых символов
C++ Проверка вводимых символов
Ограничение длины вводимых символов C++
C++ Реализовать проверку на количество вводимых символов
C++ Как ограничить количество вводимых символов с клавиатуры?
C++ Задать максимально разрешенное количество вводимых символов (std::string)
Подсчитать числа вводимых символов используя цикл while C++
Подсчет символов UTF-8. Считывание пробельных символов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Noa
56 / 33 / 4
Регистрация: 08.04.2008
Сообщений: 158
10.04.2008, 09:21  [ТС]     Подсчет вводимых символов #2
Мда, что, никто не знает?
master.EXE
 Аватар для master.EXE
111 / 16 / 2
Регистрация: 10.03.2008
Сообщений: 101
10.04.2008, 14:51     Подсчет вводимых символов #3
тут такое дело...Вот ты воодишь символы, их считывает функция getchar(). Ты можешь вводить по одному символу, а можешь вводить и строку. В данном случае ты будешь ввобить символы до тех пор, пока не введешь символ Ctrl^Z (комбинация клавиш CTRL+Z). Это называется управляющая последовательность, для getchar() CTRL^Z является EOF.
А чтобы твоя прога заработала в Visual C++ 6. Нужно переписать её таким образом:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std; 
void main()
{
long nc;
nc = 0;
while (getchar()!= EOF)
++nc;
cout<<nc<<endl;
}
Если ты хочешь сделать так, чтобы прога считывала символы до нажатия клавиши ENTER, То введи следующий код:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std; 
void main()
{
long nc;
nc = 0;
while (getchar()!= '\n')
++nc;
cout<<nc<<endl;
}
А вообще, лучше найди книжку поновее. Книга Кернигана и Ричи конечно классика, но с момента написания этой книги много воды утекло, поменялись стандарты. И еще, если собираешься писать в Си, то лучше пользуйся компилятором от Borland, а потом когда доберешься до С++, то переходи в Visual C++.
Могу посоветовать такие книги:
  • Стивен Прата - Язык программирования С. Лекции и упражнения
  • Стивен Прата - Язык программирования С++. Лекции и упражнения
  • Бьерн Страуструп - Язык программирования С++.
  • Стивен Холзнер - Visual C++ 6. Учебный курс
Noa
56 / 33 / 4
Регистрация: 08.04.2008
Сообщений: 158
10.04.2008, 18:20  [ТС]     Подсчет вводимых символов #4
Спасибо, еще хочу сказать спасибо за литературу, просто ее так много, что я даже не знал, что выбрать... Я С я начал изучать только из-за того, что наткнулся на эту книгу, уж больно понравился синтаксис, да и язык книги =)
drummer
2 / 2 / 0
Регистрация: 13.01.2008
Сообщений: 38
10.04.2008, 21:41     Подсчет вводимых символов #5
2master.exe
Почему он не откомпилиться? По-мойму С++ старались сделать как можно более совместимым с С.

этот код меня компилиться
C++
1
2
3
4
5
6
7
8
9
main()
{
long nc;
nc = 0;
 
while (getchar() != EOF)
++nc;
 printf("%ld\n", nc);
}
Noa
56 / 33 / 4
Регистрация: 08.04.2008
Сообщений: 158
10.04.2008, 22:45  [ТС]     Подсчет вводимых символов #6
Компиляторы C++ поддерживают С...
Цитата Сообщение от drummer
Почему он не откомпилиться?
Никто не говорил, что компилиться не будет...
Yandex
Объявления
10.04.2008, 22:45     Подсчет вводимых символов
Ответ Создать тему
Опции темы

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