Parameterübergabe bei c++
-
hallo??
kann mir jemand sagen wie ich das jetzt verändern muss um es mit parameterübergabe zu machen?
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hehe jetzt hast du was nicht korrekt:
#include <iostream.h> // hab ich aus Volkards C++-Kurs http://www.volkard.de/vcppkold/hello_world.html #include <string> using namespace std; // wozu namespace wenn du std::string schreibst ? struct Kfz { std::string farbe, marke; // siehe oben float leistung; } // Ich wollt ein Noob nicht mit konstanten Referenzen verwirren void meine_funktion(const Kfz &kfz) { } // Bin Java gewöhnt :) int main(int argc, char **argv) { Kfz kfz; cin >> kfz.farbe; cin >> kfz.marke; cin >> kfz.leistung; meine_funktion(kfz); }
-
ja ist doch korrekt, aber ich dacht du wollst nicht OOP

hallo??
kann mir jemand sagen wie ich das jetzt verändern muss um es mit parameterübergabe zu machen?Indem du die main-Funktion mit Parameter machst ?
//Wenn schon Parameter an main, dann richtig int main(int argc, char **argv)argc ist die Anzahl der Parameter, argv sind die Parameter.
if ( argc > 0 ) { string param1 = new string(argv[0]); }ich hoff die Parameter sind null-terminiert.
-
-
Ich schreib jetzt mal weil ich glaube das du das meinst.
#include <conio.h> #include <iostream> using namespace std; struct kfz { string marke,farbe; int anzahl,baujahr,nr; float leistung_ps; void eingeben(kfz Kfz) { cout<<"####Eingabe####\n";cout<<"\n"; cout<<"Marke: ";cin>>Kfz.marke; cout<<"Farbe: ";cin>>Kfz.farbe; cout<<"Leistung in PS: ";cin>>Kfz.leistung_ps; cout<<"Anzahl der Tueren: ";cin>>Kfz.anzahl; cout<<"Baujahr: ";cin>>Kfz.baujahr; cout<<"InventarNr: ";cin>>Kfz.nr; }; void ausgeben(kfz Kfz) { cout cout<<"Marke: "<<Kfz.marke<<"\n"; cout<<"Farbe: "<<Kfz.farbe<<"\n"; cout<<"Leistung in PS: "<<Kfz.leistung_ps<<"\n"; cout<<"Anzahl der Tueren: "<<Kfz.anzahl<<"\n"; cout<<"Baujahr: "<<Kfz.baujahr<<"\n"; cout<<"InventarNr: "<<Kfz.nr<<"\n"; cout<<"Leistung in kW: "<<Kfz.leistung_ps*0.735<<"\n"; }; }; int main() { kfz auto1; eingeben(auto1); ausgeben(auto1); getch(); }Hoffe dich richtig verstanden zu haben
LG
-
Nein, das geht so nicht. Besser:
struct kfz { string marke,farbe; int anzahl,baujahr,nr; float leistung_ps; }; void eingeben(kfz& Kfz) { cout<<"####Eingabe####\n";cout<<"\n"; cout<<"Marke: ";cin>>Kfz.marke; cout<<"Farbe: ";cin>>Kfz.farbe; cout<<"Leistung in PS: ";cin>>Kfz.leistung_ps; cout<<"Anzahl der Tueren: ";cin>>Kfz.anzahl; cout<<"Baujahr: ";cin>>Kfz.baujahr; cout<<"InventarNr: ";cin>>Kfz.nr; } void ausgeben(const kfz& Kfz) { cout<<"Marke: "<<Kfz.marke<<"\n"; cout<<"Farbe: "<<Kfz.farbe<<"\n"; cout<<"Leistung in PS: "<<Kfz.leistung_ps<<"\n"; cout<<"Anzahl der Tueren: "<<Kfz.anzahl<<"\n"; cout<<"Baujahr: "<<Kfz.baujahr<<"\n"; cout<<"InventarNr: "<<Kfz.nr<<"\n"; cout<<"Leistung in kW: "<<Kfz.leistung_ps*0.735<<"\n"; }Schon erstaunlich wieviele Fehler man in einem so kurzen Stück Code machen kann. Ich hoffe mal, daß ich alle gefunden habe.
-
sorry ist schon spät

-
@Sascha_Thiel && Z2: WTF ? Ist das nicht der gleiche Code wie von Ahramys ?
Bis auf das von Z2 die 2 Funktionen jetzt ausserhalb des struct sind.
-
Er wollte doch die Parameter der Funktion Übergeben, das hat er in seinem Code ja nicht. Oder hab ich da was falsch verstanden?
-
oder gar so

struct KFZ { string marke,farbe; float leistung_ps; }kfz; void eingabe(const string& kfz_marke, const string& kfz_farbe, const float& kfz_leistung) { kfz.marke = kfz_marke; kfz.farbe = kfz_farbe; kfz.leistung_ps = kfz_leistung; } void ausgabe() { cout<<"Hersteller: "<<kfz.marke<<endl; cout<<"Farbe: "<<kfz.farbe<<endl; cout<<"Leistung: "<<kfz.leistung_ps<<endl; } int main(int argc, char* argv[]) { eingabe("VW","Silber",150); ausgabe(); getch(); return 0; }
-
DEvent schrieb:
Hehe jetzt hast du was nicht korrekt:
#include <iostream.h> // hab ich aus Volkards C++-Kurs http://www.volkard.de/vcppkold/hello_world.htmlDas ist *definitiv* veraltet, letzte Änderung war 08/25/00. iostream.h geht einfach nicht mehr.
#include <string>
using namespace std; // wozu namespace wenn du std::string schreibst ?
Macht der Gewohnheit, normalerweise hab ich kein using drin, in dem Fall drinlassen. Sonst müssen wir std::cin schreiben

// Bin Java gewöhnt

int main(int argc, char **argv)Da heißt's aber
public class Foo public static void main(String []args) { } }:p

passt schon...
MfG
GPC