Funktion mit Übergabe eines Textes und Rückgabe eines Wertes.



  • Ich suche eine Funktion, die eine Zeichenkette als Argument nimmt, sie als Eingabeauffoderung ausdruckt und dann als Funktionswert eine ganze, bzw reelle Zahl zurück gibt.

    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    
    main() {
           int A;
           int C;
           int B= 55;
    
           int berechnen( int , int );
           int Eingabe( int );
    
           C = Eingabe(A);
    
           cout << "das ist " << berechnen ( C , B) << endl;
           system("PAUSE");
    
           }
    
    int berechnen ( int x, int y){
                int z;
                z = x + y;
                }
    
    int Eingabe( int a){
                 cout << "A = ";
                 cin >> a;            
                 return a;
    }
    
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    int a;
    
    int  EingabeRueckgabe (char a[])
         {
         cout << a << endl ;
    
         }             
    ;        
    
    main() {
    
          int EingabeRueckgabe(char*);
    
          EingabeRueckgabe(" a ");
    
          system("PAUSE");
          }
    

    Jeweils einzeln ist es kein Problem, doch zusammen bringe ich diese beiden Aufgaben nicht.

    Ich hoffes es kann mir jemand helfen.

    Gruß



  • int foo (std::string out,int i)
    {
        std::cout << out << std::endl;
    
        return i;
    }
    

    Was dein Code machen soll bleibt mir ein Rätsel. Erklär mal genauer, was du machen willst. Und vor allem, was das für ein Rückgabewert sein soll.



  • also erstmal zum eine, benutze std::string also so hier...

    #include<iostream>
    #include<string>
    
    int eingabeaufforderung(std::string deine_eingabe)
    {
        std::cout<<deine_eingabe<<std::endl;
    
       return eine_zahl; // ich weiß nich was du zurückgeben willst
    }
    
    int main()
    {
       eingabeaufforderung("Hallo Welt, gib bitte was ein");
    
      return 0;
    }
    

    weiß ja nicht was du da als zahlen zurückgeben willst, aber als grundgedanke solltest du von den char-Arrays wegkommen und std::strings benutzen



  • Vermutlich meint er einfach sowas:

    int Eingabe(const std::string &prompt)
    {
       int eingabe;   
    
       std::cout << prompt << std::endl;
    
       std::cin >> eingabe;
    
       return eingabe;
    }
    

    Wenn ich mir aber die Formulierung der Frage ansehe und dazu die offensichtlich mangelhaften C++ Kenntnisse des OP, klingt mir das Ganze stark nach Hausaufgabe, und sowas machen wir hier eigentlich nicht...

    Grüße

    Martin



  • richtig wir machen aber nur dann keine hausaufgabe, wenn der OP nicht selber mal probiert, und man sieht ja das er es wenigstens probiert hat, auch wenn es gänzlich in die hose gegangen ist 😛



  • Erstmal Danke für die schnellen Antworten,
    und nein, es ist keine Hausaufgabe. Das wäre schön, wenn es eine wäre.

    Ich suche eine Funktion, der man einen Text übergeben kann und dann mir einen Wert zurück gibt.

    Ich versuche es mal zu erklären.

    Funktion: GanzeZahlenLesen

    Es soll nach einer Zahl gefragt werden, zum Beispiel Jahr, aber auch bei einem anderen Aufruf nach der Anzahl der Seiten.
    GanzZahlenLesen( „Jahr :“) oder GanzZahlenLesen( „Seiten :“)

    Dann soll eine Eingabe einer ganzzahligen Zahl erfolgen. Und diese Zahl soll mir wieder zurück an das Hauptprogramm gegeben werden.

    Ich weiß, wie ich einer Funktion das übergebe, was ich schreiben lassen möchte:

    int  GanzeZahlenLesen (char a[])
         { cout << a << endl;}             
    ;        
    
    main() {
    
          int GanzeZahlenLesen(char*);
          GanzeZahlenLesen("Jahr: ");
          system("PAUSE");
          }
    

    Ich weiß auch, wie ich einen Wert aus einer Funktion zurückbekomme:

    using namespace std;
    
    main() {
           int A;
           int C;
           int B= 55;
    
           int Berechnen(int ,int );
           int Eingabe(int);
    
            cout << "das ist " << Berechnen (Eingabe(A) ,B ) << endl;
           system("PAUSE");
    
           }
    
    int Berechnen ( int x, int y){
                int z;
                z = x + y;
                }
    
    int Eingabe( int a){
                 cout << "A = ";
                 cin >> a;            
                 return a;
    }
    

    Was ich nicht weiß ist, wie man einer Funktion einen Text übergibt, der ausgegeben wird, dann man eine Zahl eingibt und diese Zahl wieder an das main-Programm zurückgeben wird.

    Ich hoffe, dass ich mich jetzt mich etwas verständlicher ausgedrückt habe.
    Habe schon viele Sachen ausprobiert, aber irgendwie hänge ich gerade vor der Wand fest.

    Gruß



  • Also ich denke mal, dass JimmydaMage bereits die Lösung geschrieben hat.

    int Eingabe(const std::string &prompt)
    {
       int eingabe;  
    
       std::cout << prompt << std::endl;
    
       std::cin >> eingabe;
    
       return eingabe;
    }
    


  • bitte nimm dir zu herzen was wir sagen, das char a[] is kacke...du sollste strings benutzen 😉 die sind dynamische 😉 und leichter zu handhaben



  • Firefighter schrieb:

    bitte nimm dir zu herzen was wir sagen, das char a[] is kacke...du sollste strings benutzen 😉 die sind dynamische 😉 und leichter zu handhaben

    .. außerdem legt es nahe, dass die Funktion vermutlich überflüssig ist :p 😉

    Gruß,

    Simon2.


Anmelden zum Antworten