1. Список говнокодов пользователя semoro

    Всего: 3

  2. C++ / Говнокод #21975

    −20

    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
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    cin>>a;
    cin>>oper;
    cin>>b;
    if (oper==’+’) goto Lebel_1;
    else if (oper==’-’) goto Lebel_2;
    else if (oper==’*’) goto Lebel_3;
    else if (oper==’/’) goto Lebel_4;
    else goto Lebel_5;
    Lebel_1:
    c=a+b;
    cout<<a<<”+”<<b<<”=”<<c;
    goto Lebel_6;
    Lebel_2:
    c=a-b;
    cout<<a<<”-”<<b<<”=”<<c;
    goto Lebel_6;
    Lebel_3:
    c=a*b;
    cout<<a<<”*”<<b<<”=”<<c;
    goto Lebel_6;
    Lebel_4:
    if(b==0)
    {
    cout<<”\nОшибка! Деление на ноль!”;
    goto Lebel_5;
    }
    else
    {
    c=a/b;
    cout<<a<<”/”<<b<<”=”<<c;
    goto Lebel_6
    }
    Lebel_5:
    cout<<”\nНеверная операция! Повторите сначала!”;

    Пример 5: фрагмент программы, реализующей простой калькулятор с ис-
    пользованием меток и операторов безусловного перехода

    Целая тонна говнокода http://rgho.st/6mhPvKCMs

    semoro, 15 Января 2017

    Комментарии (13)
  3. Си / Говнокод #20312

    −17

    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
    28. 28
    29. 29
    /* skip directories */
    	if (S_ISDIR(statbuf.st_mode))
    		goto out;
    
    	/* skip non-readable files */
    	if ((statbuf.st_mode & S_IRUSR) == 0)
    		goto out;
    
    	/* read attribute value */
    	fd = open(path, O_RDONLY);
    	if (fd < 0) {
    		dbg(udev_device->udev, "attribute '%s' can not be opened\n", path);
    		goto out;
    	}
    	size = read(fd, value, sizeof(value));
    	close(fd);
    	if (size < 0)
    		goto out;
    	if (size == sizeof(value))
    		goto out;
    
    	/* got a valid value, store it in cache and return it */
    	value[size] = '\0';
    	util_remove_trailing_chars(value, '\n');
    	dbg(udev_device->udev, "'%s' has attribute value '%s'\n", path, value);
    	list_entry = udev_list_entry_add(udev_device->udev, &udev_device->sysattr_list, sysattr, value, 0, 0);
    	val = udev_list_entry_get_value(list_entry);
    out:
    	return val;

    Кусок libudev, OpenSource теперь с goto

    semoro, 02 Июля 2016

    Комментарии (15)
  4. C++ / Говнокод #20056

    +4

    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
    string TRASETXT::trace(string &a // получаемая строка ) 
    { 
        string b; // возвращаемая строка 
        stringstream s; // строковый поток 
        // переводит в втооом словосочетании все большие буквы в маленькие 
        for (unsigned int i = 0; i < a.size(); i++) // а - получаемая строка 
        { 
            int key = a[i]; 
            if ((key <= -33) && (key >= -64)) // от А до Я 
                key += 32; 
            if (key == -88) // только буква Ё 
                key = -72; 
            if ((key >= 65) && (key <= 90)) // от A до Z 
                key += 32; 
            s << (char)key; 
        } 
        getline(s, b); // получаем строку только из маленьких букв во временную переменную 
        s.clear(); // очищаем поток 
        return b; 
    }

    Увидел в курсаче у чувака, лучший метод преобразования строки в lowercase, везде буду использовать теперь и вам рекомендую

    semoro, 23 Мая 2016

    Комментарии (49)