Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
C++

Упомянутые в теме пользователи:

Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 12 из 43

Тема: C++

  1. #1
    Гуру Аватар для Rpal
    Регистрация
    23.01.2016
    Сообщений
    442
    Поблагодарил(а)
    31
    Получено благодарностей: 25 (сообщений: 24).
    Репутация: 25

    Post C++

    Всем привет,у меня есть вопрос к тем кто разбирается в C++. Я недавно начал изучать этот язык и у меня есть такая вот проблемка. Я создал простую программу для решения уравнения,но после ввода всех данных она почему то крашится :
    Безымянный.png
    (сори за кривой скрин)
    Я не знаю в чем проблема,в коде или в моем ноуте,потому скину еще и сам код
    PHP код:
    #include <iostream>
    #include <cstdlib> // для system
    using namespace std;

    int main() 

    setlocale (0""); // язык
        
    cout << "Привет,давай решим это уровнение : (a*b)/(c/d)+e" << endl;
        
    int a,b,c,d,e// цифры для ввода
        
    cout << "Введи a" << endl;
        
    cin >> a;
        
    cout << "Введи b" << endl
        
    cin >> b;
        
    cout << "Введи c" << endl
        
    cin >> c;
        
    cout << "Введи d" << endl
        
    cin >> d;
        
    cout << "Введи e" << endl
        
    cin >> e;
        
    int v = (b) / (d) + e// уровнение
        
    cout << "Результат" << << endl// ответ 
        
    return 0;

    Horde logon x15-20:
    Rpal
    Easeheal
    Развратник


    I will never lose my way

  2. #2
    Инопланетянин Аватар для HolyLokki
    Регистрация
    05.01.2012
    Сообщений
    1,598
    Поблагодарил(а)
    302
    Получено благодарностей: 529 (сообщений: 343).
    Репутация: 525
    int v = (a * b) / (c / d) + e;
    В си как то не очень, но вот показалось странным что ты в int переменную v пытаешься впихнуть real значение. Это выглядит несколько, гм, странно.
    Legion - Гордунни

  3. #3
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,193
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Rpal Посмотреть сообщение
    Всем привет,у меня есть вопрос к тем кто разбирается в C++. Я недавно начал изучать этот язык и у меня есть такая вот проблемка. Я создал простую программу для решения уравнения,но после ввода всех данных она почему то крашится :
    Безымянный.png
    (сори за кривой скрин)
    Я не знаю в чем проблема,в коде или в моем ноуте,потому скину еще и сам код
    PHP код:
    #include <iostream>
    #include <cstdlib> // для system
    using namespace std;

    int main() 

    setlocale (0""); // язык
        
    cout << "Привет,давай решим это уровнение : (a*b)/(c/d)+e" << endl;
        
    int a,b,c,d,e// цифры для ввода
        
    cout << "Введи a" << endl;
        
    cin >> a;
        
    cout << "Введи b" << endl
        
    cin >> b;
        
    cout << "Введи c" << endl
        
    cin >> c;
        
    cout << "Введи d" << endl
        
    cin >> d;
        
    cout << "Введи e" << endl
        
    cin >> e;
        
    int v = (b) / (d) + e// уровнение
        
    cout << "Результат" << << endl// ответ 
        
    return 0;

    PHP код:
    #include <iostream>
    #include <cstdlib>
    using namespace System;

    float abce;

    float math(float afloat bfloat cfloat e){return (b) / (d) + e;}

    void main(){
        
    setlocale (0""); // язык
        
    cout << "Привет,давай решим это уровнение : (a*b)/(c/d)+e" << endl;
        
    cout << "Введи a" << endl;
        
    cin >> a;
        
    cout << "Введи b" << endl
        
    cin >> b;
        
    cout << "Введи c" << endl
        
    cin >> c;
        
    cout << "Введи d" << endl
        
    cin >> d;
        
    cout << "Введи e" << endl
        
    cin >> e;
        
    cout << "Результат" << math(abce) << endl;
       
    System("pause");

    PS ты пытаешься в целочисленную переменную записать вещественное число , вот те и ошибка. К примеру если я приду к другу с яблоком , а у друга будет груша и я предложу разделить грушу на яблоко , друг скорее всего скажет , что я дебил , тут примерно то же самое.
    PSS после луа\елуна могут быть синтаксические ошибки =)
    Последний раз редактировалось DreamlØlz; 11.07.2016 в 02:35.

  4. #4
    Гуру Аватар для Rpal
    Регистрация
    23.01.2016
    Сообщений
    442
    Поблагодарил(а)
    31
    Получено благодарностей: 25 (сообщений: 24).
    Репутация: 25
    Цитата Сообщение от DreamlØlz Посмотреть сообщение
    PHP код:
    #include <iostream>
    #include <cstdlib>
    using namespace System;

    float abce;

    float math(float afloat bfloat cfloat e){return (b) / (d) + e;}

    void main(){
        
    setlocale (0""); // язык
        
    cout << "Привет,давай решим это уровнение : (a*b)/(c/d)+e" << endl;
        
    cout << "Введи a" << endl;
        
    cin >> a;
        
    cout << "Введи b" << endl
        
    cin >> b;
        
    cout << "Введи c" << endl
        
    cin >> c;
        
    cout << "Введи d" << endl
        
    cin >> d;
        
    cout << "Введи e" << endl
        
    cin >> e;
        
    cout << "Результат" << math(abce) << endl;
       
    System("pause");

    PS ты пытаешься в целочисленную переменную записать вещественное число , вот те и ошибка. К примеру если я приду к другу с яблоком , а у друга будет груша и я предложу разделить грушу на яблоко , друг скорее всего скажет , что я дебил , тут примерно то же самое.
    PSS после луа\елуна могут быть синтаксические ошибки =)
    а разве функция "скомпилировать" не должна выявлять эту ошибку ?
    Horde logon x15-20:
    Rpal
    Easeheal
    Развратник


    I will never lose my way

  5. #5
    Новичок Аватар для Alienore
    Регистрация
    12.09.2015
    Адрес
    Минск
    Сообщений
    8
    Поблагодарил(а)
    0
    Получено благодарностей: 16 (сообщений: 6).
    Репутация: 16
    Так вещественное число попросту округлится до целочисленного значения, происходит потеря данных, но крашиться от этого программа не должна.
    У меня исходная программа работает при условии корректного ввода данных (без деления на 0, с >= d)

  6. #6
    Ветеран форума
    Регистрация
    06.07.2015
    Сообщений
    1,216
    Поблагодарил(а)
    42
    Получено благодарностей: 113 (сообщений: 76).
    Репутация: 113
    да просто
    PHP код:
    float v 
    напиши и все
    Местные глОдиаторы циркуля знаю как должно работать:(нет)
    Цитата Сообщение от Try2killm3 Посмотреть сообщение
    Рога сапает в гоуж, при учёте что рога кинул в него 3 очка талантов.
    тему закрыть.
    WowCircle 4.3.4 x5 WowCircle 3.3.5a x100
    Subtlety Combat Rogue 85 Subtlety Combat Rogue 80
    Fire Arcane Mage 85
    Marksmanship Survival Hunter 85
    Arms Protection Warrior 85
    Feral Restoretion Druid 60

  7. #7
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,193
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Alienore Посмотреть сообщение
    с >= d
    ЧУвак какие >= с вещественными))))

  8. #8
    Гуру Аватар для Rpal
    Регистрация
    23.01.2016
    Сообщений
    442
    Поблагодарил(а)
    31
    Получено благодарностей: 25 (сообщений: 24).
    Репутация: 25
    хорошо,можете тогда объяснить следущее :
    PHP код:
    #include <iostream> 
    using namespace std;

    int main() 

        
    setlocale(0""); 
        
    /*7*/ int ab// объявление двух переменных a и b целого типа данных. 
        
    cout << "Введите первое число: "
        
    cin >> a// пользователь присваивает переменной a какое-либо значение. 
        
    cout << "Введите второе число: "
        
    cin >> b
        
    /*12*/  int c b// новой переменной c присваиваем значение суммы введенных пользователем данных. 
        
    cout << "Сумма чисел = " << << endl// вывод ответа. 
        
    return 0

    Этот код дается вот тут Переменные и типы данных в C++ — урок 2 и он не крашится когда запускается,я же немного добавил функций и у меня крашится,почему ?
    Horde logon x15-20:
    Rpal
    Easeheal
    Развратник


    I will never lose my way

  9. #9
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,193
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Rpal Посмотреть сообщение
    хорошо,можете тогда объяснить следущее :
    PHP код:
    #include <iostream> 
    using namespace std;

    int main() 

        
    setlocale(0""); 
        
    /*7*/ int ab// объявление двух переменных a и b целого типа данных. 
        
    cout << "Введите первое число: "
        
    cin >> a// пользователь присваивает переменной a какое-либо значение. 
        
    cout << "Введите второе число: "
        
    cin >> b
        
    /*12*/  int c b// новой переменной c присваиваем значение суммы введенных пользователем данных. 
        
    cout << "Сумма чисел = " << << endl// вывод ответа. 
        
    return 0

    Этот код дается вот тут Переменные и типы данных в C++ — урок 2 и он не крашится когда запускается,я же немного добавил функций и у меня крашится,почему ?
    Могу, скорее всего деление на 0, хотя выше уже писал возможную причину - при делении получается вещественные , а тип переменной в которую пишешь целочисленная. Например предлагаю ввести а = 5.232545 и b = 99.312312123

    - - - Updated - - -

    PS урок не очень =)
    Последний раз редактировалось DreamlØlz; 11.07.2016 в 18:42.

  10. #10
    Гуру Аватар для Rpal
    Регистрация
    23.01.2016
    Сообщений
    442
    Поблагодарил(а)
    31
    Получено благодарностей: 25 (сообщений: 24).
    Репутация: 25
    Цитата Сообщение от DreamlØlz Посмотреть сообщение
    Могу, скорее всего деление на 0, хотя выше уже писал возможную причину - при делении получается вещественные , а тип переменной в которую пишешь целочисленная. Например предлагаю ввести а = 5.232545 и b = 99.312312123
    смотри,программа крашится после того как я ввожу цифры и цифры я ввожу 4, 5, и тд,то есть целые. после ввода их прога крашится (
    Цитата Сообщение от DreamlØlz Посмотреть сообщение
    PS урок не очень =)
    ну,я пока ничего другого не нашел )

    - - - Updated - - -

    и да,если эти уроки "Г",то можешь сказать как или где искать ?) или дать ссылку )?
    Horde logon x15-20:
    Rpal
    Easeheal
    Развратник


    I will never lose my way

  11. #11
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,193
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Rpal Посмотреть сообщение
    смотри,программа крашится после того как я ввожу цифры и цифры я ввожу 4, 5, и тд,то есть целые. после ввода их прога крашится (
    Я же привел пример с другом и грушей =)

    Хорошо , в переменную типа int с можно записать целочисленные. Вводим целочисленные. После чего int c = a + b; , получаем к примеру 5 + 5 = 10 , теперь же пробуем записать в int c = (a * b) / (c / d) + e , получаем например 2*2/2/2+2 , в ответе целочисленное 3, краша нет ,вводим 5*3 / 100/3 + 20 , получаем 15 / 0.333333333 + 20 и программа крашится , т.к 15/0.33333+20 = 60,00045000450005 и эти 60,00045000450005 уже вещественные , но записать должно в переменную не вещественную. Аналгичная ситуация выйдет если в знаменателе одной из дробей будет 0.

  12. 1 пользователь сказал cпасибо DreamlØlz за это полезное сообщение:

    Rpal (11.07.2016)

  13. #12
    Гуру Аватар для Rpal
    Регистрация
    23.01.2016
    Сообщений
    442
    Поблагодарил(а)
    31
    Получено благодарностей: 25 (сообщений: 24).
    Репутация: 25
    Цитата Сообщение от DreamlØlz Посмотреть сообщение
    Я же привел пример с другом и грушей =)

    Хорошо , в переменную типа int с можно записать целочисленные. Вводим целочисленные. После чего int c = a + b; , получаем к примеру 5 + 5 = 10 , теперь же пробуем записать в int c = (a * b) / (c / d) + e , получаем например 2*2/2/2+2 , в ответе целочисленное 3, краша нет ,вводим 5*3 / 100/3 + 20 , получаем 15 / 0.333333333 + 20 и программа крашится , т.к 15/0.33333+20 = 60,00045000450005 и эти 60,00045000450005 уже вещественные , но записать должно в переменную не вещественную. Аналгичная ситуация выйдет если в знаменателе одной из дробей будет 0.
    ааа,все,теперь понял,что то не дошло сразу )
    Horde logon x15-20:
    Rpal
    Easeheal
    Развратник


    I will never lose my way

Страница 1 из 4 123 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •