Kurzer Quellcode - Wo sind meine Fehler?



  • Bitte editier deinen Beitrag und benutze Code-Tags. Dazu musst du deinen Code mit

    und [/cpp ] (ohne Leerzeichen) umschließen. Dann kannst du auch vernünftig einrücken.
    
    So:
    
    [cpp]
    int main() {
      int i=0;
      return 0;
    }
    

    Schöner, oder nicht? 🙂



  • ch1ller schrieb:

    int main()
    {
    ...
    int vwuerfel(int a, int v1);
    ...
    }

    beim funktionsaufruf darf man die typen nicht mehr hinschreiben. einfach die 'int's weglassen:

    int main()
    {
      ...
      vwuerfel (a, v1);
      ...
    }
    

    🙂



  • v1 in vwuerfel hat keinen Typ...



  • Machine schrieb:

    1. sagt dein Titel nichts aus.
    2. benutzt man hier Code-Tags um den Code leserlich zu machen
    3. rückt man den Code ein. Grund: siehe 2.
    4. machen wir hier nicht die Hausaufgaben für dich

    schlechten tag gehabt 🙂 ?
    is zwar nett dass du mich auf so sachen hinweist aber dass muss man nicht gleich nummerieren und emotionslos hinklatschen, geht auch netter.
    und nein es sind keine hausaufgaben ich mache das freiwillig 🙂



  • Ist dir bewusst, was diese Schleife macht?

    do 
    { 
      r=0; 
    } 
    while();
    

    Hier haben wir eine Endlos-Schleife. Daran solltest du also noch arbeiten... 😉

    Editier einen Beitrag, sonst hat kaum einer Lust, dir zu helfen. 🙂



  • ch1ller schrieb:

    schlechten tag gehabt 🙂 ?
    is zwar nett dass du mich auf so sachen hinweist aber dass muss man nicht gleich nummerieren und emotionslos hinklatschen, geht auch netter.

    Das sind aber Sachen, auf die man jemanden in einem Programmierforum nicht hinweisen müssen sollte. Und langsam pi**en mich solche Beiträge wie deiner halt einfach an.
    Das mit dem emotionslos lass ich einfach mal so im Raum stehen..



  • so habe nochmal drüber geschaut und alle fehler beseitigt bis auf ein problem mit der whiule schleife.. die aufgabenstellung lautet dass die funktion herausfinden soll, wie groß der radius der kugel sein muss, damit sie das gleiche volumen wie der wrürfel hat..

    #include <stdio.h>
    #include <math.h>
    
    int vwuerfel(int a, int v1)
    {
     v1=a*a*a;
     return v1;  
    }
    
    double vkugel(int r, float v2, float pi)
    {
     v2=(4/3)*(r*r*r)*pi;      
     return v2;
    }
    
    double wuerfel2kugel(int a, int r, int v1, float v2, float pi)
    {
    v1=a*a*a;
    
    do
    {
      v2=(4/3)*(r*r*r)*pi;
      r++;      
    
    }
    while(v2<v1);
    
    return r;
    }
    //------------------------- Main------------------------
    int main()
    {
    
        int a=5, r=10, c=15, v1, v2;
        char name;
        float pi = 3.14159265;
        printf("Dieses Programm dient zum Ausfuehren von verschiedenen Rechnungen. \n");
        int meinrueckgabewert = vwuerfel(a, v1); 
        printf("Wuerfelvolumen betraegt: %d \n", meinrueckgabewert);
    
        double tollerwert = vkugel(r, v2, pi);
        printf("Kugelvolumen betraegt: %f \n", tollerwert);
    
        double Vergleich = wuerfel2kugel(v1, v2, r, a, pi);
        printf("Der Radius waere bei gleichem Volumen: %d \n", Vergleich);
    
        scanf("%s", name);
        return 0;
    }
    

    bitte um sofortige hilfe von wachen leuten!



  • Mal so quick and dirty:

    #include <stdio.h> 
    #include <math.h> 
    
    int vwuerfel(int a) 
    { 	
    return a*a*a;   
    } 
    
    double vkugel(int r, float pi) 
    { 
      double v2=(4/3)*(r*r*r)*pi; 
    
     return v2; 
    } 
    
    double wuerfel2kugel(int v1, float pi) 
    { 
    double r = 0.01;
    double v2;
    do 
    { 
      v2=(4/3)*(r*r*r)*pi; 
      r+=0.01;       
    
    } 
    while(v2<v1); 
    
    printf("%lf %d\n", v2, v1);
    
    return r; 
    } 
    //------------------------- Main------------------------ 
    int main() 
    { 
    
        int a=5, r=10, c=15, v1, v2; 
        char name; 
        float pi = 3.14159265; 
        printf("Dieses Programm dient zum Ausfuehren von verschiedenen Rechnungen. \n"); 
        v1 = vwuerfel(a); 
        printf("Wuerfelvolumen betraegt: %d \n", v1); 
    
        double tollerwert = vkugel(r, pi); 
        printf("Kugelvolumen betraegt: %f \n", tollerwert); 
    
        double Vergleich = wuerfel2kugel(v1, pi); 
        printf("Der Radius waere bei gleichem Volumen: %lf \n", Vergleich); 
    
        scanf("%s", &name); 
        return 0; 
    }
    

    Mir scheint so als hättest du das Prinzip der Parameterübergabe an Funktionen noch nicht ganz begriffen. Nimm dir 30 Minuten und schlag das nach, dann geht es beim nächsten Mal schon besser 😃



  • ch1ller schrieb:

    die aufgabenstellung lautet dass die funktion herausfinden soll, wie groß der radius der kugel sein muss, damit sie das gleiche volumen wie der wrürfel hat..

    Aufgabenstellung? Ich dachte, du machst das freiwillig...



  • ich kann ja schlecht irgendwas sinnloses programmieren, hinter jedem programm ist eine aufgabe



  • Auch wieder wahr. 😉


Anmelden zum Antworten