Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Problem bei einem consolen prog

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.10.2005, 15:43 Uhr
Bigzed



hey leute,
bin nen totaler n00b in c++ und scheiter grad an was mir irgendwie unversteändlich ist
hab mir nen lehrbuch von galileo computing geholt hab auch schon damit angefangen doch da steht jetzt ne aufgabe denn programm coda hab ich auch schon geschrieben ! ich glaub der is auch richtig um die anzalh an steinen für eine von 2 seiten begehbare treppe zu errechnen
das problem ist bloß er gibt keine fehlermeldung beim compilieren macht aber trotzdem nur bis zum einlesen der höhe danach kommt nichts mehr! er gibt nichts aus nach dem ich die zalh eingegeben hab!
kann mir das jemand erklären (verständlich^^)

mfg. Bigzed

Code:
#include <stdio.h>
#include <stdlib.h>
#define wait for (;;)
int main()
{
int h, anzahl, steine;
printf( "Geben sie die Höhe der Treppe an:\n");
scanf( "%d", &h);
for(anzahl = 1, steine = 0; anzahl <= h; anzahl = anzahl + 1)
steine = anzahl + steine;
printf( "%d", steine);
wait;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.10.2005, 15:51 Uhr
Pler
Einer von Vielen
(Operator)


???Wie kann man eine Treppe von zwei seiten begehen? Von unten und oben oder wie???

nimm mal das komische wait raus.
Dann gehts auch.

Der Fehler ist: dein wait kann nicht abgebrochen werden.
Die Ausgabe von printf ist gepuffert. Zum Zeitpunkt, wo du in die schleife gehst ist noch nichts rausgeschrieben. In der Schleife bleibt er hängen und macht nie ne ausgabe.

Mit

C++:
printf( "%d\n", steine);


würd es aber wahrlscheinlich auch funktionieren. Da der Zeilenumbruch ein Schreiben erzwingt.

alternativ auch:

C++:
printf( "%d", steine);
fflush(stdout);


Dieser Post wurde am 23.10.2005 um 15:51 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.10.2005, 15:53 Uhr
Pler
Einer von Vielen
(Operator)


Wenn man verhindern will, dass das Konsolenfenster zugeht, muss man eben noch ein gets(); oder sowas machen.
Aber dazu gibt es auch ne Einstellungsmöglichkeit in der Entwicklungsumgebung (falls du solwas nutzt)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.10.2005, 15:59 Uhr
Spacelord
Hoffnungsloser Fall



C++:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    int h;
    int anzahl;
    printf( "Geben sie die Hoehe der Treppe an:\n");
    scanf( "%d", &h);
    anzahl=(h*(h+1)/2);
    printf( "%d\n", anzahl);
    getch();

    return 0;
}



Sofern dieses wait Define wirklich aus dem Buch ist solltest du dir schleunigst nen anderes besorgen!

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.10.2005, 16:00 Uhr
Bigzed



thx für die schnelle antwort!

das mit dem wait stand so im buch als tipp zum offen halten des fensters
und meine entwicklungsumgebung ist Bloodshed-Dev-c++ falls ihr wisst wie man das da macht mit dem offen halten des fensters

noch mals danke!

mfg. bigzed
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.10.2005, 16:02 Uhr
Spacelord
Hoffnungsloser Fall


s.o.

Es gibt hier auch nen Beitrag dazu in den WinApi FAQ.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: