[HILFE]: If-Schleife wird einfach übersprungen
Re: [HILFE]: If-Schleife wird einfach übersprungen
@dirty oerti
genau, das is ja das was ich nicht verstehe...
genau, das is ja das was ich nicht verstehe...
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: [HILFE]: If-Schleife wird einfach übersprungen
Gut, aus
machst du nun
Welche Ausgabe/Fehler bekommst du denn?
Btw: Dev C++ ist stark veraltet, du solltest dir eine andere IDE suchen oder (finde ich für den Einstieg auf jeden Fall zu empfehlen, und auch ich programmiere nicht anders) einfach nur mit einem Editor und der Konsole arbeiten.
Code: Alles auswählen
if(c='y')
Code: Alles auswählen
if (c == 'y')
Btw: Dev C++ ist stark veraltet, du solltest dir eine andere IDE suchen oder (finde ich für den Einstieg auf jeden Fall zu empfehlen, und auch ich programmiere nicht anders) einfach nur mit einem Editor und der Konsole arbeiten.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: [HILFE]: If-Schleife wird einfach übersprungen
Das widerspricht dem Quelltext - welcher sich nichtmals brauchbar kompilieren lässt.
Heißt, dass Du etwas verkehrt machst, was Du hier nicht beschreibst.
Alternativ darfst Du mir bei einer TeamViewer Sitzung das Gegenteil beweisen, nachdem Du die vorherigen Ratschläge in Deinen Quelltext eingearbeitet hast. Also lies am besten den Thread nochmal von Anfang an durch, befolge die Ratschläge und wenn etwas unerwartetes passiert, wirfst Du den Code hier rein und fragst nach. Solange da if( c = 'y' ) steht, fühle ich mich veralbert.
Heißt, dass Du etwas verkehrt machst, was Du hier nicht beschreibst.
Alternativ darfst Du mir bei einer TeamViewer Sitzung das Gegenteil beweisen, nachdem Du die vorherigen Ratschläge in Deinen Quelltext eingearbeitet hast. Also lies am besten den Thread nochmal von Anfang an durch, befolge die Ratschläge und wenn etwas unerwartetes passiert, wirfst Du den Code hier rein und fragst nach. Solange da if( c = 'y' ) steht, fühle ich mich veralbert.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: [HILFE]: If-Schleife wird einfach übersprungen
ok. Was kannst du mir denn empfehlen? Fange im Mai in Regensburg an Informatik zu studieren (FH). Weißt du was die so benutzen an der FH?
Es kommt ja eben keine Fehlermeldung! Das Programm läuft ohne einen Mucks zu machen, nur die Ausgabe läuft halt irgendwie falsch...
Es kommt ja eben keine Fehlermeldung! Das Programm läuft ohne einen Mucks zu machen, nur die Ausgabe läuft halt irgendwie falsch...
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: [HILFE]: If-Schleife wird einfach übersprungen
http://www.proggen.org/doku.php?id=c:softwareShijury hat geschrieben:ok. Was kannst du mir denn empfehlen?
http://www.proggen.org/doku.php?id=c:compiler:start
Java.Shijury hat geschrieben:Fange im Mai in Regensburg an Informatik zu studieren (FH). Weißt du was die so benutzen an der FH?
Lern trotzdem C.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: [HILFE]: If-Schleife wird einfach übersprungen
ok dann steig ich mal um^^ hatten dev c++ halt in der schule und den hab ich dann von meiner Festplatte noch rausgekramt weil ich dachte des wär immernoch ok^^
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: [HILFE]: If-Schleife wird einfach übersprungen
Okay, ich hab mich da nun selbst mal ran gemacht.
Folgender Quellcode (es ist das "=" zu "==" ersetzt worden):
(Außerdem programmierst du C, also benutz doch auch die C Header!)
Funktioniert bei mir definitiv NICHT.
Folgendes funktioniert aber:
ersetzen durch:
Was nicht funktioniert:
Erwähnte ich schon einmal das ich scanf hasse?
Folgender Quellcode (es ist das "=" zu "==" ersetzt worden):
(Außerdem programmierst du C, also benutz doch auch die C Header!)
Code: Alles auswählen
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int alter;
char name[40], ort[80], strasse[100], nummer[10];
char c;
printf("Hallo in unserem ersten Programm\n\n");
printf("Es sollen Ihre Daten aufgenommen werden.\n");
printf("Wie ist Ihr Vorname?\n");
scanf("%s",name);
printf("\nUnd wie alt sind Sie?\n");
scanf("%d",&alter);
printf("\nIn welchem Ort wohnen Sie?\n");
scanf("%s",ort);
printf("\nUnd in welcher Strasse wohnen sie?\n");
scanf("%s",strasse);
printf("\nNennen sie zuletzt noch die Hausnummer.\n");
scanf("%s",nummer);
printf("Bitte ueberpruefen Sie Ihre Daten noch einmal!\n");
printf("Sie heissen %s\nsind %d Jahre alt\nwohnen in %s\nin der %s %s.\n\n",name,alter,ort,strasse,nummer);
printf("Sind Ihre Daten korrekt? (y/n)\n");
scanf("%c",&c);
printf("c == %c",c); //Debug Ausgabe
if (c == 'y')
{
printf("Herzliches Dankeschoen fuer Ihre Anmeldung.\n");
}
else
{
printf("Welche Daten moechten Sie ueberarbeiten?\n");
}
//system("PAUSE");
return 0;
}
Folgendes funktioniert aber:
Code: Alles auswählen
scanf("%c",&c);
Code: Alles auswählen
scanf("%s",&c);
Code: Alles auswählen
scanf("%c\n",&c);
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: [HILFE]: If-Schleife wird einfach übersprungen
scanf( "%c", &c ); funktioniert, aber Du musst vorher den Eingabebuffer leeren, sonst hast Du vom letzten %d noch das Enter im Inputbuffer, dass dann direkt in %c gelesen wird.
Ich hasse scanf() (siehe Fehlerquellen) auch.
Ich erwähnte es noch nicht.Dirty Oerti hat geschrieben:Erwähnte ich schon einmal das ich scanf hasse?
Ich hasse scanf() (siehe Fehlerquellen) auch.

Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
- Beiträge: 236
- Registriert: Do Feb 10, 2011 6:31 pm
Re: [HILFE]: If-Schleife wird einfach übersprungen
scanf() ist ok wenn man einfach immer den "Return" mit abfängt.^^ Aber wer will das schon. Es ist nunmal das was man als erstes lernt. War auch bei mir so. hab dann irgendwann die Nachteile gesehen. Trotzdem hat es eine weile gedauert bis die anderen Methoden dran kamen. "getc(), gets() usw."
Ich finde es aber nicht schlimm so anzufangen und irgendwann selbst zu merken dass es auch besser geht.
Ich finde es aber nicht schlimm so anzufangen und irgendwann selbst zu merken dass es auch besser geht.
Code: Alles auswählen
scanf("%c %c", &c, &return);
Re: [HILFE]: If-Schleife wird einfach übersprungen
Funktioniert bei mir wenn ich denn Tastaturpuffer leere.
scanf ist nicht immer Empfehlenswert.
scanf ist nicht immer Empfehlenswert.
Code: Alles auswählen
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int alter;
char name[40], ort[80], strasse[100], nummer[10];
char c;
char y;
char n;
printf("Hallo in unserem ersten Programm\n\n");
printf("Es sollen Ihre Daten aufgenommen werden.\n");
printf("Wie ist Ihr Vorname?\n");
scanf("%s",name);
printf("\nUnd wie alt sind Sie?\n");
scanf("%d",&alter);
printf("\nIn welchem Ort wohnen Sie?\n");
scanf("%s",ort);
printf("\nUnd in welcher Strasse wohnen sie?\n");
scanf("%s",strasse);
printf("\nNennen sie zuletzt noch die Hausnummer.\n");
scanf("%s",nummer);
printf("Bitte ueberpruefen Sie Ihre Daten noch einmal!\n");
printf("Sie heissen %s\nsind %d Jahre alt\nwohnen in %s\nin der %s %s.\n\n",name,alter,ort,strasse,nummer);
printf("Sind Ihre Daten korrekt? (y/n)\n");
fflush(stdin);
scanf("%c",&c);
if(c =='y')
{
printf("\nHerzliches Dankeschoen fuer Ihre Anmeldung.\n");
}
else {
printf("\nWelche Daten moechten Sie ueberarbeiten?\n");
}
system("PAUSE");
return EXIT_SUCCESS;
}
Unwissenheit ist ein Segen