32 / 32 / 28
Регистрация: 19.09.2013
Сообщений: 370
1

Не читается символ 'e'

20.09.2014, 10:19. Показов 1635. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вторая проверка просто игнорируется:
C++
1
2
3
4
5
6
        float i;
    char c;
    std::cin >> i >> c;
    if (c == '$') { i /= 30; } 
    else if (c == 'e') { i /= 40; } //Не срабатывает
    else { std::cout << "uncown valute\n"; }
Пробовал вместо 'e' ставить
C++
1
(char)101
эффект тот же. Думаю, ошибка в if.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2014, 10:19
Ответы с готовыми решениями:

При вводе из файла читается лишний символ
как удалить последний символ (завершающий нуль '\n') &quot;я&quot; при чтении из файла на экран?? do{...

Почему последний символ читается 2 раза
int main() { FILE *fp = fopen(&quot;D:\\test.txt&quot;, &quot;rb&quot;); unsigned short int ch = 0; char bin =...

с текстом в richtextbox... если в string-е есть нулевой символ, то дальше не читается
короче написал код: private void Form1_Load(object sender, EventArgs e) { ...

диск с фильмом читается на двд для телевизора не читается на компьютерном двд роме
диск с фильмом читается на двд для телевизора не читается на компьютерном двд роме хочу этот...

5
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
20.09.2014, 10:20 2
кириллица?
0
32 / 32 / 28
Регистрация: 19.09.2013
Сообщений: 370
20.09.2014, 10:24  [ТС] 3
Croessmah, нет.
0
Модератор
Эксперт С++
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,700
20.09.2014, 10:32 4
Лучший ответ Сообщение было отмечено Eugene13 как решение

Решение

Проблема в том, что e - составная часть числа с плавающей запятой,
т.к. его представление имеет вид 1.23e45
Поэтому cin и зажевывает e, а не считает его ограничителем.
Вводите число, пробел, потом e
2
32 / 32 / 28
Регистрация: 19.09.2013
Сообщений: 370
20.09.2014, 10:44  [ТС] 5
zss, спасибо.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,516
20.09.2014, 10:52 6
Цитата Сообщение от zss Посмотреть сообщение
Поэтому cin и зажевывает e, а не считает его ограничителем.
может проще считывать scanf???
C++
1
scanf("%c",&c);
тогда разночтений не будет
0
20.09.2014, 10:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2014, 10:52
Помогаю со студенческими работами здесь

Функция принимает блоки данных (символ1, символ 2, строка), в каждой строке заменять символ 1 на символ 2
функция принимает блоки данный(символ1, символ 2 , строка), в каждом строке заменять символ 1 на...

Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_»
День добрый. Имеется условие лабы. Написать программу, в которой с клавиатуры вводится до 10...

Если символ Д встречается в массиве чаще чем символ к то заменить его на символ +
Помогите пожалуйста написать задачу Если символ Д встречается в массиве чаще чем символ к то...

вывести символы в следующем порядке: первй символ из входного файла, последний символ, второй символ, предпоследний смвл
Дан файл in.txt, содержащий текст. Требуется вывести в файл out.txt символы в следующем порядке:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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