Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Völlige Anfängerfrage

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
07.12.2006, 08:09 Uhr
~Kati
Gast


Hallo zusammen,

meine Frage ist wohl viel zu einfach für dieses Forum, aber ich komm allein leider nicht weiter

Es geht um folgende Aufgabenstellung :

Implementieren Sie die drei Funktionen in einem ausführbaren
Programm. Jede Funktion enthält jeweils die
Deklaration, Definition und den Funktionsaufruf.

Ich hab durch suchen folgenden Quellcode gefunden.(siehe unten) Macht der denn sowas?
Also in meiner eigentlichen Funktion, soll die grundfläche eines Trapezes, die Zeit für den Alkoholabbau und noch irgendwas, weiß cih gerade nicht mehr auswendig, aber die formeln ans ich wären auch nicht so dass Problem, sondern mehr so der code dazu außen herum.

Vielleicht kann mir hier ja jemand helfen, würd mich sehr freuen. Und bitte nicht schimpfen, ich bin da eben noch auf totalem neuland.

Danke


C++:
#include <iostream>
    using namespace std;

    int Add(int, int); //Deklaration einer Funktion

    int main()
    {
      int a,b;
      cout<<"Bitte 2 Zahlen eingeben\n";
      cin>>a;
      cin>>b;
      cout<<"Die Summe von "<<a<<" und "<<b<<" ist "<<Add(a,b)<<".\n";
    }

    int Add(int lhs, int rhs) //Definition einer Funktion
    {
      return lhs + rhs;
    }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.12.2006, 08:39 Uhr
ao

(Operator)



Zitat von ~Kati:
Ich hab durch suchen folgenden Quellcode gefunden.(siehe unten) Macht der denn sowas?

Ja, genau. Deklaration und Definition sind ja schon markiert. Der Aufruf ist in der Zeile, die mit cout beginnt.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.12.2006, 09:39 Uhr
Pler
Einer von Vielen
(Operator)


Und das jetzt drei mal.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.12.2006, 10:44 Uhr
~Kati
Gast


OK, danke schon mal.

Was mir aber irgendwie nicht so ganz klar ist, ist wie dieses Programm merkt, dass es in diesem Fall addieren soll. Den Befehl "Add" gibt es doch so nicht,oder? der wird ja von mir so angelegt.

Dann sollen 2 Zahlen eingegeben werden und das Ergebnis dann ausgegeben...aber wo wird gesagt, dass die beiden Zahlen addiert werden sollen? Ich mein dadurch, dass die Funktion "Add" heisst, ist mir das klar, aber rein aus dem code könnte ich das nicht erkennen, warum das addiert und nicht z.B. subtrahiert.

Ich mein die Formel z.B. für die Fläche eines Trapes ist Fläche=((a+c)*h) / 2
Da ich jetzt leider nicht verstehe, wo und wann der Funktion der Befehl zum addieren gegeben wird, hab ich ein Problem, die Formel in den Code einzubinden...

Hoffe ich nerve nicht mit meinen Problemchen

Danke !
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.12.2006, 10:47 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


"lhs + rhs" sieht doch schwer nach ner Addition aus oder nicht?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.12.2006, 10:49 Uhr
Pler
Einer von Vielen
(Operator)



C++:
#include <iostream>
    using namespace std;

    int Add(int, int); //Deklaration einer Funktion

    int main()
    {
      int a,b;
      cout<<"Bitte 2 Zahlen eingeben\n";
      cin>>a;
      cin>>b;
      cout<<"Die Summe von "<<a<<" und "<<b<<" ist "<<Add(a,b)<<".\n"; // Hier wird die Funktion aufgerufen mit den beiden zu addierenden Zahlen. Das ergebnis liefert Add sozusagen direkt in die Ausgabe
    }

    int Add(int lhs, int rhs) //Definition einer Funktion
    {
      int erg;
      erg = lhs + rhs; // Hier wird addiert!
     return erg;
    }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.12.2006, 10:49 Uhr
ao

(Operator)


Ich schreibs mal etwas um, vielleicht wirds dann klarer:

