Hilfe beim Programm



  • Hi, also beim Programmieren in der Schule hab ich bislang alles hinbekommen...
    Nur jetzt krieg ich das mit dem Pointer nicht hin... der hat irgendwie immer
    ein Problem die beiden Werte aus der Funktion zurück zu geben.
    Erstellt habe ich das Programm mit Dev-C++ da kommt folgende Fehlermeldung:

    E:\Dev-Cpp\main2.cpp In function int main()': 23 E:\\Dev-Cpp\\main2.cpp invalid conversion from \int*' to `int'
    23 E:\Dev-Cpp\main2.cpp invalid conversion from `int*' to `int'
    E:\Dev-Cpp\Makefile.win [Build Error] [main2.o] Error 1

    Ich weiß leider nicht wo der Fehler ist. Das Programm soll erstmal nur den
    Hauptnenner von zwei Brüchen ausgeben.

    n1 = nenner 1
    z1 = zähler 1
    hn = hauptnenner
    zn = zähler neu

    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    
    int hauptn(int, int, int, int, int, int);
    
    int main()
    {
        int n1, n2, z1, z2, hn=0, zn=0;
    
        cout<<"Geben Sie den 1. Zaehler ein: ";
        cin>>z1;   
        cout<<"Geben Sie den 1. Nenner ein: ";
        cin>>n1;
        cout<<"Geben Sie den 2. Zaehler ein: ";
        cin>>z2;
        cout<<"Geben Sie den 2. Nenner ein: ";
        cin>>n2;
    
        cout<<z1<<"/"<<n1<<" & "<<z2<<"/"<<n2;
    
        hauptn(z1, n1, z2, n2, &hn, &zn);
    
        cout<<"hn: "<<hn;
        cout<<"zn: "<<zn;
    
      system("PAUSE");	
      return 0;
    
        }
        int hauptn(int z1, int n1, int z2, int n2,int *p1,int *p2)
        {
            *p1 = n1 * n2;
            *p2 = (n2 * z1) + (n1 * z2);
        }
    

    Ich denke da es sich ja nur um Schulprogrammierung handelt gibt es hier sicher
    einige die wissen wie man es macht.

    Sorry falls ich es im falschen Forenbereich gepostet haben sollte.



  • Hallo

    du hast zwei verschiedene Definitionen für die Funktion. Bei der ersten fehlen die "Sternchen".

    int hauptn(int, int, int, int, int*, int*);
    

    bis bald
    akari



  • oh stimmt so funktioniert es!
    danke jetzt kann ich ja weiter machen 🙂


Anmelden zum Antworten