Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Programm

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
25.07.2005, 11:02 Uhr
~Besucher
Gast


Hey Ho,
Ich hab jetzt angefangen c++ zu lernen und habe auch mal versucht ein programm zu schreiben, ein wahrhaft billiges programm, allerdings scheint es nicht so recht zu laufen.


#include <iostream.h>
#include <stdlib.h>

int main()
{
char szName[128];
char a[128];
int ende;

cout <<"geben sie ihren namen ein: ";
cin >> szName;
cout << "Hallo " << szName << " wie geht es dir??";
cout << "gut(1) oder schlecht(2)? ";
cin >> a;

if (a == "gut");
cout << "Das ist toll"<<endl;
cin >> ende;
if (a == "schlecht");
cout << "Aha" <<endl;

cin >> ende;


return 0;
}

leider gibt er mir, egal was ich eingebe immer nur eine antwort aus, kann mir jemand sagen warum das so ist und wie ich es machen muss damit es richtig funktioniert??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.07.2005, 11:14 Uhr
RedEagle



m... da sind einige Fehler drin.
Hier mal die Richtige variante:



C++:
#include <cstdlib>
#include <iostream>
using namespace std;

int main()
{
char szName[128];
char a[128];
int ende;

cout <<"geben sie ihren namen ein: ";
cin >> szName;
cout << "Hallo " << szName << " wie geht es dir??";
cout << "gut(1) oder schlecht(2)? ";
cin >> a;

if (strcmp(a, "gut")==0)
     cout << "Das ist toll"<<endl;

else if (strcmp(a, "schlecht")==0)
     cout << "Aha" <<endl;

cin >> ende;
return 0;
}



Die beiden gröbsten Fehler:

if(Bedingnung); Das Simikolon darf da nicht hin:

C++:
if(bedingung==true)
     machwas();

//oder

if(bedingung==true)
{
machwas();
machnochwas();
}


und
char zeichenkette[100];
if(zeichenkette == "test")
Um strings zu vergleichen musst du die Funktion strcmp benutzen


C++:
char zeichenkette[100];
strcpy(zeichnkette, "Test"); //Schreibt test in die Zeichenkette

if(strcmp(zeichnkette, "Test")==0)
     machwas();

--
MFG RedEagle

Dieser Post wurde am 25.07.2005 um 11:14 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.07.2005, 12:13 Uhr
~Besucher
Gast


cool danke funktioniert

aber wenn ich ein weiteres if(strcmp(zeichnkette, "Test")==0) einfüge, und dann die antwort eintippe beendet er das programm nach eintippen der antwort, was muss ich da machen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.07.2005, 12:40 Uhr
~Besucher
Gast


und noch was, wenn es für mehrere eingaben eine antwort geben soll, kann man das da nicht abtrennen??

also so meine ich das :
else if (strcmp(a, "schlecht" , "nicht so gut")==0)

wie kann ich das machen??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.07.2005, 13:40 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


um mehrere Wörter einlesen zu können musst du cin.getline(...) benutzen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.07.2005, 15:04 Uhr
xXx
Devil


zu deiner ersten frage... das ist so, weil, der arbeitet das Programm durch, und wenn der damit fertig ist, schließt er es... kannst höchstens mit sleep(10000); die zeit bis zum schließen verzögern..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.07.2005, 15:05 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


oder ein getchar(); ans ende hängen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
25.07.2005, 15:19 Uhr
Disi



Guckst du -> hier <-
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
25.07.2005, 17:53 Uhr
~Besucher
Gast


ich meine eigentlich zu meiner ersten frage das er auf verschiedene namen mit einer antwort reagiert ohne das ich mehrere if und else befehle verwenden muss
 
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: