[ 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. ronald

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

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    42
    Reputations:
    6
    2 4y4o

    1-st:
    #include "stdafx.h"
    #include <iostream>
    #include <iomanip>
    #include <conio.h>
    using namespace std;
    int main()
    {
    float nomwet = 0, nachbal = 0, rashod = 0, prihod = 0, predel = 0, newbal = 0;
    while (1)
    {cout << "Vvedite nomer weta (ili -1): ";
    cin >> nomwet;
    }

    if (nomwet==-1)
    {
    getchar();
    cout<<"Finishing program...";
    sleep (скок хошь, но тут по-мойму в милисекундах);
    _getch(); //если VS 2005 и далее,то так, раньше - getch()
    return 0;
    }
    else
    {
    cout << "Vvedite na4alniu balans: ";
    cin >> nachbal;
    cout << "Vvedite symmy rashodov: ";
    cin >> rashod;
    cout << "Vvedite symmy prihoda: ";
    cin >> prihod;
    cout << "Vvedite predel kredita: ";
    cin >> predel;
    cout << "HOMEP WETA: " << nomwet << endl;
    newbal = nachbal + rashod - prihod;
    cout << "Balans: " << newbal << endl;
    if (newbal > predel)
    cout << "PREDEL PREVUWEN!!!\n";}
    return 0;
    }
     
  2. Zakary

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

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    #include <iostream> не работает...при компиляции выдает ошибку...

    ну т.е.
    в коде любом типа
    Code:
    #include <iostream>
     
    int main()
    {
        std::cout << "Hello, world!" << std::endl;
        return 0;
    }
    пишет 1 error.

    Итааак...) visual C++ 2008 express edition

    вот о_О может потому что экспресс?:)
     
  3. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    попробуй
    #include <iostream.h>
    хотя должно работать и так как ты написал
     
  4. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Нет, явно не потому что Express, оно должно отличаться только наличием компонентов. Да и не будет такая компания отпугивать потенциальных клиентов. Ладно.. о чем я..

    Описание ошибки в студию. Похоже на ошибку линковки. Все дело в прекомпиленных хидерах.

    сделай

    Code:
    #include "stdafx.h"
    На сколько я сведущ, то в Студии отказались от старых хидеров и либ. Потому <iostream.h>
     
    1 person likes this.
  5. Zakary

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

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    при
    Code:
     #include <iostream>
    int main()
    {
        std::cout << "Hello, world!" << std:endl;
        return 0;
    }
    выдает:

    Code:
    Compiling...
    1>234.cpp
    1>c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(1) : warning C4627: '#include <iostream>': skipped when looking for precompiled header use
    1>        Add directive to 'stdafx.h' or rebuild precompiled header
    1>c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(7) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
    1>Build log was saved at "file://c:\Users\Rus\Documents\Visual Studio 2008\Projects\234\234\Debug\BuildLog.htm"
    1>234 - 1 error(s), 1 warning(s)
    при

    Code:
     #include 'stdafx.h' int main() {     std::cout << "Hello, world!" << std:endl;     return 0; }
    выдает:
    Code:
    1>Compiling... 1>234.cpp 1>c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(1) : error C2015: too many characters in constant 1>c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(1) : error C2006: '#include' : expected a filename, found 'constant' 1>c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(1) : fatal error C1083: Cannot open include file: '': No such file or directory 1>Build log was saved at "file://c:\Users\Rus\Documents\Visual Studio 2008\Projects\234\234\Debug\BuildLog.htm" 1>234 - 3 error(s), 0 warning(s)
    при

    Code:
    #include <iostream>
    #include 'stdafx.h'
    int main()
    {
        std::cout << "Hello, world!" << std:endl;
        return 0;
    }
    выдает

    Code:
    >c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(1) : warning C4627: '#include <iostream>': skipped when looking for precompiled header use 1>        Add directive to 'stdafx.h' or rebuild precompiled header 1>c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(2) : error C2015: too many characters in constant 1>c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(2) : error C2006: '#include' : expected a filename, found 'constant' 1>c:\users\rus\documents\visual studio 2008\projects\234\234\234.cpp(2) : fatal error C1083: Cannot open include file: '': No such file or directory 1>Build log was saved at "file://c:\Users\Rus\Documents\Visual Studio 2008\Projects\234\234\Debug\BuildLog.htm" 1>234 - 3 error(s), 1 warning(s)
    о_О ояе6у....
     
  6. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    2Zakary:
    1 вариант:
    Alt+F7 > Configuration Properties > C/C++ > Precompiled Headers > Create/Use Precompiled Headers > Not Using Precompiled Headers
    2 вариант:
    создавай пустой проект (галочка на Empty Project при создании)
    3 вариант:
    не надо ничего трогать при создании шаблонного проекта =)

    PS: одинарные кавычки в директиве include вроде не катят
     
    1 person likes this.
  7. Zakary

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

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    1. Alt+F7 > Configuration Properties > сделал:)
    теперь прогресс:)

    1 ошибка осталася:)


    в этом коде:
    Code:
    #include <iostream>
    using namespace std;
    int main();
    
    {
      cout << "Hello, world!" << endl;
      return 0;
    }
    1 error получается:
    error C2447: '{' : missing function header (old-style formal list?)

    2. Да:)) создаю пустой проект..... о_О

    3. А когда ничего не трогаю то мне непонятно чего за там шаблон он создал))

    да)) как я тоже понял одинарные кавычки не катят)) а и двойные тоже...о_О
     
    #1487 Zakary, 3 Sep 2008
    Last edited: 3 Sep 2008
  8. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    Странно, неужели в 2008 студии так все переделали. Поищи получше что-нить подобное.
    Коммент из этого файла собственно:
    // stdafx.h : include file for standard system include files,
    // or project specific include files that are used frequently, but
    // are changed infrequently
    короче говоря, актуален он скорее для больших проектов.
    Ты его не удалил там случаем?
    #include "stdafx.h"
    правой кнопкой по "stdafx.h" > Open document "stdafx.h" - открывает его?
     
  9. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    int main()
     
  10. Zakary

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

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Ну я нашел, ты видел:)

    int main() без ; поставил и ошибка

    fatal error LNK1120: 1 unresolved externals

    stdafx.h - открывает:)
     
  11. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    Мда =) ну ошибка походу означает, что ты используешь функцию из неподключенной библиотеки..
    У меня на 2005 студии пример твой компилится без каких-либо проблем.
     
  12. Zakary

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

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Я б любую студию поставил...) ток у меня на проверке будет всегда 2008.

    впринципе можно поставить 2 под одну ос??? например ещё 2006 если поставлю о_О?

    эммм....хочешь я логически поразмыслю?)))) если неподключенная библиотека, то значит мне надо библиотеки подключить..так?:)
     
  13. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    Без проблем. Правда нет такой студии 2006, только 2005.
    Тут два варианта, либо инсталлер тупо не поставил стандартные библиотеки под С++, так что cout у тебя неоткуда брать, либо кривые настройки линкера там.
    Я наслышан про проблемы с 2008 студией, поэтому пока по старинке использую 2005 =)
     
  14. Zakary

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

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    ну инсталлер у меня весил 200 килобайт с микрософт.ком, а потом он устанавливал с сервера(или как это правильо называется? путем закачки)

    Тебе спасибо огромное. Попробую 2005 поставить:)
    видимо ещё напишу:)
     
  15. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    Пользуюсь 2008 студией, пишу консольные проги на стандартных либах. Никаких проблем до сих пор не было (правда, у меня Team Studio с MSDN из Express Edition ;). Точнее, проблемы встречались, но я с ними справлялся.
     
  16. Zakary

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

    Joined:
    28 Sep 2005
    Messages:
    165
    Likes Received:
    10
    Reputations:
    0
    Кароч:) на 2005 экспресс - всё, всё работает без проблееем)) ваще круто:))
     
    1 person likes this.
  17. agrofyl2

    agrofyl2 New Member

    Joined:
    25 Apr 2008
    Messages:
    54
    Likes Received:
    4
    Reputations:
    0
    Здрасте.
    Проблемка.

    Пытаюсь получить страницу по HTTP.
    Вот кусок кода:

    Code:
    char getbuf[1];
    	int one=0, nowheader=1;
    	while(1) {
            ret=recv(sDownload,	getbuf, 1, 0);
    		if (ret == SOCKET_ERROR) return 1;
    		if(ret == 0) break;
    		if(nowheader) {
    			fileheader.write(getbuf, 1);
    			if(getbuf[0]=='\n') {
    				if(one) {
    					nowheader=0;
    					//fileheader.flush();
    					fileheader.close();
    				}
    				one=1;
    			}
    			else if(getbuf[0]!='\r') one=0;
    		}
    		else file.write(getbuf, 1);
    	}
    	file.flush();
    	file.close();
    
    Но при получении файла, после каждого "Энтера"('\r\n") появляется еще один, например вместо
    Code:
    <html>
    <body>
    <head>
    
    следующая строка

    Code:
    <html>
    
    <body>
    
    <head>
    
    
    Помогите исправить ошибку.
     
    #1497 agrofyl2, 3 Sep 2008
    Last edited: 4 Sep 2008
  18. BEGINER

    BEGINER New Member

    Joined:
    16 Aug 2008
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    Неделю назад поставил visual C++ 2008 express edition
    Создал новый пустой проект написал туда этот код, выключил прекомпилированные заголовки, все скомпилировалось.
    Если поможет, то такой вывод
    Code:
    Build Log      Build started: Project: 123456, Configuration: Release|Win32
     Command Lines      Creating temporary file "f:\project\123456\123456\Release\RSP0000267742070060.rsp" with contents
    [
    /O2 /Oi /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /FD /EHsc /MD /Gy /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Zi /TP .\123456.cpp
    ]
    Creating command line "cl.exe @f:\project\123456\123456\Release\RSP0000267742070060.rsp /nologo /errorReport:prompt"
    Creating temporary file "f:\project\123456\123456\Release\RSP0000277742070060.rsp" with contents
    [
    /OUT:"F:\project\123456\Release\123456.exe" /INCREMENTAL:NO /MANIFEST /MANIFESTFILE:"Release\123456.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"F:\project\123456\Release\123456.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG /DYNAMICBASE /NXCOMPAT /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
    
    ".\Release\123456.obj"
    ]
    Creating command line "link.exe @f:\project\123456\123456\Release\RSP0000277742070060.rsp /NOLOGO /ERRORREPORT:PROMPT"
    Creating temporary file "f:\project\123456\123456\Release\RSP0000287742070060.rsp" with contents
    [
    /outputresource:"..\Release\123456.exe;#1" /manifest
    
    .\Release\123456.exe.intermediate.manifest
    ]
    Creating command line "mt.exe @f:\project\123456\123456\Release\RSP0000287742070060.rsp /nologo"
    Creating temporary file "f:\project\123456\123456\Release\BAT0000297742070060.bat" with contents
    [
    @echo Manifest resource last updated at %TIME% on %DATE% > .\Release\mt.dep
    ]
    Creating command line "f:\project\123456\123456\Release\BAT0000297742070060.bat"
     Output Window      Compiling...
    123456.cpp
    Linking...
    Generating code
    Finished generating code
    Embedding manifest...
     Results      Build log was saved at "file://f:\project\123456\123456\Release\BuildLog.htm"
    123456 - 0 error(s), 0 warning(s)
     
     
  19. ronald

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

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    42
    Reputations:
    6
    Zakkary

    Такая же быль трабл, просто открой стдафкс (лень язык переключать-контрл отлетел) и вбей туда #include <iostream.h> вродь должно пахать, не поможет, стукни в ЛС
     
  20. ronald

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

    Joined:
    27 Mar 2008
    Messages:
    252
    Likes Received:
    42
    Reputations:
    6
    UnPazz http://msdn.microsoft.com/en-us/library/hf9x9wb4.aspx ищи нужное
     
    1 person likes this.
Thread Status:
Not open for further replies.