Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » if abfrage unter C mit scanf

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
05.06.2004, 13:31 Uhr
~phi
Gast


Hallo...
ich versuche die eingabe, die mit scanf gemacht wurde in eine if-abfrage einzubauen, hier der code:

C++:
  int vselect;
  scanf ("%f", vselect);

  if (vselect="exit")
  {
  return 0;
  }


Doch egal was ich eingebe, er führt immer den 'exit' teil aus,
was soll ich machen, damit scanf so wie cin arbeitet?


Bearbeitung von Pablo:

CPP Tag eingefügt


Dieser Post wurde am 05.06.2004 um 13:33 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.06.2004, 13:37 Uhr
Pablo
Supertux
(Operator)


1. Es soll heißen: scanf ("%f", &vselect);

2. Wenn du auf Gleichheit prüfen willst, dann musst du == benutzen. = ist nur Zuweisung, so ist vselect="exit" das gleiche wie: "Weise vselect die Adresse der Zeichenfolge exit zu" und das ist immer ein Wert verschieden von 0, also wird das ausgeführt, weil der Inhalt einer if Abfrage nur dann ausgeführt wird, wenn die Bedingung nicht 0 ist.

3. Ich verstehe deine if Schleife gar nicht. vselect ist doch int, wie willst du eine Zeichenkette mit eine Zahl vergleichen? Außerdem ist "%f" für double und float, für int muss "%d" sein!
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.06.2004, 14:18 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


deine vorgehensweise müsste so sein...
als erstes liest du eine zeichenkette in ein char-array...

dann gucktst du nach ob da ne zahl drin steht, wenn ja konvertierst du den string zu ner zahle... wenn nein kannst du halt dein exit abprüfen oder was auch immer tun...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.06.2004, 14:20 Uhr
0xdeadbeef
Gott
(Operator)


Ich glaube, du suchst sowas:

C++:
char vselect[100];

fgets(vselect, 100, stdin);
if(strcmp(vselect, "exit") == 0) {
  /* "exit" wurde eingegeben */
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.06.2004, 14:28 Uhr
Pablo
Supertux
(Operator)


sollte es nicht

C++:
if(strcmp(vselect, "exit\n") == 0)


sein?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.06.2004, 15:07 Uhr
0xdeadbeef
Gott
(Operator)


Oh, ja. Richtig.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.06.2004, 09:33 Uhr
KaraHead



Ich glaube er sucht ein richtiges Tutorial
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: