Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by nerezus, 29 Oct 2008.

  1. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    вы белены тут все объелись?????

    на этой странице пример ИЗ КНИГИ, я делал так:

    https://forum.antichat.ru/showpost.php?p=1095888&postcount=102
     
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 ChaaK:

    Читай личку. И скажи мне, где я не прав. Плиз.
     
  3. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Чак, пуся, ты сюда ходил?

    https://forum.antichat.ru/showpost.php?p=1095888&postcount=102

    там вот так:

    PHP:
     #include <iostream> 
    using namespace std

    int main() 

        
    enum Days{mon,tue,wed,thu,frid,satt,sund}; 
        
    int choice
        
    cout << "Enter number(1-7):\n"
        
    cin << choice
        
    cout << choice << "\n"
    return 
    0

    а ошибки, едрена-матрена, сюда не влазют, вот часть:

    ------ Построение начато: проект: p21-1, Конфигурация: Debug Win32 ------
    Компиляция...
    p21-1.cpp
    .\p21-1.cpp(9) : error C2784: std::basic_ostream<char,_Traits> &std::eek:perator <<(std::basic_ostream<char,_Traits> &,unsigned char): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "std::istream"
    C:\Program Files\C++\VC\include\ostream(930): см. объявление 'std::eek:perator <<'
    .\p21-1.cpp(9) : error C2784: std::basic_ostream<char,_Traits> &std::eek:perator <<(std::basic_ostream<char,_Traits> &,unsigned char): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "std::istream"
    C:\Program Files\C++\VC\include\ostream(930): см. объявление 'std::eek:perator <<'
    .\p21-1.cpp(9) : error C2784: std::basic_ostream<char,_Traits> &std::eek:perator <<(std::basic_ostream<char,_Traits> &,unsigned char): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "std::istream"
    C:\Program Files\C++\VC\include\ostream(930): см. объявление 'std::eek:perator <<'
    .\p21-1.cpp(9) : error C2784: std::basic_ostream<char,_Traits> &std::eek:perator <<(std::basic_ostream<char,_Traits> &,unsigned char): не удалось вывести аргумент шаблон для "std::basic_ostream<char,_Traits> &" из "std::istream"
    C:\Program Files\C++\VC\include\ostream(930): см. объявление 'std::eek:perator <<'
    .
     
    #123 Pashkela, 3 Feb 2009
    Last edited: 3 Feb 2009
  4. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    Для начала разверни символ потока в обратную сторону (cin >>choice)
     
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 awdrg:

    Для начала повторюсь - так написано (я же не слепой, да?) в книжке "21 день и прочая гламурная хня про С++ от одного долбика, который свои коды на MS VC++2008" не тестил. Так вот, если я напишу

    cin >> choice

    то да, работать будет (в смысле не работать, а компилица), но работать будет неправильно, т.к. если ввести что-то (от 0 до 6, или от 1 до 7) - то и выведестя ВСЕГДА одинаковый рез-т, т.е. ENUM как бы не при чем. Спасибо, но хрень я могу писать и без ENUM

    А вот если сделать как в книжонке этой долбанной

    cin << бла-бла


    , то получаются ошибки, которые я уже привел на два поста выше
     
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Вывод - книга, возможно, и мега авторитетная, но с опечатками и недомолвками в РУССКОМ переводе. А дурачков в зеркале ищите:)))
     
  7. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    Бля так у меня в консоли та же х-ня, оно работать не будет перевернутое раком НИКАК. Чтобы работал енум смотри мои посты выше. Но ты cin не заставишь по своему работать :D
     
  8. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Оно не будет компилица, т.к операто << для класса cin не перегружен!!!
     
  9. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    Вот и я о том же :-/
     
    1 person likes this.
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Вот книга из первого поста темы, вот ссылка:

    http://nerezus.ifolder.ru/7491359

    скачать, присвоить расширение djvu, открыть djvureader-ом, сделать масшатаб Fit Widht, а потом перейти на 72-ю страницу

    вопрос закрыт, просто когда первый раз видишь С++ и такие очепятки - извините, ахрененное пособие называется
     
    #130 Pashkela, 3 Feb 2009
    Last edited: 3 Feb 2009
  11. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    Мысли абстрактно, не привязывайся к одной точке :) возможно опечатка
     
  12. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Ты веришь книге, но не веришь компилятору и нам? - наивный

    Посмотри как правильно енам использовать, проблема в нем
     
    1 person likes this.
  13. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Еще раз - ни один из примеров, приведенных выше - не работает. Компилица, но не работает так, как надо. Т.е. день недели из перечисленных констант не выбирается. Просьба написать ПРОВЕРЕННЫЙ рабочий код по этому примеру. Для MS VC++2008

    ЗЫЖ Про очепятку уже понял (хотя, конечно, не ожидал). Т.к. других источников, кроме этой книги у меня нет, просьба (ну чо вам, в падло что ли) написать сюда рабочий код именно ДЛЯ ЭТОГО примера
     
  14. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    Я пока с мобилы напишу код, умру нах :D
     
  15. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    А я никуда и не тороплюсь. Если книги такие новичкам советуют, то я лучше живого общения подожду (опечатка, какое короткое слово, но сколько гемороя)
     
  16. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    Enum days{a,b,c,d,e,f,g};
    days now;
    cin >> now;
    if ((now == f) or (now == g))
    cout << "yeah";
    else cout << ":-(";
    вот косяк
     
  17. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    Входные данные можешь загонять как буквой, так и числом.
     
  18. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Code:
    Компиляция...
    p21-1.cpp
    .\p21-1.cpp(8) : error C2679: бинарный '>>': не найден оператор, принимающий правый операнд типа 'main::days' (или приемлемое преобразование отсутствует)
            C:\Program Files\C++\VC\include\istream(1144): может быть 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char *)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(1146): или       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char &)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(1148): или       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char *)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(1150): или       'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char &)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(155): или       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_istream<_Elem,_Traits> &(__cdecl *)(std::basic_istream<_Elem,_Traits> &))'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(161): или       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(168): или       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::ios_base &(__cdecl *)(std::ios_base &))'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(175): или       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::_Bool &)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(194): или       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(short &)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(228): или       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned short &)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(247): или       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(int &)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
            C:\Program Files\C++\VC\include\istream(273): или       'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned int &)'
            with
            [
                _Elem=char,
                _Traits=std::char_traits<char>
            ]
    
    я же говорил, ПРОВЕРЕННЫЙ

    ЗЫЖ Это еще не все ошибки. Кстати, MS VC++2008 чуствителен к регистру, так что не Enum, а enum. Но это было исправлено еще до ошибок
     
  19. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    В консоли все отлично компилится, могу только пожелать удачи 2008 MS кактамего
     
  20. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ну вот я и хочу, чтобы автор первого поста, который такое советует, объяснил мне, почему элементарные вещи в MS VC++2008 не работают. Аргументы и факты все приведены.

    а еще лучше ничего не объяснять а просто дать рабочий код в студию:)
     
    #140 Pashkela, 3 Feb 2009
    Last edited: 3 Feb 2009
    1 person likes this.