Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2011, 00:06   #1
Николай ПН
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 75
По умолчанию Странная ошибка при работе с вводом значения (dev C++)

Запрашиваю у пользователя из каких единиц в какие(температуру) хочет перевести. Решил сделать через switch, не хотел через if..else делать. И возникла проблема, что ругается при компиляции.
код:
Код:
#include <iostream>
#include <windows.h>

using namespace std;

char _quit_, buf[80];
int numb;
double cel,far;

int main()
{
    CharToOem("Нажмите:\n 1 для перевода шкалы Цельсия в шкалу Фаренгейта,\n 2 для перевода шкалы Фаренгейта в шкалу Цельсия\n", buf);
    cout<<buf;
    cin>>numb;
    switch(numb)
    {
                case 1:
                     CharToOem("Введите температуру по Цельсию:\t",buf);
                     cout<<buf;                     
                     cin>>cel;
                     CharToOem("Значение по Фаренгейту:\t",buf);
                     cout<<buf<<cel*9/5+32;
                     break;
                case 2:
                     CharToOem("Введите температуру по Фаренгейту:\t",buf);
                     cout<<buf;
                     cin>>far;
                     CharToOem("Значение по Цельсию:\t",buf);
                     cout<<buf<<(far-32)-5/9;
                     break;
    }
    cin>>_quit_;
    return 0;
}
красным веделено, где выдает ошибку, если закоментировать. Странные числа выведет. В чем тут беда?
Николай ПН вне форума Ответить с цитированием
Старый 21.06.2011, 11:22   #2
Cannibal
Форумчанин
 
Регистрация: 17.02.2008
Сообщений: 191
По умолчанию

Цитата:
Сообщение от Николай ПН Посмотреть сообщение
Запрашиваю у пользователя из каких единиц в какие(температуру) хочет перевести. Решил сделать через switch, не хотел через if..else делать. И возникла проблема, что ругается при компиляции.
код:
Код:
#include <iostream>
#include <windows.h>

using namespace std;

char _quit_, buf[80];
int numb;
double cel,far1;

int main()
{
    CharToOem("Нажмите:\n 1 для перевода шкалы Цельсия в шкалу Фаренгейта,\n 2 для перевода шкалы Фаренгейта в шкалу Цельсия\n", buf);
    cout<<buf;
    cin>>numb;
    switch(numb)
    {
                case 1:
                     CharToOem("Введите температуру по Цельсию:\t",buf);
                     cout<<buf;                     
                     cin>>cel;
                     CharToOem("Значение по Фаренгейту:\t",buf);
                     cout<<buf<<cel*9/5+32;
                     break;
                case 2:
                     CharToOem("Введите температуру по Фаренгейту:\t",buf);
                     cout<<buf;
                     cin>>far1;
                     CharToOem("Значение по Цельсию:\t",buf);
                     cout<<buf<<(far1-32)*5/9;
                     break;
    }
    cin>>_quit_;
    return 0;
}
красным веделено, где выдает ошибку, если закоментировать. Странные числа выведет. В чем тут беда?
с far видимо где-то конфликт происходит (обьявлена где-нибудь в другом месть. простое изменение имени все ставит на свои места).

с вычислениями косяк из-за невнимательно набранной формулы
Mathematicians often mix up Christmas and Halloween, because Dec.25=Oct.31.
Cannibal вне форума Ответить с цитированием
Старый 21.06.2011, 11:56   #3
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

а ларчик просто открывался)
просто far - зарезервированное слово
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при компиляции [Dev C++] compod Общие вопросы C/C++ 4 30.04.2011 20:35
ошибка при работе с указателем Vladss Общие вопросы C/C++ 22 29.07.2009 03:58
Ошибка при работе с БД malevich БД в Delphi 8 25.11.2007 15:10
Странная ошибка при выполнении okolobaxa Общие вопросы Delphi 2 03.07.2007 00:47