Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Отладка программы

Ответить
Настройки темы
C/C++ - [решено] Отладка программы

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Дали программу, которая должна считать количество введенных букв А, пробелов и остальных символов.
Проблема: не идет считывание (учет) первого символа введенной строки
Если char c заменить на int c, то программа работает корректно (все считается правильно), но преподаватель сказал, что это неправильно и так нельзя (впрочем, я согласна, не задавать же строку интом))
Работаю в среде QT, было дано задание через контрольные точки понять, почему же, блин, не читается первый символ. Но отладчик по контрольным точкам работать отказывается, виснет и вырубает за собой всю прогу.
В чем в этой программе может быть проблема? Как исправить ошибку (кроме варианта замены на int)?
Даже не особо важно, наверное, как исправить... Просто объясните, пожалуйста, ПОЧЕМУ идет эта ошибка?

#include <iostream>
#include <stdio.h>
#include <clocale>
int main()
{
int ka,kpr,kost;
ka=0;
kpr=0;
kost=0;
char c;
std::cout<<"Vvedite posledovatelnost simvolov, zakanchivaushuysa EOF \n";
std::cin>>c;
while((c=getchar())!=EOF)
if(c=='a'||c=='A')
ka++;
else
if(c==' '||c=='\t'||c=='\n')
kpr++;
else
kost++;
std::cout<<"\n Bilo vvedeno \n Bukv A: "<<ka<<"\n";
std::cout<<"Probelov: "<<kpr<<"\n"<<"Ostalnih: "<<kost;
return 0;
}

Отправлено: 20:55, 20-11-2016

 

Аватара для ViRTaCe

Пользователь


Сообщения: 139
Благодарности: 11

Профиль | Отправить PM | Цитировать


Ну с ходу видно, что дублируется метод получения символов из потока ввода.
Код: Выделить весь код
std::cin>>c;
и
Код: Выделить весь код
c=getchar()
.
Дальше пока не смотрел, но есть вероятность, что проблема именно в этом. Необходимо использовать последний вариант, первый не несет никакой смысловой нагрузки для программы и его необходимо удалить.

-------
Кривые руки исправляются опытом.


Последний раз редактировалось ViRTaCe, 21-11-2016 в 11:39.


Отправлено: 11:07, 21-11-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Отладка программы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - Отладка в VS 2008 maxstel Программирование и базы данных 0 12-10-2011 22:39
VBA - Отладка программ zena Программирование и базы данных 3 23-03-2011 19:32
[решено] Отладка/тестирование скриптов zbruy AutoIt 2 26-09-2009 16:53
C/C++ - Отладка программ в Visual C++ gustav21 Программирование и базы данных 2 26-09-2008 20:30
Отладка программы в защенном режиме Guest Программирование и базы данных 4 20-11-2003 03:01




 
Переход