C++:
#include <iostream>
    using namespace std;

    int Add(int, int); //Deklaration einer Funktion

    int main()
    {
      int a,b;
      cout<<"Bitte 2 Zahlen eingeben\n";
      cin>>a;
      cin>>b;

      int c = Add (a, b); // Add aufrufen

      cout<<"Die Summe von "<<a<<" und "<<b<<" ist "<< c <<".\n";
    }

    int Add(int lhs, int rhs) //Definition einer Funktion
    {
      return lhs + rhs;
    }


Die Definition von Add (unten) bestimmt, was die Funktion tut, nämlich die beiden übergebenen Werte addieren (lhs + rhs) und das Ergebnis zurückreichen (return).

Der Aufruf von Add in der main-Funktion startet die Funktion (versorgt mit den Werten a und b) und nimmt das Ergebnis entgegen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
08.12.2006, 09:59 Uhr
~Kati
Gast


Hey hallo zusammen,

vieln Dank, das hat mir wirklich sehr weitergeholfen. Den + Operator hab ich überhaupt nicht gesehen... jetzt hab ich schon ein wenig mehr verstanden.

Ich wollte mich dann jetzt mit dem neuen wissen daran machen eben so eine Aufgabe mit der Fläche eines Trapezes zu machen. die formel dafür ist bei meinen Variablen
Flächeninhalt = (b+d)/2 * f

dazu hab ich den vorhandenen code dann wie unten umgeschrieben, allerdings kommt beim compilieren dann die meldung
[Linker error] undefined reference to `Flaeche(float, float, float)'

wie muss ich das denn verlinken, bzw. ist mein code so überhaupt korrekt?

Ich danke euch !


C++:
#include <iostream>
#include <stdio.h>
    using namespace std;

    int Flaeche (float, float, float); //Deklaration einer Funktion

    int main()
    {
      int b,d,f;
      cout<<"Bitte b eingeben\n";
      cin>>b;
      cout<<"Bitte d eingeben\n";
      cin>>d;
      cout<<"Bitte f eingeben\n";
      cin>>f;
      
      
      cout<<"Die Fläche des Trapez beträgt  "<<Flaeche(b,d,f)<<".\n"; // Hier wird die Funktion aufgerufen.
    }

    int Flaeche(int b, int d, int f) //Definition einer Funktion
    {
      int erg;
      erg =  ((b+d)/2)*f; // Hier wird berechnet!
     return erg;
    }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
08.12.2006, 10:06 Uhr
~Kati
Gast


Ah, sorry,

ich hatte da ja float drin stehen, sollte ja int sein... ich probiers gleich mal aus, ansonsten meld ich mich wieder
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
08.12.2006, 10:19 Uhr
~Kati
Gast


Hallo nochmal... ist natürlich doch nicht so das wahre...das mit dem Float wäre wahrscheinlich doch nicht so verkehrt ...

das programm läuft jetzt zwar und berechnet auch korrekt, aber nur solange es ganze zahlen sind. ich denke das ist wegen dem int, oder? wenn als ergebis von (b+d/2) z.B. 3,5 rauskommt und er dass dann *2 rechnen soll, bekommt er 6 raus ...

wie mach ich denn das mit dem float? mein code schaut jetzt so aus :
Danke Schön !


C++:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
    using namespace std;

    int Flaeche (int, int, int); //Deklaration einer Funktion

    int main()
    {
      int b,d,f;
      cout<<"Bitte b eingeben\n";
      cin>>b;
      cout<<"Bitte d eingeben\n";
      cin>>d;
      cout<<"Bitte f eingeben\n";
      cin>>f;
      
      cout<<"Die Flaeche des Trapez betraegt  "<<Flaeche(b,d,f)<<  "Quadratzentimeter" ".\n" ; // Hier wird die Funktion aufgerufen.
      getch();
    }

    int Flaeche(int b, int d, int f) //Definition einer Funktion
    {
      int erg;
      erg =  ((b+d)/2)*f; // Hier wird berechnet!
     return erg;
    
    }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: