Pjotr Posted April 25, 2009 Posted April 25, 2009 Egy tömbben benne vannak a hosszak, már feltöltésnél kiszámoltatom a őket. Utána ezt használom fel (ugyanúgy ellenőrzi, nem-e szerepelne kétszer), csak megvan ez az első elemes gond. Azért nem gondolom hibának, mert a max/min indexérték csak akkor változik, ha nagyobbat/kisebbet talál, így mindenképp az első leghosszabb/legrövidebb kerül át a kiírandó tömbbe.
KGigi Posted May 1, 2009 Posted May 1, 2009 Lenne egy hülye kérdésem, amire nem találok választ. Mi a különbség az alábbiak között: exit(0), exit(1), exit(2)? Leginkább az 1 és a 2 között, a 0 elvileg a normál futás. exit(2)-vel eddig csak kivételkezeléskor találkoztam, nem értem, ott miért az kell, miért nem jó az 1.
arpsoft Posted May 2, 2009 Posted May 2, 2009 Az ERROR_LEVEL környzeti változó kapja meg ezt az értéket. Pl batchfájlokban jól jöhet, ha azt kell eldönteni, mi volt a kilépés oka.
peter_in_the_matrix Posted June 16, 2009 Posted June 16, 2009 Sziasztok! Nemrég elkezdtem olvasni egy C-rõl szóló leírást, mert érdekel a programozás és gondoltam a C hasznos lenne mert sok helyen használják és sok másik nyelvnek az alapja. Az a problémám, hogy megírtam a szokásos Hello Világ programot az oldal segítségével, de nem tudom lefordítani, mert nincs fordítóm. Több fordítót is letöltöttem, de egyiket se sikerült mûködésre bírnom, eddig az Ubuntu konzolja volt a leghatékonyabb (gcc hello.c), de az is megakadt, mert nem tudta betölteni az stdio.h-t (ez mondjuk érthetõ, mert olyanom nincs, de ha letöltök egy fordítót amibe van akkor azt megint csak nem tudom használni. Tudna valaki segíteni, milyen programot töltsek le, hogy kell telepíteni, nagyon új vagyok még ebben. Elõre is köszönöm
Dave891 Posted June 16, 2009 Posted June 16, 2009 Én Visual Studio-t használok, de ingyenes megoldásként tudom javasolni a Code::Blocks-ot, ez is tökéletesen használható, próbáltam már.
peter_in_the_matrix Posted June 16, 2009 Posted June 16, 2009 Köszönöm a segítséget! Ez mûködik :-) Kiírja, hogy Hello World :-) és exe-t is csinál :-) Köszönöm szépen
[OP]Destroy-man Posted July 9, 2009 Posted July 9, 2009 Úgy döntöttem, hogy neki veselkedek a C++ nyelvenek. Eddig csak C, C#, és Javaval foglalkoztam. Beszereztem a "Tanuljuk meg a C++ progarmozási nyelvet 24 óra alatt" c. könyvet hozzá, de mindjárt az elején elakadok, a Hello World-nél. A probléma a következő: a fejlesztő program (Visual Studio 2010), nem ismeri a cout parancsot. Ez mi okozhatja? Az igaz, hogy a VS2010 még béta, de az nem azt jelenti, hogy a régota készen lévő Header fájl is hiányos. Az általam használt kód: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { std:cout << "helloworld"; return 0; } A könyvben az iostream-et importálták, de az sem oldotta meg a gondot, úgyhogy azt végül kiszedtem a kódból, meg egyébként is az stdafx-nek a kiírást tartalmazni kell(ene). Vagy megváltozott a kiiratás? Más: Ha sikerül működésre bírni a "kicsikét", hogy fogom tudni 64-bitre lefordítani? Mit kell átállítanom a VS-ben? A 64 bites fordító telepítve van.
Dave891 Posted July 9, 2009 Posted July 9, 2009 Lehet csak elírás, de "_tmain" -ről még nem hallottam. #include <iostream> using namespace std; int main(){ cout << "helloworld"; return 0; } Ha nem akarod kiírni a "using namespace std"-t, akkor pedig valószínűleg ott lesz a hiba, hogy std::"stbstb" a helyes alak. Tehát két kettőspont kell. De hasznosabb kiírni még az elején a namespace-t, és akkor nem kell ezzel az std:: alakkal foglalkozni utána, hacsaknem más namespace-ed is van, és másra van szükséged, de erről majd később fogsz olvasni a könyvben biztosan. A 64 bites fordításhoz nem tudok hozzászólni.
[OP]Destroy-man Posted July 9, 2009 Posted July 9, 2009 Én csak az std-s sort gépeltem be, a többi adott volt. _tmain() main()-re cserélve semmi változás, viszont az std namespace-t nem találja. A jelenlegi kód: #include "stdafx.h" using namespace std; int main(int argc, _TCHAR* argv[]) { cout << "helloworld"; return 0; } A hozzávaló hibák: IntelliSense: name must be a namespace name IntelliSense: identifier "cout" is undefined Ötlet? Valamit még include-olni kéne? Nem lehet, hogy .NET 4.0 kavar be?
Pjotr Posted July 9, 2009 Posted July 9, 2009 Ha nem írod be a "using namespace std"-t, akkor az std::cout-ot kell használni 2 db kettõsponttal. A cout az isotream-ben van benne, így ezt mindenképp include-olni kell. Dave89 megoldása a jó, ha lehet ilyet mondani.
Dave891 Posted July 9, 2009 Posted July 9, 2009 Egy lehetséges mûködõ megoldás amit írtam. Egyébként mi ez a "stdafx.h" ? Sosem hallottam még ilyenrõl C és C++ -ban. Honnan jött ez? Alapból nincs benne a VS-ban, mert nekem hiányolja a 2003-as.
arpsoft Posted July 9, 2009 Posted July 9, 2009 Az MFC forráskódjában találtam ilyet. Lehet, hogy MFC-s varázslóval készült az alap alkalmazás?
Pjotr Posted July 9, 2009 Posted July 9, 2009 Miért használsz beta eszközöket egyáltalán? .NET 4? VS2010? Még a véglegesekkel is szokott lenni gond.
[OP]Destroy-man Posted July 9, 2009 Posted July 9, 2009 Na, akkor azt hiszem letörlöm, és jön helyette a VS 2008. Pedig egész megszerettem ezt a verziót az IntelliSense miatt. Az stdafx.h ezt tartalmazza: // stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #pragma once #include "targetver.h" #include <stdio.h> #include <tchar.h> // TODO: reference additional headers your program requires here Egy Win32 Consol Applicationt kértem a VS-tõl, és akkor alapból ezt adja: // 1.cpp : Defines the entry point for the console application. // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; }
[OP]Destroy-man Posted July 9, 2009 Posted July 9, 2009 Így meg megy. Akkor mégis kap egy esélyt tõlem ez a VS2010. Köszi a segítséget!
[OP]Destroy-man Posted July 17, 2009 Posted July 17, 2009 Gyorsított eljárásban átnéztem ezt a 24 órás C++ könyvet (C, C# és Java ismeretek mellett nem volt értelme sokat foglalkozni vele). Így úgy döntöttem, egy kicsit tovább lépek, és belenézek a DX-be. Eddig érthető volt számomra amit a tutorialba írtak (monster3D project), de egy valamit nem találok a VS-ben. Hol lehet linkelni az Obejectet és Libraryt? Ha valaki VS 2008-at használ, és tudja merre keressem ezt a linkelést, akkor azt nagyon szépen megköszöném. Szerk.: Megtaláltam, de itt valami más hiba lesz. Error 4 error LNK2028: unresolved token (0A00002A) "extern "C" unsigned short __stdcall RegisterClassExA(struct tagWNDCLASSEXA const *)" (?RegisterClassExA@@$$J14YGGPBUtagWNDCLASSEXA@@@Z) referenced in function "extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z) d3d.obj direct3d
skybot Posted July 24, 2009 Posted July 24, 2009 Üdvözlet! Arról szeretnék kérdezni, hogy miként lehet a C++-os programokban magyar ékezetes betûket megjeleníteni? Valamint keresnék valakit aki tudna segíteni a fájlkezelésben is, mert nem nagyon értem, ahogy könyvben van. Elkélne egy kis magyarázat, ugyanis teljesen magamtól tanulok. A válaszokat elõre is kösz.
Pjotr Posted July 24, 2009 Posted July 24, 2009 Magyar karakterek 2 módot tudok, meglátod, melyik a megfelelő. int main() { setlocale(LC_ALL,"HUN"); //programod return 0; } Ekkor a programüzenetek ékezetesen íródnak ki, de ha adatot vittél be, amely ékezetes karaktereket tartalmazok, azok hibásan jelennek meg. #include<windows.h> Ebben az esetben a setlocale(LC_ALL,"HUN"); nem használható, így a programüzenetek nem lehetnek ékezetesek (hibásak lennének), viszont a bevitt adatok helyesen fognak megjelenni. Fájlkezelés Erről nem tudok sokat, de talán segít ez a kicsi is. #include<fstream> Olvasásra ifstream iras("file.txt"); //in filestream, az olvasas lesz az adott fájlra történő hivítkozás utasítása, zárójelben maga az olvasásra megnyitandó fájl, VS esetében a cpp állományokkal van 1 mappában (ha nincs létrehozva, akkor létrehozza) if(!olvasas) {cerr<<"Hiba"; exit(1);} //ezek után az olvasas-t úgy kell használni, mint a cin-t olvasas.getline(valtozo,20); //miután végeztél, le kell zárni a megnyitást olvasas.close(); Írásra: ofstream iras("file.txt"); //out filestream, az iras lesz az adott fájlra történő hivatkozás utasítása, zárójelben maga az írásra megnyitandó fájl, VS esetében a cpp állományokkal van 1 mappában (ha nincs létrehozva, akkor létrehozza) if(!iras) {cerr<<"Hiba"; exit(1);} //ezek után az iras-t úgy kell használni, mint a cout-t iras<<valtozo; //miután végeztél, le kell zárni a megnyitást iras.close();
skybot Posted July 26, 2009 Posted July 26, 2009 Köszönöm a segítséget! Egyelőre nem működik, de leírom a kódot, hátha így könnyebben tudtok segíteni. Azt írja a fordító, hogy az ofstream nincs deklarálva. #include <iostream> #include <windows.h> #include<fstream> int main() { ofstream olvasas("eloadas.txt"); if(!olvasas) {cerr<<"Hiba"; exit(1);} olvasas.getline >> valtozo; olvasas close(); system("pause"); return 0; }
Pjotr Posted July 26, 2009 Posted July 26, 2009 Én hibám, felcseréltem az írás/olvasás címkéket. Ha kijavítod iftsream-re menni fog. Jó lenne még létrehozni a valtozot-t is (megfelelő hosszúságút).
skybot Posted July 26, 2009 Posted July 26, 2009 Jó most már egy része mûködik. Namespace-t is kihagytam azért nem ismerte fel. #include <iostream> #include <windows.h> #include <fstream> using namespace std; int main() { char valtozo; ifstream olvasas("eloadas.txt"); if(!olvasas) {cerr<<"Hiba"; exit(1);} olvasas.getline >> valtozo; // most viszont itt akad el olvasas close(); system("pause"); return 0; } Mi lehet a probléma?
Pjotr Posted July 26, 2009 Posted July 26, 2009 Így? #include <iostream> #include <windows.h> #include <fstream> using namespace std; int main() { char valtozo[20]; ifstream olvasas("eloadas.txt"); if(!olvasas) {cerr<<"Hiba"; exit(1);} olvasas.getline(valtozo,20); olvasas.close(); system("pause"); return 0; } Fent sikerült a getline dolgot is elírnom, gondolom, nem ez volt az eredeti elképzelésem, út közben módosult, javítva. A kódodból hiányzik egy . az olvasas.close();-ból. Rám fér egy nagy ismétlés.
skybot Posted July 26, 2009 Posted July 26, 2009 Működik. Esetleg le tudnád írni, hogy tudnám a fájl tartalmát megjeleníteni, ha nem nagy teher?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now