Zum Inhalt springen

TDM

Mitglieder
  • Gesamte Inhalte

    1804
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von TDM

  1. TDM

    Problem mit aufabe

    bool eingabe(int& seitea, int& seiteb, int& seitec) //& -> Alias; Zeiger sind Referenzübergaben zu gefährlich... { printf("Bitte die Seiten eingeben, Abbruch mit 0 0 0: "); fflush(NULL); scanf("%d %d %d",&seitea,&seiteb,&seitec); if (seitea != 0 && seiteb != 0 && seitec != 0) //prüfen ob alle 0 return true;//wenn alle 0 sind true -> false <- kein neuer Schleifendurchlauf if (seitea != 0 || seiteb != 0 || seitec != 0) //prüfen ob eine 0 { printf("Falsche Eingabe"); return false; //wenn 0 ist gebe false zurück (wird dann true <- normal Schleife durchlaufen) } return true; //ansonsten true -> false <- kein neuer Schleifendurchlauf } int main(void) { int seitea; int seiteb; int seitec; bool Abbruch = false; while (!Abbruch) //Negation { Abbruch = eingabe(seitea,seiteb,seitec); } return 0; } theoretisch könnte man in der Eingabefunktion auch mit XOR arbeiten aber ich wollte dich nicht komplett verwirren *g* Es sind nur die Grundgedanken kommentiert - wenn du also fragen hast - frag
  2. gibts eigentlich noch system("Pause"); in C++ oder war das C?
  3. lt. http://www.imb-jena.de/~gmueller/kurse/c_c++/c22.html gibt es aber im ANSI-C auch die void Variante O.o Ist die so verpöhnt ?
  4. http://www.chip.de/c1_forum/thread.html?bwthreadid=511391 erster Treffer bei google
  5. ok... hab den fehler selber gefunden hab jetzt einfach CSBI.srWindow an die Funktion übergeben...
  6. guten morgen, Ich möchte in der Win32 Konsole einen Rahmen zeichnen... Die oberste Begrenzung sieht ganz ok aus - allerdings werden danach nur noch die 2 Ränder neben einander gezeichnet - die unterste Seite ist garnicht da src: // Rahmen.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <windows.h> //Warnung ausschalten: Verkuerzung eines konstanten Wertes #pragma warning (disable : 4309 ) using namespace std; HANDLE gotoxy(int,int); void drawBorder(int,int,int,int); int _tmain(int argc, _TCHAR* argv[]) { HANDLE hStdout = gotoxy(0,0); CONSOLE_SCREEN_BUFFER_INFO CSBI; GetConsoleScreenBufferInfo(hStdout, &CSBI); char zeichen1 = 218; int maxX = CSBI.dwSize.X; int maxY = CSBI.dwSize.Y; drawBorder(0,0,maxX,maxY); gotoxy(25,25); return 0; } HANDLE gotoxy(int x, int y) { HANDLE hStdout; COORD coordScreen = {x,y}; hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition( hStdout, coordScreen); return hStdout; } void drawBorder(int x1, int y1, int x2, int y2) { char i = 201; int u; gotoxy(x1,y1); cout << i; i = 188; gotoxy(x2,y2); cout << i; i = 187; gotoxy(x2,y1); cout << i; i = 200; gotoxy(x1,y2); cout << i; i = 205; //vertikal for((u=(x1+1)); u < x2; u++) { gotoxy(u,y1); cout << i; gotoxy(u,y2); cout << i; } //horizontal for((u=(y1+1)); u < y2; u++) { gotoxy(x1,u); cout << i; gotoxy(x2,u); cout << i; } } jemand ne idee?
  7. gut... ich habs glaub ich verstanden: in der *.h: static void StartThread( void* lpParam ); in der *.cpp: void CIRC::StartThread( void* lpParam ) { CIRC* tmpscon = (CIRC*)lpParam; tmpscon -> GetMsg(); } in der main: CIRC scon ... //bissl Funktionsaufrufe _beginthread(scon.StartThread, 0, &scon); danke klotzkopp für den hinweis
  8. wie da braucht man ne instanz ? hab ich doch... scon ist das objekt... oder wie jetzt? wenn ich die static mach kann ich aber dann nur noch andere static funktionen damit aufrufen... die hier hab ich zwar jetzt static gemacht... void CIRC::SendPong(void) { char *Pong = new char[sizeof(m_Input)]; std::string PONG; strcpy(Pong,m_Output.c_str()); Pong[1] = 'O'; PONG = Pong; send(m_Sock, PONG.c_str(), PONG.length(), 0); } aber da kommen die fehlermeldungen: error C2070: ungueltiger sizeof-Operand error C2228: Der linke Teil von '.c_str' muss eine Klasse/Struktur/Union sein error C2597: Ungueltige Referenz auf ein Datenelement 'CIRC::m_Sock' in einer statischen Member-Funktion (über den src von sendpong bitte ne aufregen - is im moment nur ne notlösung)
  9. void GetMsg(void *m_Sock); _cdecl nützt nichts wenn ichs davor schreib - weil das wird ignoriert: warning C4230: Anachronismus verwendet : Modifizierer/Qualifizierer kombiniert, Qualifizierer wird ignoriert achja... und ist public
  10. hi, ich hab mich seit gestern daran versucht einen IRC Client zu schreiben... der ging auch ganz gut - nur war das keine klasse sondern "nur" normal-globale funktionen dacht ich mir also ich schreib ne klasse... ich hab jetzt aber folgendes problem: zu erst sah die main wie folgt aus int main() { SOCKET sock; std::string zugangsdaten[4]; Zugangsdaten(zugangsdaten); sock = connectServ(zugangsdaten[2], 6667); loginServ(sock, zugangsdaten); Join(sock, zugangsdaten); _beginthread(GetMsg, 0, (void *)sock); SendMsg(sock); std::cin.get(); WSACleanup(); return 0; } nun sieht sie so aus: int main(int argc, char* argv[]) { SOCKET sock; CIRC scon(sock, "rwxd", "irc.gamesurge.net", "lala", "#Help"); _beginthread(scon.GetMsg, 0, (void *)scon.GetSock()); scon.SendMsg(); std::cin.get(); WSACleanup(); return 0; } jetzt kommt aber aus weis nicht was für gründe folgende fehlermeldung: error C2664: '_beginthread' : Konvertierung des Parameters 1 von 'void (void *)' in 'void (__cdecl *)(void *)' nicht moeglich hier noch die GetMsg Funktion: void CIRC::GetMsg(void *m_Sock) { char ausgabe[1000]; int x = 0; while(1) { x = recv((SOCKET) m_Sock, ausgabe, sizeof(ausgabe), 0); if(x > 0) { ausgabe[x] = 0; std::cout<< ausgabe << std::endl; //TODO: PONG HANDLING if (ausgabe[0] == 'P' && ausgabe[1] == 'I' && ausgabe[2] == 'N' && ausgabe[3] == 'G') SendPong(); } Sleep(10); } } ich hab bestimmt irgentwo nen denk fehler - weis aber ne wo hat jemand ne idee? achja... MTD ist gesetzt
  11. TDM

    Systemvariablen auslesen

    ok danke, getenv funzt *g* ich meinte getenv("USERNAME")
  12. TDM

    Systemvariablen auslesen

    na halt der name vom angemeldeten benutzer gespeichert als %USERNAME% O.o
  13. hi, ich wollte fragen ob man mit C/C++ die Systemvariablen (wie z.b. bei windows USERNAME usw.) auslesen kann wenn ja - mit welcher funktion und in welcher header ist die ?
  14. TDM

    Probleme mit Argumenten

    naja nic... ich habs auch ohne funktionspointer geschafft #define VL_MODE 0 #define iif(C,T,F) (C)?(T):(F) #include <iostream> using namespace std; void func(Mode) { cout << "Mode: " << Mode; } int main(int argc, char **argv) { int Mode = iif(argv-1,atoi(argv[1]),VL_MODE); func(Mode); return 0; } Muss dann halt nur noch ne funktion einbauen die abprüft ob argv[1] wirklich eine zahl ist aber sonst geht das eigentlich soweit aber trotzdem danke - kann ich gleich noch ne übung zu funktions pointern machen
  15. TDM

    Probleme mit Argumenten

    achso... das wusst ich nicht :X naja... würde es theorethisch gehen, dass ich argv[1] als parameter (in einer Variable) übergeb ? weil dann könnt ich nen "if-konstrukt" nach dem parameter einbauen *g*
  16. TDM

    Probleme mit Argumenten

    naja... ich hatte es so gemacht: #define VL_MODE VL_MODE_DEFAULT #if VL_MODE == 0 funktion1() {...} funktion2() {...} ... #elif VL_MODE == 1 funktion1() {...} funktion2() {...} ... #endif wenn ich das über variablen gemacht hätte, wär erstens aufgrund des fehlenden körpers gekommen und zweitens wär das trotzdem mehrmals definition gewesen *g* Edit: Klotzkopf... das war ja das problem... wenn ich es mit parametern mach, hab ich das problem mit der compile-/laufzeit nicht btw: ich bin ersteller dieser stdflifo ^^ (erklärt alles oder ? )
  17. TDM

    Probleme mit Argumenten

    wie soll man sonst 2 funktionen mit gleichen parametern aber unterschiedlichen rumpf machen ? der würde doch meckern wegen mehrfach definition der funktionen...
  18. TDM

    Probleme mit Argumenten

    naja gut ok :/ aber die main wird ja auch aufgerufen... folglich müssen ja da parameter übergeben werden... so... nun wo kommen die parameter her ? (vom programm... weis ich... aber wie werden die an die main übergeben ?) vielleicht ne andere idee wie ich ich die parameter in defines speichern kann ?
  19. TDM

    Probleme mit Argumenten

    ja, dass defines vor dem Compileren ausgeführt werden, weis ich ja... das ist ja der grund warum ich das genommen hatte *g* ich hab in der STDFLIFO mehrere funktionen die gleiche namen haben -> jeweils nach define werden nur speziell benötigte ausgewählt irgentwie müssen die argumente aber doch übergeben werden... ich mein wo kommen die argv's her ? so wie ich die IDE kenn werden die doch sicher von defines abgeleitet oder nicht ?
  20. hi, ich habe folgendes Problem: #define ARGC argc #ISARGC (ARGC-1) #if ISARGC > 0 #define VL_MODE argv[1] #endif #include "STDFLIFO.h" ... int _tmain (int argc, char* argv[]) { printf ("%i", VL_MODE); ... in der STDFLIFO.h stehen folgende Zeilen: #define VL_MODE_DEFAULT 0 #ifndef VL_MODE #define VL_MODE VL_MODE_DEFAULT #endif normalerweise müsste der doch auch auf das argv zugreifen können auch wenns noch nicht definiert wurde, weil es eigentlich nur nen text ersatz ist oder ? gibts nen define für argv und argc ? auf jeden fall kommt immer - egal ob ich mit parametern starte oder auch nicht die ausgabe das VL_MODE 0 ist hat einer ne idee woran das liegen könnte ?
  21. Ich weis zwar nicht was ich gemacht hab, aber jetzt gehts. Hatte theoretisch nur den IIS neu gestartet und die Verwaltung (also den Ordner) aufgerufen... Danach sind ca. 50 Eigenschaftsfenster aufgepoppt *g* :marine
  22. Naja... die Administratoren haben so und so Vollzugriff - hab das auch nochmal getestet Die Benutzer haben zwar nur Lese- und Ausführrechte, aber das ist ja egal weil Administratoren sind bei mir nicht in der Benutzer-Gruppe drin... Hatte eben das allerdings normal getestet und ALLEN Vollzugriff gegeben -> geht trotzdem nicht
  23. also: keine Domäne SP 1 Der Eintrag ist normal... bis vor paar tagen ging ja noch alles (hab "nur" Norton AV installiert...) aber jetzt haut nix mehr hin Es wird einfach nichts beim Klick auf die Eigenschaften ausgeführt... nur ist das nur bei den daten auf den partitionen so - CD/DVD/USB ect. geht alles super
  24. hi, ich habe folgendes Problem mit Windows XP Pro: Wenn ich eine Datei/Ordner mit der rechten Maustaste anklicke funktioniert in dem geöffnetem Menü der Punkt Eigenschaften nicht. Auch wenn ich die Datei/Ordner markiere und das Symbol "Eigenschaften" aus der Symbolleiste betätige passiert nichts. Bei Laufwerken funktioniert es jedoch ohne Probleme auch alle andern Menüpunkte beim Rechtsklick funktionieren. Weis nicht woran das liegt... wär gut wenn das jemand weis
  25. Das war eigentlich als scherz gemeint weil ich am anfang das mit #define NEW_ADDRESSE (Link) malloc(sizeof(sNode)) gemacht hatte... bin halt schreibfaul *g* Mephisto: sry, hatte mich verschrieben (bzw. verkopiert O.o) - die zeile tmp -> Elem = data; ist drausen

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...