Volumenrechner [Erledigt]

Tutorials.at
Verfügbare Informationen zu "Volumenrechner [Erledigt]"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: AQE89 - DrPhil_Guth - Schubl - X - Scorch - Mobin - exbs
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 15
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Volumenrechner [Erledigt]
  • Letzte Antwort: vor 17 Jahren, 4 Monaten, 17 Tagen, 14 Stunden, 51 Minuten
  • Alle Beiträge und Antworten zu "Volumenrechner [Erledigt]"

    Re: Volumenrechner [Erledigt]

    AQE89 - 28.05.2006, 17:42

    Volumenrechner [Erledigt]
    hi

    ich bin noch an einem anderen tutorial dran und da hatte ich die aufgebe ein Programm zu schreiben mit dem man ein folumen berechnen kann, aber mein programm geht nicht, was ist alles falsch und wie kann ichs verbessern?



    #include <stdio.h>

    void main ()
    {
    float (Laenge,Breite,Hoehe,Ergebnis);
    printf("Gieb die laenge an [cm]: ");
    scanf("%f",&Laenge);

    printf("Gieb die Breite an [cm]: ");
    scanf("%f",&Breite);

    Printf("Gieb die Hoehe an [cm]: ");
    scanf("%f",%Hoehe);

    printf("%f * %f * %f ergibt %f.",Laenge,Breite,Hoehe,Ergebnis);
    getch();
    return 0;
    }

    ich habe mal das was falsch sein könnte Rot angestrichen!



    Re: Volumenrechner [Erledigt]

    DrPhil_Guth - 28.05.2006, 20:41


    nix is falsch. fast nix

    die variablen dürfen fürs deklarieren nicht in klammern sein:

    float Laenge,Breite,Hoehe,Ergebnis;



    Re: Volumenrechner [Erledigt]

    AQE89 - 29.05.2006, 12:54


    ok, habe aber immer noch ein error. nämlich es heist:
    "Expression syntax in function main"

    und dan viele warnungen, wegen undeklarierten Variablen(muss ja so sein)

    EDIT:
    In der lösung ist dieses Programm:

    Zitat: #include <stdio.h>

    void main()
    {
    float laenge, breite, hoehe, volumen;



    printf("Eingabe der Laenge [cm]: ");
    scanf("%f", &laenge);

    printf("Eingabe der Breite [cm]: ");
    scanf("%f", &breite);

    printf("Eingabe der Hoehe [cm]: ");
    scanf("%f", &hoehe);



    volumen = laenge * breite * hoehe;



    printf("\nDas Volumen des Quaders betraegt %.2f ccm.", volumen);

    getch();
    return 0;
    }

    EDIT 2:

    Wie kann ich machen das wen ich licke das es dan wieder von forne begint? habe das mit den Schlaufen und so noch nicht ganz kappiert!

    für was ist Input() ?



    Re: Volumenrechner [Erledigt]

    Schubl - 29.05.2006, 17:27


    Hallo
    Also das es wieder von vorne anfängt geht mit goto.

    Es sieht also so aus:

    Code: #include <stdio.h>

    void main()
    {
    float laenge, breite, hoehe, volumen;

    zuruck:

    printf("Eingabe der Laenge [cm]: ");
    scanf("%f", &laenge);

    printf("Eingabe der Breite [cm]: ");
    scanf("%f", &breite);

    printf("Eingabe der Hoehe [cm]: ");
    scanf("%f", &hoehe);



    volumen = laenge * breite * hoehe;



    printf("\nDas Volumen des Quaders betraegt %.2f ccm.", volumen);

    getch();
    return 0;
    goto zuruck;
    }



    Re: Volumenrechner [Erledigt]

    AQE89 - 29.05.2006, 17:35


    hi ich bins nochmal, bei mir gehts einfach nicht:
    Zitat: #include <stdio.h>

    void main()
    {
    float km,benzin,preis,kosten,verbrauch;

    printf("Eingabe der gefahrenen Kilometer: ");
    scanf("%f", &km);/*eingabe*/

    printf("Eingabe der Menge des verbrauchten Benzins Liter: ");
    scanf("%f", &benzin);

    printf("Eingabe des Preises pro Liter Benzin in CHF: ");
    scanf("%f", &preis);

    verbrauch = benzin * 100 / kilometer;
    kosten = verbrauch * preis;

    printf("Sie haben auf 100km %f Liter Benzin verbraucht.", verbrauch);/*Resultat wird angezeigt*/
    printf("und das kostet sie %f CHF/100km.", kosten);

    getch ();
    return 0;
    } das war meins

    Zitat: #include <stdio.h>

    void main()
    {
    float kilometer, benzin, preis, verbrauch, kosten;



    printf("Eingabe der gefahrenen Kilometer: ");
    scanf("%f", &kilometer);

    printf("Eingabe der Menge des verbrauchten Benzins [l]: ");
    scanf("%f", &benzin);

    printf("Eingabe des Preises pro Liter Benzin [DM]: ");
    scanf("%f", &preis);



    verbrauch = benzin * 100 / kilometer;
    kosten = verbrauch * preis;



    printf("\nSie haben auf 100 km %.1f l Benzin verbraucht. ", verbrauch);
    printf("Dies kostete Sie bei einem Preis von %.2f DM pro Liter auf 100 km %.2f DM", preis, kosten);
    } und das die lösung

    da gibt es doch keinen grossen unterschied?
    wegen was geht den die lösung und meins nicht?



    Re: Volumenrechner [Erledigt]

    X - 08.06.2006, 19:28


    Hi

    @Schubl
    das mit dem go to is verdammt schlecht ums harmlos auszudrücken, des sollte man nur in ausnahmefällen verwenden
    in der anwendung is des ja noch ok aber auch hier gilt: besser nicht; in größeren programmen kanst du damit den programmablauf nich mehr so leicht verfolgen, vorallem wenn du debuggen musst

    @AQE89
    es wäre wesentlich eifacher wenn du die ganze exception hier posten würdest dann is es einfacher den fehler zu finden
    und noch ein tipp sich mal nach "cin", "cout", "<<", ">>" ist einfacher

    und wegen der wiederholung würd ich

    Code:
    bool repeat = true;
    while (repeat)
    {
       //do something
       //
       if(getch() == [character])  { repeat = false }
    }



    Re: Volumenrechner [Erledigt]

    Scorch - 10.06.2006, 18:42


    @ AQE89

    ich glaub du musst #include <conio.h> einfügen, du benutzt nämlich getch() und des conio.h ist erforderlich dafür



    Re: Volumenrechner [Erledigt]

    AQE89 - 03.07.2006, 17:04


    habe wieder zeit zum programmieren gefunden und habe mal ein kleines programm geschreiben. Aber da hat sich ein fehler eingeschlichen, mit den Variablen, muss glaube ich nochmals im tut nachschauen!
    ich habe das prog. geschrieben um if else etc. zu üben!!
    könnte mir jemand helfen, einen tip geben?


    Zitat: #include <conio.h>
    #include <stdio.h>

    int main()
    {

    int(zahl,ausgabe);
    printf("Geben sie die Punkte an:");
    scanf("%i",zahl);
    if(zahl<30);
    ausgabe=6;
    else if(zahl<25);
    ausgabe=5;
    else if(zahl<20);
    ausgabe=4;
    else if(zahl<15);
    ausgabe=3;
    else (zahl<15);
    ausgabe=?;
    printf(Die Note ist"%i" ausgabe);
    getch();
    return 0;
    }

    Das rote ist glaube ich die fehlerkuele!



    Re: Volumenrechner [Erledigt]

    DrPhil_Guth - 03.07.2006, 19:15


    also ganz vorne Weg:
    Du kannst die Variablen auch ohne Klammern deklarieren.

    Ich denke der Fehler liegt in den If- Anweisungen. Du kannst die Klammern weglassen, wenn du nur if und else hast, wenn du allerdings ein Else if hast musst du alles mit geschwungen Klammern schreiben. Denke ich halt...



    Re: Volumenrechner [Erledigt]

    Mobin - 09.12.2006, 23:04


    Hallo, Ich habe auch ein Volumenrechner programmiert.
    Code:
    #include <iostream>
    #include <stdlib.h>

        using namespace std;

        int main()
        {
          double zahl1;
          double zahl2;
          double zahl3;
          double be;




          start:
          cout<<"Ich berechne das Volumen eines Quaders.\n";
          cin.get();
          system("cls");
          cout<<"Bitte Breite in cm eingeben.\n";
          cin>>zahl1;
          cin.get();
          system("cls");
          cout<<"Bitte Hoehe in cm eingeben.\n";
          cin>>zahl2;
          cin.get();
          system("cls");
          cout<<"Bitte Tiefe in cm eingeben.\n";
          cin>>zahl3;
          cin.get();
          system("cls");

          cout<<"Breite: "<<zahl1<<" cm \n"<< "Hoehe: "<< zahl2<<" cm \n" << "Tiefe: "<< zahl3 << " cm\n";
          cout<<"\n";
          cout<<"Das Volumen Betraegt: " << zahl1 * zahl2 * zahl3<<" cm^2\n";
          cin.get();
          system("cls");


          cout<<"Wollen Sie das Programm beenden?\nGeben Sie 1 ein, wenn Sie diese Anwendung beenden wollen.\nGeben Sie 2 ein, wenn Sie noch ein Volumen berechnen wollen.\n";
          cin>>be;
          cin.get();
          system("cls");


          if (be == 2)
          goto start;





        }

    Es funktioniert eigentlich alles.

    Ausser wenn ich es machen will, dass eine fehlermeldung kommt wenn man am schluss nicht 1 oder 2 eingibt, dass beendet es nicht mehr, wenn ich 1 eingebe.

    gibt es irgend ein Befehl dass das Programm sofort beendet?



    Re: Volumenrechner [Erledigt]

    exbs - 10.12.2006, 02:18


    Also ich hoffe einmal, dass ich deine Problem und deine Frage richtig verstanden habe :roll: . Du willst, dass das Programm beendet, wenn man ein 1 eingibt und es weiter geht, wenn man eine 2 eintippt ?!

    Gut. Zu allererst sollte man sagen, dass "goto" nicht gerade die beste Wahl ist um dieses Problem zu lösen. In diesem einfachen Beispiel ist es noch nicht so wichtig, aber, wenn du dann später einmal schwerere Probleme lösen musst, führt ein Gebilde aus "goto"´s schnell zu einem unübersichtlichen Code.

    Besser wäre es, hier mit einer Do-While.Schleife zu arbeiten.

    In Etwa so:
    Code: #include <iostream>
    #include <stdlib.h>

    #define FALSE 0 //Wir definieren hier True(1) und False(0)
    #define TRUE !FALSE

    using namespace std;

    int main()
    {
        double zahl1;
        double zahl2;
        double zahl3;
       
        int be; //Double wäre hier etwas überzogen, weil du eh nur Ganzzahlen eingibst.
       
        int fertig = FALSE; //Varaible, welche den Wahrheitswert trägt.

        do
        {
            cout<<"Ich berechne das Volumen eines Quaders.\n";
            cin.get();
         
            system("cls");
            cout<<"Bitte Breite in cm eingeben.\n";
            cin>>zahl1;
            cin.get();
         
            system("cls");
            cout<<"Bitte Hoehe in cm eingeben.\n";
            cin>>zahl2;
            cin.get();
       
            system("cls");
            cout<<"Bitte Tiefe in cm eingeben.\n";
            cin>>zahl3;
            cin.get();
       
            system("cls");

            cout<<"Breite: "<<zahl1<<" cm \n"<< "Hoehe: "<< zahl2<<" cm \n" << "Tiefe: "<< zahl3 << " cm\n";
            cout<<"\n";
            cout<<"Das Volumen Betraegt: " << zahl1 * zahl2 * zahl3<<" cm^2\n";
            cin.get();
       
            do
            {
                system("cls");
                cout<<"Wollen Sie das Programm beenden?\nGeben Sie 1 ein, wenn Sie diese Anwendung beenden wollen.\nGeben Sie 2 ein, wenn Sie noch ein Volumen berechnen wollen.\n";
                cin>>be;
                cin.get();
                system("cls");
               
            }while (be != 1 && be != 2); // Wiederholt solange bis "be" entwerder  1 oder 2 ist. Damit entfällt die Fehlermeldung.

            if (be == 1)
                fertig = TRUE;
               
            else if (be == 2)
                fertig = FALSE;


        }while (fertig == FALSE);
    } Ich hoffe, dass dir das hier helfen kann. Wenn du fragen hast, dann stell sie einfach.

    gn8



    Re: Volumenrechner [Erledigt]

    Mobin - 10.12.2006, 23:38


    Das fuktioniert nicht ganz richtig.

    Wenn man z.B. 5 eingibt. dann beendet sich das programm einfach.



    Re: Volumenrechner [Erledigt]

    exbs - 11.12.2006, 17:33


    Mobin hat folgendes geschrieben: Das fuktioniert nicht ganz richtig.

    Wenn man z.B. 5 eingibt. dann beendet sich das programm einfach.

    mmmh das kann nicht sein, wenn ich das compiliere und ausführe geht es.

    kann ja auch nicht sein, da bei der eingabe 5 die bedingung noch stimmt.
    Code: while (be != 1 && be != 2); kommen bei dir während des compilieres denn fehlermeldungen oda warnungen ?
    ------
    mir ist allerdings gerade ein inhaltlicher fehler aufgefallen
    Code: cout<<"Das Volumen Betraegt: " << zahl1 * zahl2 * zahl3<<" cm^2\n"; ist falsch, denn es müsste "cm^3" heissen, da es sich ja um das volumen handelt.



    Re: Volumenrechner [Erledigt]

    Mobin - 11.12.2006, 21:31


    aha ok, fuktioniert doch.
    wenn ich es vom Compiler aus, ausgeführt hab, hat es nicht funzioniert.

    welchen Compiler würdest du mir ehmpfehlen, im Moment benutze ich Dev C++


    Und kannst du mir sagen, was

    while (be != 1 && be != 2);

    genau für eine Bedeutung hat?

    Und wenn ich es mit J oder N mach, anstatt mit 1 oder 2.
    Wie kann ich es machen, dass es auch funktioniert wenn ich, j oder n eingeb?
    (Grosskleinschriebung)



    Re: Volumenrechner [Erledigt]

    exbs - 11.12.2006, 22:15


    Zitat: welchen Compiler würdest du mir ehmpfehlen, im Moment benutze ich Dev C++ also den benutze ich auch. habe bisher alle damit hinbekommen, was ich wollt ... von daher kann ich ihn dir also empfehlen.

    Zitat: Und kannst du mir sagen, was

    while (be != 1 && be != 2);

    genau für eine Bedeutung hat? alsooooo *tieflufthol :wink: *

    != --> dies bedeutet UNGLEICH
    && --> dies ist ein "logische UND - Verknüpfung" ... im grunde heisst es noicht mehr, dass BEIDE bedingungen erfüllt sein müssen.

    isgesamt heisst: Code: while (be != 1 && be != 2); ,dass die schleife SOLANGE ausgeführt wird, wie die eingebe "be" UNGLEICH (!=) 1 UND (&&) UNGLEICH (!=) 2 ist.

    ich hoffe, dass das einigermassen gut erklärt ist.

    So jetzt zu deiner anderen Frage: Zitat: Und wenn ich es mit J oder N mach, anstatt mit 1 oder 2.
    Wie kann ich es machen, dass es auch funktioniert wenn ich, j oder n eingeb?
    (Grosskleinschriebung)

    erstmal änderst du den vriablen - typ von be von "int" auf "char"! Code: char be; ,dann ließt du das Zeichen einfach ein und änderst die abfrage wie folgt: Code: while(be != 'j' && be != 'J' && be != 'n' && be != 'N'); , dann musst du noch die if - abfrage verändern:
    Code: if (be == 'j' || be == 'J')
    {
            fertig == TRUE;
    }
    else if (be == 'n' || be == 'N')
    {
            fertig == FALSE;
    } , jetzt wirst du natürlich fragen, "hey was ist denn das "||" ?! :wink: ... also das || --> ist ein "logisches ODER", dies sagt, wenn be == 'j' ODER (||) be == 'J', soll das fertig TRUE werde, ebso das selbe bei 'n' und 'N'. ok?!

    sooo jetzt noch ein kleiner tipp:

    du kannst dir die ganze überprüfung vom grossen und kleinen buchstaben sparen indem du gleich bei der eingabe daraus einen grossen/kleinen buchstaben machst. das geht wie folgt.

    du entfehrnst: Code: cin>>be;
    cin.get(); und ersetzt es durch: Code: be = (char)tolower(getchar()); das heisst be wird ein (char) - Wert zugewiesen ... welcher durch "tolower" zu einem kleinen buchstaben gemacht wird (mit "toupper" -- wird ein großer draus) und die eingabe erfolgt mit (getchar());. so kleiner tipp ... musst aber über deinem code dann noch: Code: #include <conio.h> einbinden.

    soooo jetzt bin ich fertig ... bei fragen hier rein.



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Dev C++ ein Download-Problem - gepostet von mismis am Mittwoch 27.12.2006
    Projekt: SuperMario64 - Nachfolger - gepostet von vpascal am Samstag 09.06.2007
    registry - gepostet von Moritz am Sonntag 18.11.2007
    Gleichung ??? - gepostet von exbs am Donnerstag 12.10.2006
    Try- catch blöcke - gepostet von DrPhil_Guth am Samstag 20.05.2006
    Programm (C) was Sekunden in Tage Stunden Minuten umrechnet! - gepostet von Kimi am Donnerstag 01.11.2007
    Automatisch abschalten - gepostet von ThE_B0MBeRMaN am Mittwoch 22.11.2006
    Unterschied Compiler, Interpreter, Parser - gepostet von Jack O'Neill am Dienstag 14.08.2007
    Problem mit Repeat-Schleife - gepostet von orluk am Samstag 11.08.2007



    Ähnliche Beiträge wie "Volumenrechner [Erledigt]"