Frage zu nem Projekt
-
Hi,
wir müssen in der schule nen projekt machn das uns eigentlich 1 jahr voraus iss.. jetzt hab ich ein problem und zwar sol der beim menüpunkt vermietung ..wenn ich da die autonummer eingeb .. soll er mir das auto mit seinen komplette daen ausgeben ... aber ich beokmms nich hin^^ sitz schon ne ganze weile hier dran ich hoff mir kann einer helfen! ich post die codierung ma hier#include<iostream.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> struct mietobjekt { char nummer[5]; char name[20]; char kategorie; char vermietet; char kilowatt[10]; char kmstand[20]; }; main() { /*Deklarationsteil*/ mietobjekt auto1[20]={"0000","xxx",'X','n',"00","00000","0001","Ford",'B','j',"40","20000","0002","Fiat",'C','n',"50","30000"}; int passworteingabe, i, kilometer, tage, autonummer[5]; char menueeingabe,weiter, kunde_v[20], kunde_n[20]; bool Fehler, Fehler2; float mietklasse[6]={35,41,47,57,62}; /*Eingabe*/ cout<<"Geben Sie das Passwort ein : "; cin>>passworteingabe; /*Ueberpruefen des Passwortes*/ if(passworteingabe == 999) { cout<<"OK. Das Passwort ist richtig! Weiter mit Enter"; getch(); clrscr(); do { clrscr(); /*Hauptmenu*/ cout<<"\n *Autovermietung Schmidt, Sepke & Bures*"; cout<<"\n\n ----Menueauswahl---"; cout<<"\n\n\n Bitte Menuepunkt auswaehlen:"; cout<<"\n\n 1. Anlage --> A"; cout<<"\n 2. Datensatz zeigen --> Z"; cout<<"\n 3. Vermietung --> V"; cout<<"\n 4. Abrechnung --> R"; /*Auswahl Menü*/ cout<<"\n\n Eingabe --> ";cin>>menueeingabe; switch (toupper(menueeingabe)) { case 'A': clrscr();/*Anlage*/ cout<<"---Anlage---\n"; Fehler = false;i =2; do { i++; cout<<"\nvierstellige Nummmer: "; cin>>auto1[i].nummer; cout<<"Name Fahrzeug anlegen: "; cin>>auto1[i].name; cout<<"Typkateorie eingeben: "; cin>>auto1[i].kategorie; cout<<"Kilowatt: "; cin>>auto1[i].kilowatt; cout<<"Kilometerstand: "; cin>>auto1[i].kmstand; cout<<"Fahrzeug vermietet j/n: "; cin>> auto1[i].vermietet; cout<<"\nNoch ein Fahrzeug anlegen j/n: "; cin>>weiter; }while (weiter!='n'); Fehler=true; break; case 'Z': clrscr();/*Datensatz anzeigen*/ cout<<"---Datensatz anzeigen---"; Fehler = false; i=1; printf("%s%s%14s%14s%14s%14s%16s","\n\n","Nummer","Hersteller","Typkategorie","Vermietet?","Kilowatt","Kilometerstand"); cout<<"\n--------------------------------------------------------------------------------"; for(i=1; i<=4; i++) { printf("%s%s%13s%13c%16c%13s%14s","\n\n",auto1[i].nummer,auto1[i].name,auto1[i].kategorie,auto1[i].vermietet,auto1[i].kilowatt,auto1[i].kmstand); } getch(); Fehler = true; break; case 'V': clrscr();/*Vermietung*/ cout<<"---Vermietung---\n\n"; Fehler = false; cout<<"\nNachname des Kunden: "; cin>> kunde_n; cout<<"\nVorname des Kunden: "; cin>> kunde_v; cout<<"\nNummer des gewuenschten Mietwagens: "; cin>> autonummer; if(autonummer == auto1[i].nummer) printf("%s%s%13s%13c%16c%13s%14s","\n\n",auto1[i].nummer,auto1[i].name,auto1[i].kategorie,auto1[i].vermietet,auto1[i].kilowatt,auto1[i].kmstand); else cout<<"Falsche Eingabe!"; getch(); Fehler=true; break; case 'R': clrscr();/*Abrechnung*/ cout<<"---Abrechnung---\n\n"; Fehler = false; cout<<"\Nummer des zurueckgegebenes Autos: "; cin>>autonummer; cout<<"\nKilometerstand bei Rueckgabe: "; cin>>kilometer; cout<<"\nAusgeliehene Tage: "; cin>>tage; cout<<"\n\nAbrechnung des Kunden" <<kunde_n<<","<<kunde_v; cout<<"\nWeiter mit Enter!"; getch(); break; default: clrscr();/*Fehler*/ cout<<"Fehlerhafte Eingabe! Bitte erneut eingeben!\n\n"; Fehler = true; /*klammer von ersten switch*/ } } while (Fehler); /*klammer von ersten if*/ } else{ cout<<"Falsch. Das Passwort ist nicht richtig!"; getch(); exit(0); } getch(); }
ich erbitte um hilfe
THX & MfG ghost
-
klar das iss noch nich fertig da fehlt noch die abrechnung und so aber ich hab nur das eine prob den rest bekom ich schon hin
-
Guten Tag.
ghot9 schrieb:
Hi,
wir müssen in der schule nen projekt machn das uns eigentlich 1 jahr voraus iss.. jetzt hab ich ein problem und zwar sol der beim menüpunkt vermietung ..wenn ich da die autonummer eingeb .. soll er mir das auto mit seinen komplette daen ausgeben ... aber ich beokmms nich hin^^ sitz schon ne ganze weile hier dran ich hoff mir kann einer helfen! ich post die codierung ma hierWo ist dein Problem?
Schreib dir eine Klasse (Car) mit den Attributen die du brauchst und ner methode ShowCompleteCarData() oder so ähnlich.
Erstellst ein Auto:
Car BMWHansMayer(....);
Und dann noch eine billige if abfrage:
if(CarNumber==123456)
BMWHansMayer.ShowCompleteCarData();MfG Max
-
Ja das sagt sich so einfach^^^ aber ich hab erst seit nem halben jahr c++inner schule und wir fangen jetzt grad ma an mit schleifen...von daher hab ich mir 60% von dem was ich da geschrieben hab selbst beibringen müssen ... genauso wie mit den arrays das hatten wir alles noch nich von daher versteh ich noch nich ganz soviel davon
-
Guten Tag.
Ok, hier ein bisschen Code, den rest machst du bitte selbst, der Code ist ungetestet.
class Car{ private: // Edit warum benutzt du überall char arrays? es gibt noch andere Datentypen int m_nummer; // int string m_name; // string char m_kategorie; bool m_vermietet; // true oder false int m_kilowatt;// geht doch auch int int m_kmstand;// int public: Car(int nummer,string name,bool vermietet,char kategorie,int kilowatt,int kmstand){ //zuweisungen: m_nummer=nummer; m_name=name; m_vermietet=false; m_kategorie=kategorie; m_kilowatt=kilowatt; m_kmstand=kmstand; } ~Car(){} void ShowCarData(){ cout << m_nummer << endl << m_name << endl << boolapha() << m_vermietet <<endl// Ich hoffe boolalpha geht so << m_kilowatt<<endl << m_kmstand <<endl; } };
MfG Max
-
Guten Tag.
// Das sind die alten Header, es sollte so heißen: #include<iostream> // Neue Standard Header haben kein Suffix! #include<conio.h> // Ok // Gilt auch bei den in C++ übernommenen C Headern: #include<cstdio> #include<cstdlib> using namespace std; main() /* Ist zwar Ok, da wenn kein Datentyp angegeben wird int angenommen wird (laut Standard), manche Compiler dies aber nicht unterstützen!*/ int main() // ist besser
MfG Max
-
Zugegeben sagt mir zwar nich viel aber ich werd mich ma hinsetzen und das durchgehn
vielen vielen dank für deine mühe ... nur noch eine frage welchen befehl muss ich jetzt verwenden wenn ich das ganze unten ausgeben will
-
// Du musst ein Object erstellen: Car BMW(Hierherrein schreibst du die werte, diese weist der Konstruktor der in der Klasse oben steht automatisch zu) // Dann fragst du ne nummer ab: if(CarNumber==1234567) // Und dann greifst du über das Objekt auf seine Methode zu: BMW.ShowCarData();
Ein Objekt ist wie eine Struktur, nur mit Funktionen drinnen.
// Gute Tutorials, besonders Volkhard:
http://www.robsite.de/tutorials.php?tut=cMfG Max
-
Guten Tag.
Der Konstruktor von oben ist schlecht, ich nehme einen Elemente-Initialiesierer:class Car{ private: // Edit warum benutzt du überall char arrays? es gibt noch andere Datentypen string m_name; // string int m_nummer; // int char m_kategorie; bool m_vermietet; // true oder false int m_kilowatt;// geht doch auch int int m_kmstand;// int public: // Konstruktor Car(string name,int nummer,char kategorie,bool vermietet,int kilowatt,int kmstand) : m_name(name), m_nummer(nummer), m_kategorie(kategorie), m_vermietet(vermietet), m_kilowatt(kilowatt), m_kmstand(kmstand);// Muss hier ein Strichpunkt(";") hin? { } // Dummy Destruktor ~Car(){} void ShowCarData(){ cout << m_nummer << endl << m_name << endl << boolapha() << m_vermietet <<endl// Ich hoffe boolalpha geht so << m_kilowatt<<endl << m_kmstand <<endl; } };
MfG Max
-
Hi, also das mit der Objecterstellung bekomm ich nich so ganz hin... der rest geht eigentlcih auch wenn das da für mich fast gleich aussieht wie das oben :d sorry aber du hasts halt hier mit nem anfänger zu tun
MfG ghost
-
Guten Tag.
Schau dir den Konstruktor an:
Car(string name,int nummer,char kategorie,bool vermietet,int kilowatt,int kmstand)
Jetzt erstellst du ein Objekt, der Konstruktor wird dann automatsich aufgerfugen und übergibt die werte an die Attribute.
Car BMW("BMW Z9",102323,'A',true,1000,128000);
Und dann rufste die Methode auf:
BMW.ShowCarData();
PS:Lies dir mal eines der Tutorials durch
MfG Max
-
ah gut jetzt hat es geklappt VIELEN DANK
MfG ghost
-
Master_Max schrieb:
Muss hier ein Strichpunkt(";") hin?
Nope, kommt keiner hin.