Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: Rückgabewert einer Funktion in ein Array bringen

  1. #1
    Unregistriert
    Gast

    Standard Rückgabewert einer Funktion in ein Array bringen

    Hallo,

    ich habe folgendes Problem und zwar habe ich eine Funktion, die eine Array übergeben bekommt.
    Bei dem Array handelt es sich um ein Char, der Inhalt lautet z.B. 123AbC.
    Innerhalb der Funktion wird alles zu Int d.h. über ein if oder switch case wird (char)1 zu (int)1 und a zu 10 usw.
    Da ich allerdings kein Array als Rückgabe verwenden kann, habe ich meine Funktion mittlerweile soweit umgebaut, dass über eine for-Schleife mit Zähler jeweils ein Wert aus dem EingabeArray in die Funktion übertragen wird und die Funktion auch nur einen Wert ausgibt.


    for (int i=0; i<32;i++)
    {
    zwischenwert2=Eingabezahl[i];
    zwischenwert=char2intvalue(zwischenwert2);
    Eingabezahlint[i]=zwischenwert;
    }

    doch selbst dies will nicht funktionieren obwohl ich mittlerweile zumindest keine Fehlermeldungen mehr bekommen.
    Anscheinend geht er nicht mal mehr in die Schleife; ich sitze jetzt schon 5 Tage an dem Programm (zum Glück nicht nur an dem o.g. Problem ), mittlerweile glaube ich sehe ich den Wald vor lauter Bäumen nicht mehr.
    Ich hoffe ihr könnt mir da helfen und habt ein paar gute Vorschläge.
    Schonmal vielen Dank im Vorraus!

    MfG
    LJ
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    Man kann es ja erstmal etwas einfacher fassen:
    Code:
    for(int i = 0; i < 32; ++i)
      Eingabezahlint[i] = char2intvalue(Eingabezahl[i]);
    Schau nach, dass es Eingabezahlint und Eingabezahl in der richtigen Größe gibt und wenns immer noch nicht klappt, poste mal die Stellen, wo diese Variablen angelegt werden und die Definition von char3intvalue.

    Viele liebe Grüße
    The User

  3. #3
    Unregistriert
    Gast

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    So sieht das Programm bis jetzt aus:


    Code:
    #include <iostream>
    
    using namespace std;
    
    // Funktionsdeklaration
    void welcome();
    void help();
    int  proof(int base);
    int char2intvalue(char Eingabezahl);
    
    
    // ************************************** Hauptprogramm *******************************************************************
    int main()
    {
     // Lokale Variabelen
    
        int   base, Summe, baseneu, auswahl=1;
    
    
      // Arrays
    
       //char Eingabezahl[32] wird in der Eingabeschleife deklariert
       char polyneu[32]={0};
       int  Eingabezahlint[32]={0}, zahlneuint[32]={0};
    
    
      // Programm----#########-------------------##########------------------------########
    
    	welcome();
    
     // Eingabeschleife
    
        while(auswahl==1)                                      //1= User möchte weitere Zahl umwandeln
        {
                char Eingabezahl[32]={0}; //stellt sicher, dass Array leer ist
    
                help();        // Einlesen; Werte aus funktion heraus übergeben an Hauptprogr. Var.
    
                cout << "Wie lautet Ihre Zahl (z.B. 010101)?" <<endl; // Das Einlesen (in der Main, das sich Array über Funktion nicht korrekt übertragen lies
                cin >> Eingabezahl; // Ziffern wird in das Array eingelsen
    
                cout <<"Die dazugehörige Base (z.B. 2 wenn die Zahl eine Binärzahl ist)?" << endl;
                cin >> base;
                cout << "Und nun bitte noch die neue Base eingeben:" << endl;
                cin >> baseneu;
    
    
    
    
              // char2intvalue(Eingabezahl);
    
    
    
    
                   while(proof(base)==1)                       // Eingabe Umwandlung und Überprüfung solange bist Werte OK
                   {
                    char Eingabezahl[32]={0}; //stellt sicher, dass Array leer ist
    
                    help();
    
    
                        cout << "Wie lautet Ihre Zahl (z.B. 010101)?" <<endl;
                        cin >> Eingabezahl; // Ziffern wird in das Array eingelsen
                        cout <<"Die dazugehörige Base (z.B. 2 wenn die Zahl eine Binärzahl ist)?" << endl;
                        cin >> base;
                        cout << "Und nun bitte noch die neue Base eingeben:" << endl;
                        cin >> baseneu;
    
                        for (int i=0;i<32;i++)
                        {
    
                            Eingabezahlint[i] << char2intvalue(Eingabezahl[i]);
                            cout << Eingabezahlint;
    
                        }
                        cout << Eingabezahlint;
                    proof(base);
                   }
    
    
             //   indezimal(Eingabezahlint[], Summe);         // Es wird aus einer Wertigkeit und der Zahlen aus dem Array Eingabezahlint eine
                                                            // Dezimalzahl berechnet - Zahl wird durch Referenz in Summe geschrieben
               // backin2poly(Summe, base_neu, zahlneuint[]); // Dezimalzahl (aus Summe) wird in Poly. Zahl mit neuer Basis umgewandelt und über Refernz im Array zahlneuint abgelegt
    
               // intvalue2char(Eingabenzahlint[],polyneu);   // Array Eingabezahlint wird ausgelesen und Zahlen >9 zu Buchstaben konvertiert, neue Werte landen über Referenz im Array polyneu
    
              //  ausgabe(char polyneu[], int base_neu);      // gibt über Cout und for-Schleife die neue Zahl sowie deren Basis aus
    
              //  auswahl(auswahl);                           // gibt über Referenz auswahl den Wert 1 oder 2 je nachdem, was der User machen möchte
        }
    
    
    
    	return(0);
    }
    
    //####################################### F U N K T I O N E N  ############################################################
    // Gliederung:
    
    // 1. welcome()             ab Zeile 96
    // 2. einlesen()            ab Zeile 121
    // 3. proof()               ab Zeile 162
    // 4. char2intvalue()       ab Zeile 191
    // 5. indezimal()           ab Zeile 344
    //      5.1   wertigkeit()  ab Zeile 361
    // 5. backin2poly()         ab Zeile 398
    // 6. intvalue2char()       ab Zeile 436
    // 7. ausgabe               ab Zeile 586
    // 8. auswahl               ab Zeile 605
    
    
    
    
    //***************************************** Funktion welcome *************************************************************
    
    
     void welcome()                   // Gibt aus: Programmname/Version und Bedienhinweise
     {
    
    cout<<""
    <<"___      ___                              ____         _"<< endl
    <<"|  \\    /   \\    |       \\   /     /.     |   \\       /|"<< endl
    <<"|__/    |   |    |        \\ /     /_\\     |    |       |"<< endl
    <<"|       |   |    |         Y     /   \\    |    |       |"<< endl
    <<"|       \\___/    |____     |    /     \\   |___/       _|_"<< endl
    <<"========================================================="<< endl
    <<"======== Konverter für polyadische Zahlensysteme ========"<< endl
    <<"======================= rev 1.0 ========================="<< endl
    <<"======================= c by LJ ========================="<< endl
    <<"========================================================="<< endl<< endl;
    
    cout <<"Im nächsten Schritt können Sie ihre Zahl mit dazugehöriger Basis eingeben.";
     return ;
    };
    
    //*******************************************  einlesen  *****************************************************************
    
    
    void help()                         // bietet Hilfe an
    {
    
    char help;
    
            cout<<"Moechten Sie ein paar Eingabe-Beispiele sehen (J/N)?";
            cin >> help;
    
               if (help=='j'|| help=='J')
                    {
                    cout << " -> Sie benutzen das Programm zum ersten Mal und benötigen Hilfe?"
                         << "    - folgende Beispeile sollen Ihnen zeigen, wei das Programm zu bedienen ist... " << endl << endl;
    
                    //////// H I E R    F E H L T    N O C H    T E X T   ! ! !
    
                    }
    
    
     return ;
    
    }
    
    //***************************************** Funktion proof  ***************************************************************
    
    
    int proof(int base)                      //Ueberprüfung der eingegebenen Werte für base und exp
    {
    int error=0;
    // Exponent muss um 1 höher sein als die Base
    
    
    
    
    
    if( base>36 || base<2)          // Abfrage ob richtiger Typ (Int) und richtiger Wertebereich
    {
    error=1;
    }
    
            if (error==1)
            {
                cout << endl << "! Ihre Eingabe scheint fehlerhaft zu sein, bitte prüfen Sie ihre Eingabe." << endl;
            }
    
    
    
    return(error); //1= Fehler,0= OK
    }
    
    
    // ************************************** Funktion char2intvalue  ********************************************************
    
    
    int char2intvalue(char Eingabezahl)     // wandelt die Buchstaben der eingegbenen Poly. Zahl in Zahlen um z.B. A=10;
    {
    //cout << Eingabezahl; // Zeichen kommen hier richtig an
    int Eingabezahlint;
    
    
    
    
             if (Eingabezahl=='0' )        //Die Chars 0 - 9 werden zu INT 0-9
            {
                Eingabezahlint = 0;
            }
    
            else if (Eingabezahl=='1')
            {
                Eingabezahlint = 1;
            }
    
            else if (Eingabezahl=='2' )
            {
                Eingabezahlint = 2;
            }
    
            else if (Eingabezahl=='3' )
            {
                Eingabezahlint = 3;
            }
    
            else if (Eingabezahl=='4' )
            {
                Eingabezahlint = 4;
            }
    
            else if (Eingabezahl=='5' )
            {
                Eingabezahlint = 5;
            }
    
            else if (Eingabezahl=='6' )
            {
                Eingabezahlint = 6;
            }
    
            else if (Eingabezahl=='7' )
            {
                Eingabezahlint = 7;
            }
    
            else if (Eingabezahl=='8')
            {
                Eingabezahlint = 8;
            }
    
            else if (Eingabezahl=='9' )
            {
                Eingabezahlint = 9;
            }
    
    
    
    
            else if (Eingabezahl=='a' ||Eingabezahl=='A' )
            {
                Eingabezahlint = 10;   //Eingabezahlint nimmt die Eingabe als reine Integerzahl auf; z.B. A ist dann 10
            }
    
            else if (Eingabezahl=='b' ||Eingabezahl=='B')
            {
                Eingabezahlint = 11;
            }
    
            else if (Eingabezahl=='c' ||Eingabezahl=='C')
            {
                Eingabezahlint = 12;
            }
    
            else if (Eingabezahl=='d' ||Eingabezahl=='D')
            {
                Eingabezahlint = 13;
            }
    
            else if (Eingabezahl=='e' ||Eingabezahl=='E' )
            {
                Eingabezahlint = 14;
            }
    
            else if (Eingabezahl=='f' ||Eingabezahl=='F')
            {
                Eingabezahlint = 15;
            }
    
            else if (Eingabezahl=='g' ||Eingabezahl=='G' )
            {
                Eingabezahlint = 16;
            }
    
            else if (Eingabezahl=='h' ||Eingabezahl=='H' )
            {
                Eingabezahlint = 17;
            }
    
            else if (Eingabezahl=='i' ||Eingabezahl=='I')
            {
                Eingabezahlint = 18;
            }
    
            else if (Eingabezahl=='j' ||Eingabezahl=='J')
            {
                Eingabezahlint = 19;
            }
    
            else if (Eingabezahl=='k' ||Eingabezahl=='K' )
            {
                Eingabezahlint = 20;
            }
    
            else if (Eingabezahl=='l' ||Eingabezahl=='L' )
            {
                Eingabezahlint = 21;
            }
    
            else if (Eingabezahl=='m' ||Eingabezahl=='M' )
            {
                Eingabezahlint = 22;
            }
    
            else if (Eingabezahl=='n' ||Eingabezahl=='N' )
            {
                Eingabezahlint = 23;
            }
    
            else if (Eingabezahl=='o' ||Eingabezahl=='O')
            {
                Eingabezahlint = 24;
            }
    
            else if (Eingabezahl=='p' ||Eingabezahl=='P' )
            {
                Eingabezahlint = 25;
            }
    
            else if (Eingabezahl=='q' ||Eingabezahl=='Q' )
            {
                Eingabezahlint = 26;
            }
    
            else if (Eingabezahl=='r' ||Eingabezahl=='R')
            {
                Eingabezahlint = 27;
            }
    
            else if (Eingabezahl=='s' ||Eingabezahl=='S')
            {
                Eingabezahlint = 28;
            }
    
            else if (Eingabezahl=='t' ||Eingabezahl=='T')
            {
                Eingabezahlint = 29;
            }
    
            else if (Eingabezahl=='u' ||Eingabezahl=='U')
            {
                Eingabezahlint = 30;
            }
    
            else if (Eingabezahl=='v' ||Eingabezahl=='V')
            {
                Eingabezahlint = 31;
            }
    
            else if (Eingabezahl=='w' ||Eingabezahl=='W')
            {
                Eingabezahlint = 32;
            }
    
            else if (Eingabezahl=='x' ||Eingabezahl=='X' )
            {
                Eingabezahlint = 33;
            }
    
            else if (Eingabezahl=='y' ||Eingabezahl=='Y')
            {
                Eingabezahlint = 34;
            }
    
            else if (Eingabezahl=='z' ||Eingabezahl=='Z' )
            {
                Eingabezahlint = 35;
            }
    
    
     return(Eingabezahlint) ;
    }

  4. #4
    Unregistriert
    Gast

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    Er geht immernoch nicht in die for-Schleife.

    Das Ganze soll ein Programm sein zum Umwandeln von beliebigen polyadischen Zahlensystemen in andere.

  5. #5
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    "char Eingabezahl[32]={0}; //stellt sicher, dass Ar"
    dadurch wird ein Zeichenarray erzeugt, das gilt jedoch nur als String, den man einfach mit cin einlesen kann, wenn das letzte Zeichen ein Nullzeichen ist.
    Es lauern sehr viele Fehler, die du noch nicht einschätzen kannst, daher empfehle ich dir die Datentypen string und vector zu verwenden, z. B.:
    Code:
    #include <iostream>
    #include <vector>
    #include<string>
    using namespace std;
    ...
    vector<int> eingabeint(32, 0);
    string eingabe;
    cin >> eingabe;
    int max = min(32, eingabe.size());
    for(int i = 0; i != max; ++i)
      eingabeint[i] = char2intvalue(eingabe[i]);
    Das ist viel weniger fehleranfällig und für die meisten Einsätze der bessere Weg.

    Viele liebe Grüße
    The User

  6. #6
    Unregistriert
    Gast

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    ok, dann will ich das "nachher" mal ausprobieren.

    Danke für die schnelle Hilfe, ich melde mich dann später wieder.

  7. #7
    Youngster
    Registriert seit
    07.02.2009
    Beiträge
    13
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    So, nun bin ich hier auch angemeldet

    irgendwie komme ich mit dem Vector nicht zurecht

    könntest du meinen Code vlt so anpassen, dass es läuft?

    Code:
    #include <iostream>
    #include <vector>
    #include <string>
    
    using namespace std;
    
    // Funktionsdeklaration
    void welcome();
    void help();
    int  proof(int base);
    int char2intvalue(char Eingabezahl);
    
    
    // ************************************** Hauptprogramm *******************************************************************
    int main()
    {
     // Lokale Variabelen
    
        int   base, Summe, baseneu, auswahl=1;
        string Eingabezahl;
    
      // Arrays
    
          char polyneu[32]={0};
    
    
    
     vector<int> Eingabezahlint(32,0);
    
      // Programm----#########-------------------##########------------------------########
    
        welcome();
    
        help();
     // Eingabeschleife
    
        while(auswahl==1)                            //1= User möchte weitere Zahl umwandeln, Startwert1
        {
                //Eingabezahl muss hier leer sein
    
    
                cout << "Wie lautet Ihre Zahl (z.B. 010101)?" <<endl;
                cin >> Eingabezahl; // Ziffern wird in das Array eingelsen
    
                cout <<"Die dazugehörige Base (z.B. 2 wenn die Zahl eine Binärzahl ist)?" << endl;
                cin >> base;
                cout << "Und nun bitte noch die neue Base eingeben:" << endl;
                cin >> baseneu;
    
    
                   while(proof(base)==1)                       // Eingabe Umwandlung und Überprüfung solange bist Werte OK
                   {
                    //Eingabezahl muss hier leer sein
    
                    help();
    
                        cout << "Wie lautet Ihre Zahl (z.B. 010101)?" <<endl;
                        cin >> Eingabezahl; // Ziffern wird in das Array eingelsen
                        cout <<"Die dazugehörige Base (z.B. 2 wenn die Zahl eine Binärzahl ist)?" << endl;
                        cin >> base;
                        cout << "Und nun bitte noch die neue Base eingeben:" << endl;
                        cin >> baseneu;
    
                    proof(base);
                    }
    
    
                for (int i=0;i<32;i++)
                {
                    Eingabezahlint[i] << char2intvalue(Eingabezahl[i]);
                    cout << Eingabezahlint;
                }
    
                cout << Eingabezahlint;
    
    
             //   indezimal(Eingabezahlint[], Summe);         // Es wird aus einer Wertigkeit und der Zahlen aus dem Array Eingabezahlint eine
                                                            // Dezimalzahl berechnet - Zahl wird durch Referenz in Summe geschrieben
               // backin2poly(Summe, base_neu, zahlneuint[]); // Dezimalzahl (aus Summe) wird in Poly. Zahl mit neuer Basis umgewandelt und über Refernz im Array zahlneuint abgelegt
    
               // intvalue2char(Eingabenzahlint[],polyneu);   // Array Eingabezahlint wird ausgelesen und Zahlen >9 zu Buchstaben konvertiert, neue Werte landen über Referenz im Array polyneu
    
              //  ausgabe(char polyneu[], int base_neu);      // gibt über Cout und for-Schleife die neue Zahl sowie deren Basis aus
    
              //  auswahl(auswahl);                           // gibt über Referenz auswahl den Wert 1 oder 2 je nachdem, was der User machen möchte
        }
    
    
    
        return(0);
    }
    
    //####################################### F U N K T I O N E N  ############################################################
    // Gliederung:
    
    // 1. welcome()             ab Zeile 96
    // 2. einlesen()            ab Zeile 121
    // 3. proof()               ab Zeile 162
    // 4. char2intvalue()       ab Zeile 191
    // 5. indezimal()           ab Zeile 344
    //      5.1   wertigkeit()  ab Zeile 361
    // 5. backin2poly()         ab Zeile 398
    // 6. intvalue2char()       ab Zeile 436
    // 7. ausgabe               ab Zeile 586
    // 8. auswahl               ab Zeile 605
    
    
    
    
    //***************************************** Funktion welcome *************************************************************
    
    
     void welcome()                   // Gibt aus: Programmname/Version und Bedienhinweise
     {
    
    cout<<""
    <<"___      ___                              ____         _"<< endl
    <<"|  \\    /   \\    |       \\   /     /.     |   \\       /|"<< endl
    <<"|__/    |   |    |        \\ /     /_\\     |    |       |"<< endl
    <<"|       |   |    |         Y     /   \\    |    |       |"<< endl
    <<"|       \\___/    |____     |    /     \\   |___/       _|_"<< endl
    <<"========================================================="<< endl
    <<"======== Konverter für polyadische Zahlensysteme ========"<< endl
    <<"======================= rev 1.0 ========================="<< endl
    <<"======================= c by LJ ========================="<< endl
    <<"========================================================="<< endl<< endl;
    
    cout <<"Im nächsten Schritt können Sie ihre Zahl mit dazugehöriger Basis eingeben.";
     return ;
    };
    
    //*******************************************  einlesen  *****************************************************************
    
    
    void help()                         // bietet Hilfe an
    {
    
    char help;
    
            cout<<"Moechten Sie ein paar Eingabe-Beispiele sehen (J/N)?";
            cin >> help;
    
               if (help=='j'|| help=='J')
                    {
                    cout << " -> Sie benutzen das Programm zum ersten Mal und benötigen Hilfe?"
                         << "    - folgende Beispeile sollen Ihnen zeigen, wei das Programm zu bedienen ist... " << endl << endl;
    
                    //////// H I E R    F E H L T    N O C H    T E X T   ! ! !
    
                    }
    
    
     return ;
    
    }
    
    //***************************************** Funktion proof  ***************************************************************
    
    
    int proof(int base)                      //Ueberprüfung der eingegebenen Werte für base und exp
    {
    int error=0;
    // Exponent muss um 1 höher sein als die Base
    
    
    
    
    
    if( base>36 || base<2)          // Abfrage ob richtiger Typ (Int) und richtiger Wertebereich
    {
    error=1;
    }
    
            if (error==1)
            {
                cout << endl << "! Ihre Eingabe scheint fehlerhaft zu sein, bitte prüfen Sie ihre Eingabe." << endl;
            }
    
    
    
    return(error); //1= Fehler,0= OK
    }
    
    
    // ************************************** Funktion char2intvalue  ********************************************************
    
    
    int char2intvalue(string Eingabezahl)     // wandelt die Buchstaben der eingegbenen Poly. Zahl in Zahlen um z.B. A=10;
    {
    //cout << Eingabezahl; // Zeichen kommen hier richtig an
    int Eingabezahlint;
    
    
    
    
             if (Eingabezahl=='0' )        //Die Chars 0 - 9 werden zu INT 0-9
            {
                Eingabezahlint = 0;
            }
    
            else if (Eingabezahl=='1')
            {
                Eingabezahlint = 1;
            }
    
            else if (Eingabezahl=='2' )
            {
                Eingabezahlint = 2;
            }
    
            else if (Eingabezahl=='3' )
            {
                Eingabezahlint = 3;
            }
    
            else if (Eingabezahl=='4' )
            {
                Eingabezahlint = 4;
            }
    
            else if (Eingabezahl=='5' )
            {
                Eingabezahlint = 5;
            }
    
            else if (Eingabezahl=='6' )
            {
                Eingabezahlint = 6;
            }
    
            else if (Eingabezahl=='7' )
            {
                Eingabezahlint = 7;
            }
    
            else if (Eingabezahl=='8')
            {
                Eingabezahlint = 8;
            }
    
            else if (Eingabezahl=='9' )
            {
                Eingabezahlint = 9;
            }
    
    
    
    
            else if (Eingabezahl=='a' ||Eingabezahl=='A' )
            {
                Eingabezahlint = 10;   //Eingabezahlint nimmt die Eingabe als reine Integerzahl auf; z.B. A ist dann 10
            }
    
            else if (Eingabezahl=='b' ||Eingabezahl=='B')
            {
                Eingabezahlint = 11;
            }
    
            else if (Eingabezahl=='c' ||Eingabezahl=='C')
            {
                Eingabezahlint = 12;
            }
    
            else if (Eingabezahl=='d' ||Eingabezahl=='D')
            {
                Eingabezahlint = 13;
            }
    
            else if (Eingabezahl=='e' ||Eingabezahl=='E' )
            {
                Eingabezahlint = 14;
            }
    
            else if (Eingabezahl=='f' ||Eingabezahl=='F')
            {
                Eingabezahlint = 15;
            }
    
            else if (Eingabezahl=='g' ||Eingabezahl=='G' )
            {
                Eingabezahlint = 16;
            }
    
            else if (Eingabezahl=='h' ||Eingabezahl=='H' )
            {
                Eingabezahlint = 17;
            }
    
            else if (Eingabezahl=='i' ||Eingabezahl=='I')
            {
                Eingabezahlint = 18;
            }
    
            else if (Eingabezahl=='j' ||Eingabezahl=='J')
            {
                Eingabezahlint = 19;
            }
    
            else if (Eingabezahl=='k' ||Eingabezahl=='K' )
            {
                Eingabezahlint = 20;
            }
    
            else if (Eingabezahl=='l' ||Eingabezahl=='L' )
            {
                Eingabezahlint = 21;
            }
    
            else if (Eingabezahl=='m' ||Eingabezahl=='M' )
            {
                Eingabezahlint = 22;
            }
    
            else if (Eingabezahl=='n' ||Eingabezahl=='N' )
            {
                Eingabezahlint = 23;
            }
    
            else if (Eingabezahl=='o' ||Eingabezahl=='O')
            {
                Eingabezahlint = 24;
            }
    
            else if (Eingabezahl=='p' ||Eingabezahl=='P' )
            {
                Eingabezahlint = 25;
            }
    
            else if (Eingabezahl=='q' ||Eingabezahl=='Q' )
            {
                Eingabezahlint = 26;
            }
    
            else if (Eingabezahl=='r' ||Eingabezahl=='R')
            {
                Eingabezahlint = 27;
            }
    
            else if (Eingabezahl=='s' ||Eingabezahl=='S')
            {
                Eingabezahlint = 28;
            }
    
            else if (Eingabezahl=='t' ||Eingabezahl=='T')
            {
                Eingabezahlint = 29;
            }
    
            else if (Eingabezahl=='u' ||Eingabezahl=='U')
            {
                Eingabezahlint = 30;
            }
    
            else if (Eingabezahl=='v' ||Eingabezahl=='V')
            {
                Eingabezahlint = 31;
            }
    
            else if (Eingabezahl=='w' ||Eingabezahl=='W')
            {
                Eingabezahlint = 32;
            }
    
            else if (Eingabezahl=='x' ||Eingabezahl=='X' )
            {
                Eingabezahlint = 33;
            }
    
            else if (Eingabezahl=='y' ||Eingabezahl=='Y')
            {
                Eingabezahlint = 34;
            }
    
            else if (Eingabezahl=='z' ||Eingabezahl=='Z' )
            {
                Eingabezahlint = 35;
            }
    
    
     return(Eingabezahlint) ;
    }

  8. #8
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    Code:
    #include <iostream>
    #include <vector>
    #include <string>
    
    using namespace std;
    
    // Funktionsdeklaration
    void welcome();
    void help();
    bool  proof(int base);
    int char2intvalue(char Eingabezahl);
    
    
    // ************************************** Hauptprogramm *******************************************************************
    int main()
    {
     // Lokale Variabelen
    
        int   base, Summe, baseneu, auswahl=1;
        string Eingabezahl(32, '0');
    
      // Arrays
    
          char polyneu[32]={0};
    
    
    
     vector<int> Eingabezahlint(32,0);
    
      // Programm----#########-------------------##########------------------------########
    
        welcome();
     // Eingabeschleife
    
        while(auswahl==1)                            //1= User möchte weitere Zahl umwandeln, Startwert1
        {
                //Eingabezahl muss hier leer sein
    
    
    
                   do                       // Eingabe Umwandlung und Überprüfung solange bist Werte OK
                   {
                    //Eingabezahl muss hier leer sein
    
                    help();
    
                        cout << "Wie lautet Ihre Zahl (z.B. 010101)?" <<endl;
                        cin >> Eingabezahl; // Ziffern wird in das Array eingelsen
                        cout <<"Die dazugehörige Base (z.B. 2 wenn die Zahl eine Binärzahl ist)?" << endl;
                        cin >> base;
                        cout << "Und nun bitte noch die neue Base eingeben:" << endl;
                        cin >> baseneu;
                    }
                while(proof(base));
                Eingabezahl = string(32 - Eingabezahl.size(), '0') + Eingabezahl;
                cout << Eingabezahl << endl;
                for (int i=0;i<32;i++)
                {
                    Eingabezahlint[i] = char2intvalue(Eingabezahl[i]);
                    cout << Eingabezahlint[i];
                }
                cout << endl;
                for(int i = 0; i != 32; ++i)
                    cout << Eingabezahlint[i];
                cout << endl;
    
             //   indezimal(Eingabezahlint[], Summe);         // Es wird aus einer Wertigkeit und der Zahlen aus dem Array Eingabezahlint eine
                                                            // Dezimalzahl berechnet - Zahl wird durch Referenz in Summe geschrieben
               // backin2poly(Summe, base_neu, zahlneuint[]); // Dezimalzahl (aus Summe) wird in Poly. Zahl mit neuer Basis umgewandelt und über Refernz im Array zahlneuint abgelegt
    
               // intvalue2char(Eingabenzahlint[],polyneu);   // Array Eingabezahlint wird ausgelesen und Zahlen >9 zu Buchstaben konvertiert, neue Werte landen über Referenz im Array polyneu
    
              //  ausgabe(char polyneu[], int base_neu);      // gibt über Cout und for-Schleife die neue Zahl sowie deren Basis aus
    
              //  auswahl(auswahl);                           // gibt über Referenz auswahl den Wert 1 oder 2 je nachdem, was der User machen möchte
        }
    
    
    
        return(0);
    }
    
    //####################################### F U N K T I O N E N  ############################################################
    // Gliederung:
    
    // 1. welcome()             ab Zeile 96
    // 2. einlesen()            ab Zeile 121
    // 3. proof()               ab Zeile 162
    // 4. char2intvalue()       ab Zeile 191
    // 5. indezimal()           ab Zeile 344
    //      5.1   wertigkeit()  ab Zeile 361
    // 5. backin2poly()         ab Zeile 398
    // 6. intvalue2char()       ab Zeile 436
    // 7. ausgabe               ab Zeile 586
    // 8. auswahl               ab Zeile 605
    
    
    
    
    //***************************************** Funktion welcome *************************************************************
    
    
     void welcome()                   // Gibt aus: Programmname/Version und Bedienhinweise
     {
    
    cout<<""
    <<"___      ___                              ____         _"<< endl
    <<"|  \\    /   \\    |       \\   /     /.     |   \\       /|"<< endl
    <<"|__/    |   |    |        \\ /     /_\\     |    |       |"<< endl
    <<"|       |   |    |         Y     /   \\    |    |       |"<< endl
    <<"|       \\___/    |____     |    /     \\   |___/       _|_"<< endl
    <<"========================================================="<< endl
    <<"======== Konverter für polyadische Zahlensysteme ========"<< endl
    <<"======================= rev 1.0 ========================="<< endl
    <<"======================= c by LJ ========================="<< endl
    <<"========================================================="<< endl<< endl;
    
    cout <<"Im nächsten Schritt können Sie ihre Zahl mit dazugehöriger Basis eingeben.";
     return ;
    };
    
    //*******************************************  einlesen  *****************************************************************
    
    
    void help()                         // bietet Hilfe an
    {
    
    char help;
    
            cout<<"Moechten Sie ein paar Eingabe-Beispiele sehen (J/N)?";
            cin >> help;
    
               if (help=='j'|| help=='J')
                    {
                    cout << " -> Sie benutzen das Programm zum ersten Mal und benötigen Hilfe?"
                         << "    - folgende Beispeile sollen Ihnen zeigen, wei das Programm zu bedienen ist... " << endl << endl;
    
                    //////// H I E R    F E H L T    N O C H    T E X T   ! ! !
    
                    }
    
    
     return ;
    
    }
    
    //***************************************** Funktion proof  ***************************************************************
    
    
    bool proof(int base)                      //Ueberprüfung der eingegebenen Werte für base und exp
    {
    bool error=false;
    // Exponent muss um 1 höher sein als die Base
    
    
    
    
    
    if( base>36 || base<2)          // Abfrage ob richtiger Typ (Int) und richtiger Wertebereich
    {
    error=true;
    }
    
            if (error==1)
            {
                cout << endl << "! Ihre Eingabe scheint fehlerhaft zu sein, bitte prüfen Sie ihre Eingabe." << endl;
            }
    
    
    
    return(error); //1= Fehler,0= OK
    }
    
    
    // ************************************** Funktion char2intvalue  ********************************************************
    
    
    int char2intvalue(char Eingabezahl)     // wandelt die Buchstaben der eingegbenen Poly. Zahl in Zahlen um z.B. A=10;
    {
    //cout << Eingabezahl; // Zeichen kommen hier richtig an
        if(Eingabezahl <= '9' && '0' <= Eingabezahl)
            return Eingabezahl - '0';
        if(Eingabezahl <= 'z' && 'a' <= Eingabezahl)
            return Eingabezahl - 'a' + 10;
        if(Eingabezahl <= 'Z' && 'A' <= Eingabezahl)
            return Eingabezahl - 'A' + 10;
        return 0;
    }
    Ein Hinweis:
    Strings haben eine dynamische Länge, also müssen es nicht immer 32 sein.
    Wenn du die Zeile
    Code:
                Eingabezahl = string(32 - Eingabezahl.size(), '0') + Eingabezahl;
    wegnimmst und in der Folge statt 32 Eingabezahl.size() verwendest, klappt es auch mit 14 oder 35 Stellen. (Zumindest bei 64-Bit Integers)

    Viele liebe Grüße
    The User

  9. #9
    Youngster
    Registriert seit
    07.02.2009
    Beiträge
    13
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    Danke!
    Das hat mich schon einiges weiter gebracht.
    Dennoch befürchte ich, dass ich noch ein paar Mal deine Hilfe in anspruch nehmen muss.
    das mit Vektoren, size usw ist noch absolut neu für mich.

    Ich habe mein Programm jetzt noch etwas erweitert, in einer weiteren Funktion ( es müssen leider so viele einzelne Funktionen sein)
    wird die Eingabezahlint in eine Dezimalzahl umgewandelt.
    Es lässt sich zwar problemlos compilieren, aber das Ergebnis entspricht nicht meinen Erwartungen...
    Ich hoffe du kannst so erkennen, was der Code machen soll, ansonsten erkläre ich dir genau, was ich vorhabe.

    Code:
    #include <iostream>
    #include <vector>
    #include <string>
    
    using namespace std;
    
    // Funktionsdeklaration
    void welcome();
    void help();
    bool  proof(int base, int baseneu);
    int char2intvalue(char Eingabezahl, int base);
    int indezimal (int Eingabezahlint, int base, int exp);
    
    // ************************************** Hauptprogramm *******************************************************************
    int main()
    {
     // Lokale Variabelen
    
        int   base, Summe, baseneu, auswahl=1;
        string Eingabezahl(32, '0');
    
      // Arrays
    
          char polyneu[32]={0};
    
    
    
     vector<int> Eingabezahlint(32,0);
    
      // Programm----#########-------------------##########------------------------########
    
        welcome();
     // Eingabeschleife
    
        help();
    
        while(auswahl==1)                            //1= User möchte weitere Zahl umwandeln, Startwert1
        {
               int Summe=0; //Eingabezahl muss hier leer sein
    
    
    
                   do                       //wiederholt Eingabedialog solange bis Werte OK sind
                   {
                    //Eingabezahl muss hier leer sein
    
                        cout << "Wie lautet Ihre Zahl (z.B. 010101)?" <<endl;
                        cin >> Eingabezahl; // Ziffern wird in das Array eingelsen
                        cout <<"Die dazugehörige Base (z.B. 2 wenn die Zahl eine Binärzahl ist)?" << endl;
                        cin >> base;
                        cout << "Und nun bitte noch die neue Base eingeben:" << endl;
                        cin >> baseneu;
                    }
                    while(proof(base,baseneu));
    
    
    
                                                    //Eingabezahl = string(32 - Eingabezahl.size(), '0') + Eingabezahl;
                cout << Eingabezahl << endl;        // kann später raus
                for (int i=0;i<Eingabezahl.size();i++)
                {
                    Eingabezahlint[i] = char2intvalue(Eingabezahl[i],base);
                    cout << endl << "Wert mit Zahlen statt Buchstaben: " << Eingabezahlint[i];
                }
    
                cout << endl;
    
                // umgewandelte Zahl ist in Eingabezahl int gespeichert
    
    
    
    
    
    
    
    // umwandlung in dezimal:
    
                for(int i = 0; i < Eingabezahlint.size(); i++)
                {
    
                    Summe += indezimal(Eingabezahl[i], base, (Eingabezahlint.size()-(i+1)) );
                }
    
                cout << Summe << endl; // Ausgabe der Dezimalzahl, diese muss dann back2poly übergeben werden
    
        }
    // back2poly(Summe, base_neu, zahlneuint[]); // Dezimalzahl (Summe) wird in polyadische Zahl mit neuer Basis umgewandelt
    
               // intvalue2char(Eingabenzahlint[],polyneu);   // Array Eingabezahlint wird ausgelesen und Zahlen >9 zu Buchstaben konvertiert, neue Werte landen über Referenz im Array polyneu
    
              //  ausgabe(char polyneu[], int base_neu);      // gibt über Cout und for-Schleife die neue Zahl sowie deren Basis aus
    
              //  auswahl(auswahl);                           // gibt über Referenz auswahl den Wert 1 oder 2 je nachdem, was der User machen möchte
    
    
    
        return(0);
    }
    
    //####################################### F U N K T I O N E N  ############################################################
    // Gliederung:
    
    // 1. welcome()             ab Zeile 96
    // 2. einlesen()            ab Zeile 121
    // 3. proof()               ab Zeile 162
    // 4. char2intvalue()       ab Zeile 191
    // 5. indezimal()           ab Zeile 344
    //      5.1   wertigkeit()  ab Zeile 361
    // 5. backin2poly()         ab Zeile 398
    // 6. intvalue2char()       ab Zeile 436
    // 7. ausgabe               ab Zeile 586
    // 8. auswahl               ab Zeile 605
    
    
    
    
    //***************************************** Funktion welcome *************************************************************
    
    
     void welcome()                   // Gibt aus: Programmname/Version und Bedienhinweise
     {
    
    cout<<""
    <<"___      ___                              ____         _"<< endl
    <<"|  \\    /   \\    |       \\   /     /.     |   \\       /|"<< endl
    <<"|__/    |   |    |        \\ /     /_\\     |    |       |"<< endl
    <<"|       |   |    |         Y     /   \\    |    |       |"<< endl
    <<"|       \\___/    |____     |    /     \\   |___/       _|_"<< endl
    <<"========================================================="<< endl
    <<"======== Konverter für polyadische Zahlensysteme ========"<< endl
    <<"======================= rev 1.0 ========================="<< endl
    <<"======================= c by LJ ========================="<< endl
    <<"========================================================="<< endl<< endl;
    
    cout <<"Im nächsten Schritt können Sie ihre Zahl mit dazugehöriger Basis eingeben.";
     return ;
    };
    
    //*******************************************  einlesen  *****************************************************************
    
    
    void help()                         // bietet Hilfe an
    {
    
    char help;
    
            cout<<"Moechten Sie ein paar Eingabe-Beispiele sehen (J/N)?";
            cin >> help;
    
               if (help=='j'|| help=='J')
                    {
                    cout << " -> Sie benutzen das Programm zum ersten Mal und benötigen Hilfe?"
                         << "    - folgende Beispeile sollen Ihnen zeigen, wei das Programm zu bedienen ist... " << endl << endl;
    
                    //////// H I E R    F E H L T    N O C H    T E X T   ! ! !
    
                    }
    
    
     return ;
    
    }
    
    //***************************************** Funktion proof  ***************************************************************
    
    
    bool proof(int base, int baseneu)                      //Ueberprüfung der eingegebenen Werte für basen
    {
    bool error=false;
    
    
    if( base>36 || base<2 || baseneu<2 || baseneu>36)          // Abfrage ob richtiger Wertebereich
    {
    error=true;
    }
    
            if (error==1)
            {
                cout << endl << "! Ihre Eingabe ist fehlerhaft" << endl
                     << "Die von Ihnen Angegebene Basis/Basen liegen nicht im Bereich 2 - 36 !"<< endl
                     << "Bitte wiederholen Sie die Eingabe:"<< endl << endl;
            }
    
    
    
    return(error); //1= Fehler,0= OK
    }
    
    
    // ************************************** Funktion char2intvalue  ********************************************************
    
    
    int char2intvalue(char Eingabezahl, int base)     // wandelt die Buchstaben der eingegbenen Poly. Zahl in Zahlen um z.B. A=10;
    {
    //cout << Eingabezahl; // Zeichen kommen hier richtig an
        if(Eingabezahl <= '9' && '0' <= Eingabezahl)
            return Eingabezahl - '0';
        if(Eingabezahl <= 'z' && 'a' <= Eingabezahl)
            return Eingabezahl - 'a' + 10;
        if(Eingabezahl <= 'Z' && 'A' <= Eingabezahl)
            return Eingabezahl - 'A' + 10;
    
    
       if (Eingabezahl>(base-1))
        {
            cout<< endl <<"Es ist ein FEHLER bei der Bearbeitung aufgetreten:" << endl
            << "Der Wert" << Eingabezahl << " ist ZU GROß FÜR die ANGEGEBENE BASIS " << base << " !" << endl
            << " -->   ! D A S   E R G E B N I S   W I R D   F A L S C H   S E I N!   <--" << endl
            << "Bitte widerholen Sie die Eingabe und achten Sie auf Zahl und Basis" <<endl << endl;
        }
    
        return 0;
    }
    
    
    
    
    //***************************************** Funktion indezimal **********************************************************
                                                              // benötigt Funktion Wertigkeit
    
    int indezimal(int Eingabezahlint, int base, int exp)                 // wandelt eingabe in Dezimalzahl zur weiteren Bearbeitung
    {
        int Zahl;
        int wertigkeit(int zahl, int exp);
    
    
    
            Zahl=(Eingabezahlint * wertigkeit(base,exp));
            return Zahl;
            return(0);
    
    
    
    } // Ende indezimal
    //***************************************** Funktion Wertigkeit *********************************************************
    
    
                        int wertigkeit(int zahl, int exp)                       // gibt die wertigkeit der entsprechenden Potzenz an, die für indezimal benötigt wird
                        {
    
                           int tempwert=1;
    
                           for (int zahler=0; zahler<exp; zahler++)
                            {
                            tempwert*=zahl;
                            }
    
    
    
    
    
                         return(tempwert) ;
    
                         return 0;
                        } // Ende wertigkeit

  10. #10
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Rückgabewert einer Funktion in ein Array bringen

    Du bist häufiger mit Eingabezahl und Eingabezahlint durcheinander gekommen, die Namen waren etwas suboptimal. Du hast nicht daran gedacht, dass beim Exponenten die Länge der Eingabe und nicht die des Vektors berücksichtigt werden sollte, deshalb habe ich den Vektor nun ganz entfernt und voilà, es klappt ohne jedes Array. Außerdem hattest du Summe mehrfach deklariert.
    Code:
    #include <iostream>
    #include <vector>
    #include <string>
    //#include <cstdint>
    #include <cmath>
    using namespace std;
    
    // Funktionsdeklaration
    void welcome();
    void help();
    bool  proof(int base, int baseneu);
    int char2intvalue(char Eingabezahl, int base);
    inline int indezimal (int Eingabezahlint, int base, int exp);
    
    // ************************************** Hauptprogramm *******************************************************************
    int main()
    {
        // Lokale Variabelen
        
        int   base, baseneu, auswahl=1;
        string Eingabezahl(32, '0');
        
        // Arrays
        
        char polyneu[32]={0};
        
        // Programm----#########-------------------##########------------------------########
        
        welcome();
        // Eingabeschleife
        
        help();
        
        while(auswahl==1)                            //1= User möchte weitere Zahl umwandeln, Startwert1
        {
            
            
            
            do                       //wiederholt Eingabedialog solange bis Werte OK sind
            {
                //Eingabezahl muss hier leer sein
                
                cout << "Wie lautet Ihre Zahl (z.B. 010101)?" <<endl;
                cin >> Eingabezahl; // Ziffern wird in das Array eingelsen
                cout <<"Die dazugehörige Base (z.B. 2 wenn die Zahl eine Binärzahl ist)?" << endl;
                cin >> base;
                cout << "Und nun bitte noch die neue Base eingeben:" << endl;
                cin >> baseneu;
            }
            while(proof(base,baseneu));
            int Summe = 0;
            //Eingabezahl = string(32 - Eingabezahl.size(), '0') + Eingabezahl;
            cout << Eingabezahl << endl;        // kann später raus
            for (int i=0;i<Eingabezahl.size();i++)
            {
                Summe += indezimal(char2intvalue(Eingabezahl[i],base), base, (Eingabezahl.size()-(i+1)) );
            }
            
            cout << endl;
            
            cout << "Ergebnis: " << Summe << endl; // Ausgabe der Dezimalzahl, diese muss dann back2poly übergeben werden
            
        }
        // back2poly(Summe, base_neu, zahlneuint[]); // Dezimalzahl (Summe) wird in polyadische Zahl mit neuer Basis umgewandelt
            
            // intvalue2char(Eingabenzahlint[],polyneu);   // Array Eingabezahlint wird ausgelesen und Zahlen >9 zu Buchstaben konvertiert, neue Werte landen über Referenz im Array polyneu
            
            //  ausgabe(char polyneu[], int base_neu);      // gibt über Cout und for-Schleife die neue Zahl sowie deren Basis aus
            
            //  auswahl(auswahl);                           // gibt über Referenz auswahl den Wert 1 oder 2 je nachdem, was der User machen möchte
            
            
            
            return(0);
    }
    
    //####################################### F U N K T I O N E N  ############################################################
    // Gliederung:
    
    // 1. welcome()             ab Zeile 96
    // 2. einlesen()            ab Zeile 121
    // 3. proof()               ab Zeile 162
    // 4. char2intvalue()       ab Zeile 191
    // 5. indezimal()           ab Zeile 344
    //      5.1   wertigkeit()  ab Zeile 361
    // 5. backin2poly()         ab Zeile 398
    // 6. intvalue2char()       ab Zeile 436
    // 7. ausgabe               ab Zeile 586
    // 8. auswahl               ab Zeile 605
    
    
    
    
    //***************************************** Funktion welcome *************************************************************
    
    
    void welcome()                   // Gibt aus: Programmname/Version und Bedienhinweise
    {
        
        cout<<""
        <<"___      ___                              ____         _"<< endl
        <<"|  \\    /   \\    |       \\   /     /.     |   \\       /|"<< endl
        <<"|__/    |   |    |        \\ /     /_\\     |    |       |"<< endl
        <<"|       |   |    |         Y     /   \\    |    |       |"<< endl
        <<"|       \\___/    |____     |    /     \\   |___/       _|_"<< endl
        <<"========================================================="<< endl
        <<"======== Konverter für polyadische Zahlensysteme ========"<< endl
        <<"======================= rev 1.0 ========================="<< endl
        <<"======================= c by LJ ========================="<< endl
        <<"========================================================="<< endl<< endl;
        
        cout <<"Im nächsten Schritt können Sie ihre Zahl mit dazugehöriger Basis eingeben.";
        return ;
    };
    
    //*******************************************  einlesen  *****************************************************************
    
    
    void help()                         // bietet Hilfe an
    {
        
        char help;
        
        cout<<"Moechten Sie ein paar Eingabe-Beispiele sehen (J/N)?";
        cin >> help;
        
        if (help=='j'|| help=='J')
        {
            cout << " -> Sie benutzen das Programm zum ersten Mal und benötigen Hilfe?"
            << "    - folgende Beispeile sollen Ihnen zeigen, wei das Programm zu bedienen ist... " << endl << endl;
            
            //////// H I E R    F E H L T    N O C H    T E X T   ! ! !
            
        }
        
        
        return ;
        
    }
    
    //***************************************** Funktion proof  ***************************************************************
    
    
    bool proof(int base, int baseneu)                      //Ueberprüfung der eingegebenen Werte für basen
    {
        bool error=false;
        
        
        if( base>36 || base<2 || baseneu<2 || baseneu>36)          // Abfrage ob richtiger Wertebereich
        {
            error=true;
        }
        
        if (error==1)
        {
            cout << endl << "! Ihre Eingabe ist fehlerhaft" << endl
            << "Die von Ihnen Angegebene Basis/Basen liegen nicht im Bereich 2 - 36 !"<< endl
            << "Bitte wiederholen Sie die Eingabe:"<< endl << endl;
        }
        
        
        
        return(error); //1= Fehler,0= OK
    }
    
    
    // ************************************** Funktion char2intvalue  ********************************************************
    
    
    int char2intvalue(char Eingabezahl, int base)     // wandelt die Buchstaben der eingegbenen Poly. Zahl in Zahlen um z.B. A=10;
    {
        //cout << Eingabezahl; // Zeichen kommen hier richtig an
        if(Eingabezahl <= '9' && '0' <= Eingabezahl)
            return Eingabezahl - '0';
        if(Eingabezahl <= 'z' && 'a' <= Eingabezahl)
            return Eingabezahl - 'a' + 10;
        if(Eingabezahl <= 'Z' && 'A' <= Eingabezahl)
            return Eingabezahl - 'A' + 10;
        
        
        if (Eingabezahl>(base-1))
        {
            cout<< endl <<"Es ist ein FEHLER bei der Bearbeitung aufgetreten:" << endl
            << "Der Wert" << Eingabezahl << " ist ZU GROß FÜR die ANGEGEBENE BASIS " << base << " !" << endl
            << " -->   ! D A S   E R G E B N I S   W I R D   F A L S C H   S E I N!   <--" << endl
            << "Bitte widerholen Sie die Eingabe und achten Sie auf Zahl und Basis" <<endl << endl;
        }
        
        return 0;
    }
    
    
    
    
    //***************************************** Funktion indezimal **********************************************************
    // benötigt Funktion Wertigkeit
    
    inline int indezimal(int Eingabezahlint, int base, int exp)                 // wandelt eingabe in Dezimalzahl zur weiteren Bearbeitung
    {
        return (Eingabezahlint * pow(base,exp));
    }
    Viele liebe Grüße
    The User

Ähnliche Themen

  1. Funktion zur Überprüfung der Existenz eines Array-Indexes?
    Von jojo87 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 30.08.2007, 19:51
  2. Problem mit Array füllen und an andere Funktion übergeben
    Von Jessica Heinze im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 10.06.2007, 12:22
  3. Abfrage aus einer Tabelle oder Array
    Von MAD im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 03.08.2006, 13:20
  4. Daten aus nur einer Spalte einer Tabelle in Array speichern
    Von FaFoo im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 25.07.2006, 16:32
  5. Array in einer Mail verschicken
    Von Wasserlasser im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 28.08.2005, 03:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •