BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- C Case wird uebersprungen (http://www.black-board.net/thread.php?threadid=21151)


Geschrieben von 0cool am 20.09.2005 um 14:35:

  Case wird uebersprungen

Hey Leute,

mein quelltext will nicht so wie ich will. Kann mir jemand sagen warum meine ganzen case anweisungen übersprungen werden?
Nach dem ich eine auswahl eintippen konnte springt das programm sofort zur default anweisung. Warum meine Auswahl z.B. 0 nicht eingelesen und weiterverarbeitet wird weis ich leider net ich mach da seit wochen rum komm aber net auf das prob.

Ich hoff ihr könnt mir da weiterhelfen.

0cool

PS.: Bin noch ein newbie im c proggen also seit bitte nachsichtig mit mir smile



Geschrieben von Champus am 20.09.2005 um 14:42:

 

Ok,
ich weis wo der Fehler liegt, schliesslich ist ja meine Kristalkugel heute vom Spirit e.v. angekommen.
Schreibe in Zeile 7 deines Codes folgenden 1337-code:

cout << "Ich bin zu unfähig gescheite Posts zu schreiben, geschweige denn dafür zu sorgen dass jeder den ich nach Hilfe frage meinen Code kennt. Ich werde meinen Rechner aus dem Fenster werfen werde ich noch einmal so unsinnig fragen, zumindest den Quellcode um den es sich handelt hätte ich ja posten können" << endl;


Das dürfte deine Frage - teilweise - beantworten. Zumindest der Antwort nachhelfen.



Geschrieben von Black Star am 20.09.2005 um 14:45:

 

Nanana - du hast dich teilweise auch nicht wesentlich klueger angestellt.
Oder soll ich mal alte Postings von dir ausgraben?

@Ocool
Der entsprechende Quelltext waere schon hilfreich.

[EDIT]
Und ich hab das Thema mal geaendert. "Quelltext funkt nicht" war fast ein verschrottungswuerdiges Thread-Thema.



Geschrieben von 0cool am 20.09.2005 um 14:50:

  Case wird uebersprungen

ups unglücklich mein fehler sorry

@CorvusCorone: vielleicht solltest du deine Kristallkugel mal wieder putzen smile

@Black Star: War so beschäftigt mein prob zu beschreiben das ich vergesse habe meinen quell text zu posten

Also hier mein quell text viel spass beim fehler suchen smile

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
/* Aufgabe 14 */
#include <stdio.h>
#include <ctype.h>

main()
{
    char zeichen;
    float temperatur;
    
    printf ("\nTemperaturechner\n");
    printf ("\n1 Fahrenheit \n2 Reaumur \n3 Kelvin");
    printf ("\n4 Rankine \n0 Ende");
    printf ("\nAuswahl: ");
    
    zeichen=getchar();
    switch (zeichen)
    
    
{
    
      case 0:
        break;
         
    case 1: case 2: case 3: case 4:
        
        printf ("\nBitte Grad Celsius eingeben: ");
        scanf ("%f", &temperatur);
        
    if (temperatur >= -273.15)
        switch (zeichen)
{
          case 1:
              printf ("\n%.2f °C sind %.2f °K", temperatur, 9.0/5.0*temperatur + 32.0);
               
          
          case 2:
              printf ("\n%.2f °C sind %.2f °R", temperatur, 4.0 / 5.0 * temperatur);
          
          case 3:
              printf ("\n%.2f °C sind %.2f °K", temperatur, temperatur + 273.15);
          
          case 4:
              printf ("\n%.2f °C sind %.2f °K", temperatur, 9.0 / 5.0 * (temperatur + 273.15));
          
}

    else
       printf ("\nDiese temperatur geht nicht\n");
       
    default:
        printf ("\nUngueltige Option\n\n");
 
  system("PAUSE");	
  return 0;
  }
}



Geschrieben von LX am 20.09.2005 um 14:53:

Achtung

Pass mal auf, dass du zu den entsprechenden CASEs auch ein BREAK angibst, sonst rattert er einfach durch. Und ein SWITCH im SWITCH, was noch dazu auf die gleiche Variable prüft, ist auch nicht ganz ohne Augenzwinkern



Geschrieben von phlox81 am 20.09.2005 um 15:05:

 

Dein Fehler liegt daran, das du ein char einliest. (welches aber ok ist).

Im switch aber dann prüfst du auf zb. 0,
das Zeichen was du über die Tastatur eingibst,
hat aber nicht den wert 0, sondern ist das
Ascii Zeichen 0, in dem Fall kannst du in der
Case anweisung "case '0':" schreiben, und wie
LX schon sagte break nicht vergessen Augenzwinkern

@CorvusCorone
cout ist C++, wird er also wenig mit anfangen können Augen rollen

phlox


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH