1. C++ / Говнокод #1774

    +56.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    cout << "\nVvedit A->";      //организуем ввод коэфициэнтов уравнения с помощью 
    cin >> a;                    //ф-й потокового ввода-вывода (cout и cin с библиотеки iostream.h) 
    cout << "\nVvedit B->";
    cin >> b;
    cout << "\nVvedit C->";
    cin >> c;
    d = pow(b,2)-(4*a*c);        //найдем дискриминант
    if (d < 0) goto d1;            //проверяем условия, и, с помощью
    if (d==0) goto d2;           //меток переходим к соответствующему блоку
    if (d>0) goto d3;
     d1: {                       //блок 1: дискриминант < 0
      printf("\nKoreniv nema");
      goto exit;                 //безусловный переход на exit
     }
     d2: {                       //блок 2: дискриминант=0
      x1=-b/(2*a)
      printf("\nx = %f",x1);
      goto exit;                 //безусловный переход на exit
      }
     d3:  {                      //блок 3: дискриминант>0
      x1=(-b-sqrt(d))/(2*a);
      x2=(-b+sqrt(d))/(2*a);
      printf("\nx1 = %f",x1);
      printf("\nx2 = %f",x2);
      goto exit;                 //безусловный перехід на exit
     }
    exit:

    No comments.

    Запостил: Говногость, 06 Сентября 2009

    Комментарии (14) RSS

    • Видно же, что это лаба.
      Кстати ошибка: не проверяется a=0 (тогда это вообще не квадратное уравнение).
      Ответить
      • нет, например если это спортивное программирование и в условии сказано что уравнение всегда квадратное, то a==0 быть не может. хотя я не представляю себе человека, который будет кодить ТАКОЕ на соревновании))
        Ответить
        • Да, возможно. Но это заявка на поражение. На мой взгляд в данной задаче написать цепочку if-else-if-else было бы проще, чем возиться с метками и с goto.
          Ответить
    • goto - лучший способ увеличить время разработки и тестирования.
      Ответить
    • Для каждой метки используется :
      {
      }.
      Зачем спрашивается...
      Да и вот это тоже весело:
      goto exit;
      }
      exit:
      Ответить
    • >перехід
      хixiл дiтiктiд
      Ответить
    • Мне такое студенты постоянно сдают
      Ответить
      • Да, похоже, типичный студенческий код...
        Ответить
    • О. Нашёл решение своей задачи. Покажу завтра преподу. Спасибо. :)
      Ответить
    • каклы осванивают с++
      Ответить

    Добавить комментарий