Учю C =)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by nix, 1 Jul 2006.

  1. nix

    nix Banned

    Joined:
    7 May 2006
    Messages:
    33
    Likes Received:
    3
    Reputations:
    -5
    Вобщем решил наконецто таки поучить немного C вот что из этого вышло, хочю услышать как вам это для первого раза и есть ли задатки на более что то крупнее =) . строго не судить. И сразу вопрос к знатокам можно ли писать по русски ? Несчитая каменты //....

    PHP:
    //Скрипт переводит унции в стаканы, там где я живу там используют унции...

    # include "stdio.h"
    int o_to_c (int ounces);

    main ( )
    {
    int ouncescup;
    printf("\n Number of ounces "ounces) ;
    scanf("%d", &ounces);
    cup o_to_c(ounces);
    prinf("\n%d ounces equal %d cumps\n\n"ouncescup);
    return;
    }

    //Считаем стаканы...
    int o_to_c (int ounces1)
    {
    int cup1;
    if (
    ounces1)
    {
    if (!(
    ounces1 8))
    cup1 ounces1 8;
    else
    cup1 ounces1 1;
    }
    else
    cup1 0;
    return (
    cup1);
    }
     
  2. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    не указан тим main()

    return не может использоваться без параметров.

    ну и оформление кода жестоко кривое =)
     
  3. Smith

    Smith Banned

    Joined:
    25 Apr 2006
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Ну во первых, тип main можно и не указывать, и так прекрасно линкуется и работает.
    Во вторых, return может быть без параметров, и используется для принудительного завершения функции.
    Ну и в третьих, для того, чтобы текст отображался по-русски, используй функцию
    CharToOem(char*,char*);
    необходимо подключение хедера windows.h

    Пример:

    #include <windows.h>
    ...

    char str[]="Количество унций";
    CharToOem(str,str);
    cout<<str; //или printf

    //--------------------------

    можно также поковыряться со шрифтами, но это довольно геморойно, и работает не всегда корретно.

    2nerezus
    таким ламерам, как ты, вообще не следует лезть в форумы по кодингу, пока язык не выучишь
     
    #3 Smith, 1 Jul 2006
    Last edited: 1 Jul 2006
  4. ZaCo

    ZaCo Banned

    Joined:
    20 Jun 2005
    Messages:
    737
    Likes Received:
    336
    Reputations:
    215
    2Smith есть выражение - можно, но не нужно. нужно делать как надо, а не как можно.
     
  5. Smith

    Smith Banned

    Joined:
    25 Apr 2006
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    2ZaCo

    А нужно так, как этого требует данный код.
    int main()
    void main()
    int main(int argc, char *argv[])
    как нужно? спорный вопрос. Пусть пишет, как хочет
     
  6. ZaCo

    ZaCo Banned

    Joined:
    20 Jun 2005
    Messages:
    737
    Likes Received:
    336
    Reputations:
    215
    да пусть делает вообще че хочет) данный kод требует void main()
     
  7. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Повторю. Если компилятор принимает кривой код, это не значит, что код правильный.

    Smith, более того, ты даже не знаешь отличия между с и с++ (советуешь ему cout<<str), а уже лезешь учить тех, кто в отличии от тебя хоть что-то знает.
     
  8. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    не спорный. пшел-ка читать спецификацию =)

    даже компиляторы твой бред не в состоянии проглотить:
     
  9. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    Что вы к main придрались? Хорошим стилем программирования считается указание типа возвращаемого значения для всех функций, КРОМЕ main (сами подумайте почему).

    ЗЫ:
    кто предложит альтернативу выражения:
    Code:
    cup1 = ounces1 / 8;
    которая будет работать быстрее получит +
     
  10. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    cup1 = ounces1>>3;
     
    2 people like this.
  11. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    адназначно + =))
     
  12. nix

    nix Banned

    Joined:
    7 May 2006
    Messages:
    33
    Likes Received:
    3
    Reputations:
    -5
    Спасиб Smith терь буду знать как по русски писать :)
    Кода компилировал ошибок небыло, и скрипт работал :)
    cc cups.c
     
  13. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Ой, а давай ты не будешь нести бред, договорились? Причем еще так пафосно(КРОМЕ main (сами подумайте почему)).

    Вот:
     
  14. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    Ты что не знаешь что если не указывать тип возвращаемого значения, то это по умолчанию int?
    nerezus - и к чему твоя цитата?
    И еще:
    Будешь придиратся к словам - попадешь в игнор.
     
  15. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    к тому, что надо писать int main()

    если не указывать тип возвращаемого значения, то это ошибка:

    Учи C =)

    Я не придираюсь к неточностям, опечаткам и т.д. но если написано в корне неверно, то я обычно это сразу замечаю и говорю, что это неправильно. Вдруг новички прочитают и будут делать так же?
     
  16. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    [​IMG]
    ну ну
    мля, спор ни о чем
    ЗЫ:
    учу, учу - зырь мой статус :D
     
  17. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Кстати, к чему картинка?
    Усли компилер проглотил ошибку - это не значит, что ее нету ;)
    Сейчас вроде ни один компилер полноценно не соблюдает c99. Но это еще не значит, что можно писать неправильно.


    Как это ни о чем? Это же фундаментальные основы языка =)
    ну и к тому же я оказался прав(подтвердил цитатами из спецификации) =)
    А вообще я этот гребаный сишнег не знаю и знать не хочу
     
    1 person likes this.
  18. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    Эп .. а мои цитаты не в счет? Мля наверное я слепой, но не вижу ни одной ошибки (компилер проглотил ошибку - ну ну). Дабы не превращать тему в клоунаду, я закрою топик и каждый отстанется при своем мнении.
     
  19. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Мда... Я же тебе их указал. И привел цитаты из спецификации.

    Я понял: ты путаешь язык C и его конкретную реализацию в Visual Studio.
    С точки зрения языка это ошибка. С точки зрения Visual Studio - не ошибка.

    Но говорим то мы про язык.
     
  20. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    а вдруг кто-нить высказаться захочет? =)

    кстати, еще и это подсказали: