[C/C++] fehler mit der "if" anweisung

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von papst^, 31. Oktober 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 31. Oktober 2008
    fehler mit der "if" anweisung

    so
    erstmal bin noch ein noob, ich lerns grad in der schule ^^ und ich hab nen problem.
    Die aufagebe heisst "Wahlweise soll der Gesamtwiderstand Rg zweier in Reihe oder parallel geschalteter Widerstände R1 und R2, nach Eingabe der beiden Widerstandswerte berechnet werden. "

    das soll dan in der dos box so aussehen:

    Code:
    Widerstands-Schaltung
    *******************
    (R)eihenschaltung
    (P)arallelschaltung 
    Ihre Wahl: P
    R1 in Ohm: 12000
    R2 in Ohm: 10000
    Rg in Ohm: 5454.5454
    
    Weiter mit beliebiger Tatste ...
    also als beispiel mit werten und parallelschaltung ausgewählt.

    so und mein problem ist, wenn ich jetzt P oder R eingebe rechnet er mir das falsche aus ... hab jetzt ewig rumgemacht aber ich bekomms einfach nicht hin !!!!
    hier mal mein code

    Code:
    /**
    *Was leistet das Programm?
    *
    *@autor Vorname Name email@des.autors 
    *@version Versionsnummer Datum
    */
    
    // Präprozessor-Direktiven
    #include <stdio.h>
    #include <conio.h>
    
    
    // Hauptfunktion
     int main(void) { 
    // Vereinbarungsteil
     float r1reihe, r2reihe, r1para, r2para, rgreihe, rgpara;
     char schaltung, P, R;
    // Anweisungsteil
    
     printf("Widerstands-Schaltung\n");
     printf("**********************"); 
     printf("\n");
     printf("\n(R)eihenschaltung");
     printf("\n(P)arallelschaltung?");
     printf("\nIhre Wahl: ");
     scanf("%c",&schaltung);
     
     if ( schaltung == P ) {
     printf("R1 in Ohm: ");
     scanf("%f",&r1reihe);
     printf("R2 in Ohm: ");
     scanf("%f",&r2reihe);
     rgreihe = r1reihe + r2reihe;
     printf("Rg in Ohm: %f", rgreihe);
     } 
     else
     { 
     printf("R1 in Ohm: ");
     scanf("%f",&r1para);
     printf("R2 in Ohm: ");
     scanf("%f",&r2para);
     rgpara = (r1para * r2para) / (r1para + r2para);
     printf("Rg in Ohm: %f", rgpara);
     }
     printf("\n\nWeiter mit beliebiger Taste ...");
     getch(); 
     return 0;
    }
    
    hoff mal ihr könnt mir helfen
    ich denk mal da ist ein fehler mit der if anweisung aber ich komm iwie nich dahinter ...

    danke schonmal und bw is klar ^^

    ps: wie gesagt bin noch nich so der checker
     
  2. 31. Oktober 2008
    AW: fehler mit der "if" anweisung

    dein code: if ( schaltung == P ) ....

    ich behaupte mal, du solltest das P mit einem R ersetzen!
     
  3. 31. Oktober 2008
    AW: fehler mit der "if" anweisung

    also in c++ würd ichs so machen

    #include <iostream>

    using namespace std;

    int main()
    {
    char auswahl;
    int r1,r2;
    double ergebnis;

    cout<<"Widerstandsschaltung"<<endl;
    cout<<"************"<<endl;
    cout<< "(R)Reihenschaltung"<<endl;
    cout<< "(P)Parallelschaltung"<<endl;

    cout<< "Ihre Wahl: ";
    cin>> auswahl;

    cout<< "R1 in Ohm: ";
    cin >> r1;

    cout<< "R2 in Ohm: ";
    cin >> r2;


    ergebnis = 0;

    switch(auswahl)
    {

    case 'R': ergebnis = r1+r2;
    cout<<"Rg in Ohm: "<< ergebnis<<endl;;
    break;

    case 'P': ergebnis = (r1 * r2) / (r1 + r2);
    cout<<"Rg in Ohm: "<< ergebnis<<endl;
    break;

    default: cout<<"YouHaventChosenTheRightChar";break;

    }
    system("Pause");
    return (0);

    }

    habs gerade überprüft läuft perfekt und genauso wie dus haben wills, copy and paste sollte bei dev ++ reichen
     
  4. 31. Oktober 2008
    AW: fehler mit der "if" anweisung

    Naja, wenn du ein R einfach so dastehen hast, dann denkt der Compiler, das is eine Variable.
    Also einfach das R in '' setzen: 'R'
    (nur ' ' verwenden, keine "", das wäre ein const char *)
     
  5. 31. Oktober 2008
    AW: fehler mit der "if" anweisung

    ^^

    jo stimmt, das kommt davon das ich ewig rumprobiert hab und davor da stand: int ( schaltung != P)

    danke das dus gemacht hast aber unser lehrer will den quelltext sehen, und ist nich so das gleiche wie oben

    boa danke genau das wars kiss !!!! hab ewig rumprobiert, aber hab halt noch zu wenig erfahrung ^^ danke danke


    bw´s gehen mal raus an alle

    ~CLOSE~
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.