[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. razzzar

    razzzar Elder - Старейшина

    Joined:
    16 Jun 2007
    Messages:
    92
    Likes Received:
    75
    Reputations:
    5
    Code:
    bool IsAllDigits(char *str)
    {
     for(int i=0; *(str+i)!=0; i++)
      if(*(str+i)<0x30 || *(str+i)>0x39)
       return false;
     return true;
    }
    
    ...
    
    char age[5];
    int nage;
    do
    {
     cin>>age;
    } while ( !IsAllDigits(age) );
    nage = atoi(age);
    
     
  2. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    или просто умнож char на единицу и посмотри результат ...
     
  3. Forcer

    Forcer Elder - Старейшина

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    Jes
    В результате получишь код символа. Что это даст?
     
  4. Sharingan

    Sharingan Elder - Старейшина

    Joined:
    5 May 2007
    Messages:
    143
    Likes Received:
    147
    Reputations:
    16
    Кто может помочь, как сделать поддержку работы с русским языком, на Vc6 просто незнаю как сделать что бы спокойно работало на русском все...
    с меня +
     
    #584 Sharingan, 12 Jan 2008
    Last edited: 12 Jan 2008
  5. horlyk

    horlyk Elder - Старейшина

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    Юзай
    CharToOem(,) и фсе будет пахать на русском)
     
  6. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    проверь мою функцию
    long get_number( int limit)
    {
    char *buf;
    char c;
    int i;
    buf=malloc(limit+1);
    for(i=0;(c=getch())!=13 && i<limit;i++)
    if(c>='0' && c<='9')
    *(buf+i)=c;
    else
    i--;
    *(buf+i)=0;
    long l=atol(buf);
    free(buf);
    return l;
    }
    она не должна позволять вводить ничего кроме цифр и не позволяет переполнить буфер
     
    #586 Delimiter, 12 Jan 2008
    Last edited: 12 Jan 2008
  7. Sharingan

    Sharingan Elder - Старейшина

    Joined:
    5 May 2007
    Messages:
    143
    Likes Received:
    147
    Reputations:
    16
    ага только дело в том что в программе много чего надо преобразовывать если юзать ту функцию ЧартоОем
     
  8. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    если использовать Уникод то поверь что не меньше 8)))))
     
    1 person likes this.
  9. Forcer

    Forcer Elder - Старейшина

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    Jes
    ты предлагаешь из массива типа char узнавать код символа умножением на единицу?
     
  10. Sharingan

    Sharingan Elder - Старейшина

    Joined:
    5 May 2007
    Messages:
    143
    Likes Received:
    147
    Reputations:
    16
    ну так что кто то поможет с русским текстом
     
  11. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    дык.... обьясни в чем фишка.

    если хотят напрячь русский язык то кодят в уникоде. Первые главы Рихтера....
     
  12. Sharingan

    Sharingan Elder - Старейшина

    Joined:
    5 May 2007
    Messages:
    143
    Likes Received:
    147
    Reputations:
    16
    у меня везде в коде работа с русским текстом, считывание русского текста с файла, разбор руского текста печать результатов с русским текстом, но вместо него печатает мусор! хотя обрабатывает, и вот мне надо что бы печатало русский текст
     
  13. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    если на принтер , то проверь настройки Фонтов перед печатью
    LOGFONT logFont;
    logFont.lfHeight=80;
    logFont.lfWidth=0;
    logFont.lfEscapement=0;
    logFont.lfOrientation=0;
    logFont.lfWeight=FW_NORMAL;
    logFont.lfItalic=0;
    logFont.lfUnderline=0;
    logFont.lfStrikeOut=0;
    logFont.lfCharSet=ANSI_CHARSET||RUSSIAN_CHARSET; //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    logFont.lfOutPrecision=OUT_DEFAULT_PRECIS;
    logFont.lfClipPrecision=CLIP_DEFAULT_PRECIS;
    logFont.lfQuality=PROOF_QUALITY;
    logFont.lfPitchAndFamily=VARIABLE_PITCH || FF_MODERN;
    strcpy(logFont.lfFaceName,"Times New Roman");
     
  14. Sharingan

    Sharingan Elder - Старейшина

    Joined:
    5 May 2007
    Messages:
    143
    Likes Received:
    147
    Reputations:
    16
    та не на принтор на экран !!
     
  15. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    обьясняй что за приложение (перед тем как задавать вопрос сформулируйте ,чтоб не уточнять)
    Консольное???
    Диалоговое????
    Многооконное???
     
  16. Sharingan

    Sharingan Elder - Старейшина

    Joined:
    5 May 2007
    Messages:
    143
    Likes Received:
    147
    Reputations:
    16
    консольное, а какое еще, Vc6.0
     
  17. horlyk

    horlyk Elder - Старейшина

    Joined:
    2 Dec 2007
    Messages:
    132
    Likes Received:
    6
    Reputations:
    0
    ыыыы, ты что, думаешь, что в ВС++ только консольные окна? жжешь однако)
     
  18. Sharingan

    Sharingan Elder - Старейшина

    Joined:
    5 May 2007
    Messages:
    143
    Likes Received:
    147
    Reputations:
    16
    плин, я уточнил какой у меня компелятор, он просил поподробнее...
     
  19. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    wprintfW
    wsprintfW
     
  20. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Так интересно, тема про C/C++, а я тут не нашел ничего про эти языки.
    Лишь быдлокодерские вопросы про WinAPI (аналогично тому, что в делфи...) и т.п.
    Как вывести строку на принтер.. Как закрыть окно.. Причем блять тут си плюс плюс я ХЗ.

    PS Размер char не равен 8битам (1 байту). Т.к. в стандарте такое не описано. Есть платформы, на которых используется 9бит.
     
Thread Status:
Not open for further replies.