Hasi Geschrieben 13. Juni 2001 Teilen Geschrieben 13. Juni 2001 Hi ich habe von Pawel eine kleine anfrage zugeschickt bekommen, da es sehr ziemlich klingt und ich hier momentan keine C++ Umgebung habe hoffe ich ihr koennt ihm helfen Tausend Dank Hasi, die sich schaemt weil sie keine Zeit hat HI! mein name ist Pawel. ich habe deine emailadresse aus den fachinformatiker forum. ich dachte mir vielleicht könntest du mir helfen. ich bin grade nach der suche nach einen ausbildungsplatz als fachinformatiker anwendungsentwicklung. heute hatte ich ein vorstellungs gespräch es verlief ganz gut. es gibt dort für 2 plätze 13 bewerber. die würden mich auch nehmen aber sie wollen meien programmier kenntnisse testen in c++. die sind nicht so prall um ehrlich zu sagen...na ja es geht... also sie haben mir eine aufgabe bis montag gestellt. ich soll ein nicht nicht funktionierendes programm so modifizieren das es wieder leuft. ich komm aber zu zeit nicht weiter weil ich einfach bei den program tottal nicht durchblicke. es soll ein programm für einen autohändler sein der autos bestellt. er gibt zuerst die kunden daten ein........ dann sucht er für denn kunden ein oder!! mehrere fahrzeuge aus zumschlus mus er auf den bildschirm folgende daten haben: daten der kunden die anzahl der fahrzeuge die er ausgewält hat ( und auch welche......... mit nummer des fahrzeug und den einzelpreis (preise mit komma stellen z.B 12599,59 DM ...und die stückzahl) das programm soll die gesamt summe erechnen. und den entbetrag auch. und alles soll auf einen bildschirm erscheinen. kannst du mir bei der aufgabe weiterhelfen? DANKE im vorraus!! das programm sieht wie folgt aus.: #include <iostream.h> #include <stdlib.h> #include <conio.h> // für getch() und system("cls") int main() { char array[10][256]; // 10 Felder mit jeweils Platz für 256 Zeichen cout << "Willkommen zum Bestellprogramm!\n\nDruecken Sie eine beliebige Taste, um fortzufahren..." << endl; while (!kbhit()) // solange kbhit() *nicht* (!) true zurückgibt... {} //macht nichts, ein Schleife ohne Inhalt system("cls"); // löscht den Bildschirm, cout << "Kundendatenerfassung: " << endl; cout << "Name des Kunden: "; cin.getline(array[0],256);//Zeigt auf anfang des Feldes 0 cout << "Strasse: "; cin.getline(array[1],256);//Zeigt auf anfang des Feldes 1 cout << "PLZ: "; cin.getline(array[2],256);//Zeigt auf anfang des Feldes 2 cout << "Wohnort: "; cin.getline(array[3],256);//Zeigt auf anfang des Feldes 3 cout << "Telefonnummer: "; cin.getline(array[4],256);//Zeigt auf anfang des Feldes 4 getch(); // warte auf beliebigen Tastendruck system("cls"); for (int i=0;i<4;i++) // SCHLEIFE // i = 0 ist i kleiner als 4 i + 1 ist i gleich oder größer als 4 beendet { cout << "endl"<<array[i]; } while (!kbhit()) // solange kbhit() *nicht* (!) true zurückgibt... {} //macht nichts, ein Schleife ohne Inhalt system("cls"); // löscht den Bildschirm, getch(); // wieder Taste vorm beenden (return 0) return 0; } #include using namespace std; int NrAutos; int AutoId[100]; // Identifizierungsnummer string AutoName[100]; // Name des Fahrzeugs long AutoPreis[100]; // Preis (tatsaechlicher Preis * 100 // ein Wert von 150 bedeutet also einen // Preis von 1,50 DM void Add( int Id, string& Name, long Preis ) { AutoId[NrAutos] = Id; AutoName[NrAutos] = Name; AutoPreis[NrAutos] = Preis; NrAutos++; } void PrintVorrat() { int i; for( i = 0; i < NrAutos; ++i ) cout << AutoId << " " << AutoName << " " << AutoPreis / 100.0 << endl; } int main() { NrAutos = 0; Add( 1, "Audi A4", 3900099 ); Add( 2, "Audi A6", 5900099 ); Add( 3, "BMW M3", 7900099 ); Add( 4, "BMW 316", 7900099 ); Add( 5, "BMW 320", 7900099 ); Add( 6, "BMW 316i", 7900099 ); Add( 7, "BMW M5", 7900099 ); Add( 8, "BMW Z3", 7900099 ); Add( 9, "BMW M3i", 7900099 ); Add( 10, "BMW M23", 7900099 ); Add( 11, "BMW M323", 7900099 ); Add( 12, "BMW M324", 7900099 ); Add( 13, "BMW M32d", 7900099 ); Add( 14, "BMW M3f", 7900099 ); Add( 15, "BMW M3h", 7900099 ); Add( 16, "BMW M354", 7900099 ); Add( 17, "BMW M3jf", 7900099 ); Add( 18, "BMW M3jde", 7900099 ); Add( 19, "BMW M3je", 7900099 ); Add( 20, "BMW M3ke", 7900099 ); Add( 21, "BMW M3dh", 7900099 ); PrintVorrat() } int WaehleAuto() { int Id; int i; int Index; PrintVorrat(); do { cout << "Bitte wählen Sie aus : "; cin >> Id; Index = -1; for( i = 0; i < NrAutos; ++i ) { if( AutoId == Id ) { Index = i; } } if( Index == -1 ) cout << "Sie haben keine gültige Auswahl getroffen!\n"; } while( Index == -1 ); return Index; } int main() { int NrVerkauft; int VerkauftIndex[100]; string Antwort; .... NrVerkauft = 0; do { VerkauftIndex[NrVerkauft] = WaehleAuto(); NrVerkauft++; cout << "Noch ein Fahrzeug J/N"; cin >> Antwort; while( Antwort == 'J' || Antwort == 'j' ); } int main() { long Total; ...... cout << "Sie haben ausgewahlt:" Total = 0; for( i = 0; i < NrVerkauft; ++i ) { cout << AutoName[VerkauftIndex] << " " << AutoPreis[VerkauftIndex] / 100.0 << endl; Total += AutoPreis[VerkauftIndex]; } cout << "Das macht in Summe " << Total / 100.0; } [ 13. Juni 2001: Beitrag editiert von: Hasi ] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hasi Geschrieben 13. Juni 2001 Autor Teilen Geschrieben 13. Juni 2001 Hi Pawel hab was entdeckt, der letzte Teil der ersten Main muss wie folgt sein for (int i=0;i<5;i++) //schleife darf nur kleiner als 5 und damit = 4 sein { cout << endl<<array[i]; //bei endl braucht man keine Ausrufezeichen } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JoelH Geschrieben 13. Juni 2001 Teilen Geschrieben 13. Juni 2001 Ich hab da noch 'ne Mail 2 Tage vorher bekommen die das Problem so beschreibt : OriginaleMail von Pawel... : hi! habe deine adresse aus den fachinformatiker forum. ich fange am 1.8 eine ausbildung zum FI Ae und bilde mich zuzeit an der VHS in c++ aus. ich beschäftige mich jetzt seit knapp 2 wochen mit c++. hatte zuvor keinerleih erfahrung in programmiersparchen. seit letzter woche besuche ich die ein c++ grundlagen kurs an der VHS. wir haben jetzt eine kleine hausaufgabe gekrieg. ich weis aber nicht wie ich sie lösen soll. es geht um folgenes. ich soll ein c++ programm schreiben das für ein autohändler gedacht ist. der autohändler soll zuerst die kundendaten eingeben: name vorname, adresse. danach soll ihn eine liste angezeigt werde mit fahrzeugen die ungefähr so aussieht: 1 Audi A4 39000,99 Dm 2 Ausi A6 59000,99 Dm 10 BMW M3 79000,99 Dm usw. er soll jetzt z.b Das fahrzeug 1 auswählen und das programm sollte ihn fragen ob er noch ein fahrzeug auswählen will. er kann ja und nein antworten. wenn er ja antwortet könnte er z.b das Fahrzeug 10 wählen. dannach sollte das programm ihn anzeigen was für fahrzeuge er ausgewählt hat und wieviel die einzelnen fahrzeuge kosten, und den gesammt preis sollte auch angezeigt werden. der auto händler sollte auch 2 mal die 10 wählen können. also sollte zum schlus eine art rechnung erzeugt werden die den kunden dann zeigt was der autohändler geordert hat. mit stückzahl , einzelpreis und gesamtpreis. ich habe das problem das ich mit meiner wenigen programmier erfahrung so ein programm FAST garnicht entwickeln kann. Könnt ihr mir mal paar tipps geben wie ich so ein programm entwickeln könnte? Danke!! Ob da einer einfach zu faul ist ?? Naja in dem Code sind eine Menge Fehler und Zeit und Lust hab ich auchnicht, naja vielleicht hat ja einer von euch Zeit Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hasi Geschrieben 13. Juni 2001 Autor Teilen Geschrieben 13. Juni 2001 echt die hab ich auch bekommen ich dachte nur(da ich mir das Programm hier nicht richtig angeschaut habe) das das zwei Leute sind finde die Aktion von ihm aber ziemlich mies, so nach dem Motto "Wenn ich die anderen lang genug nerve machts mir jemand anders" MIES @Uli: schliess doch bitte den folgenden (da er eh von gleichen ist http://www.fachinformatiker.de/cgi-bin/ubbcgi/ultimatebb.cgi?ubb=get_topic&f=21&t=000132 danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gicio Geschrieben 13. Juni 2001 Teilen Geschrieben 13. Juni 2001 Hallo Leute!! also ich gebe alles zu!! ich wars!! ich bin so verzweifelt zu zeit, ich würde ja fast alles machen um das programm entlich fertig zu kriegen..... aber mit meinen 5 wochen c++ erfahrung komme ich einfach nicht weiter. ich weis einfach nicht wie ich die ganzen teile zusammenfügen kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gicio Geschrieben 13. Juni 2001 Teilen Geschrieben 13. Juni 2001 ich glaub ich hab es fast geschaft jetzt .... habe grade einen nützlichen tip in einer Tutorial gelessen. werde es mal ausprobieren und euch mal das egebnis posten wenn es fertig ist!!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gicio Geschrieben 13. Juni 2001 Teilen Geschrieben 13. Juni 2001 hi!! da bin ich wieder!!! so ich habe enttlich eine FUNKTIONIERENDE BETA!! // Teil 1 : Die Kundendaten werden eingegeben #include <windows.h> // für strcpy() #include <iostream.h> #include <iomanip.h> // für setiosflags und setprecision #include <stdlib.h> #include <conio.h> // für getch() int NrAutos; int NrVerkauft; int VerkauftIndex[100]; int AutoId[100]; // Identifizierungsnummer char * AutoName[100]; // Name des Fahrzeugs double AutoPreis[100]; // Preis (tatsaechlicher Preis * 100 // ein Wert von 150 bedeutet also einen // Preis von 1,50 DM void TotalSumme(); void Add( int Id, char * Name, long Preis ); void PrintVorrat(); void AddAutos(); int WaehleAuto(); void EnterAutos(); void TotalSumme(); int main() { char array[5][256]; // 5Felder mit jeweils Platz für 256 Zeichen cout << "Willkommen zum Bestellprogramm!\n\n" << "Druecken Sie eine beliebige Taste, um fortzufahren..." << endl; while (!kbhit()) // solange kbhit() nicht (!) true zurückgibt... { } system("cls"); // löscht den Bildschirm, cout << "Kundendatenerfassung: " << endl; cin.getline(array[0],256); cout << "Name des Kunden: "; cin.getline(array[0],256);//Zeigt auf anfang des Feldes 0 cout << "Strasse: "; cin.getline(array[1],256);//Zeigt auf anfang des Feldes 1 cout << "PLZ: "; cin.getline(array[2],256);//Zeigt auf anfang des Feldes 2 cout << "Wohnort: "; cin.getline(array[3],256);//Zeigt auf anfang des Feldes 3 cout << "Telefonnummer: "; cin.getline(array[4],256);//Zeigt auf anfang des Feldes 4 getch(); // warte auf beliebigen Tastendruck system("cls"); // löscht den Bildschirm, for (int i=0;i<5;i++) // SCHLEIFE // i = 0 ist i kleiner als 4 i + 1 ist i gleich oder größer als 4 beendet { cout << array[i] << endl; } cout << endl << "Druecken Sie eine beliebige Taste, um fortzufahren..." << endl; while (!kbhit()) // solange kbhit() nicht (!) true zurückgibt... { } system("cls"); // löscht den Bildschirm, AddAutos(); EnterAutos(); TotalSumme(); getch(); // Taste vorm beenden (return 0) return 0; } //Teil 2: Die bestandteile für die autos werden definiert void Add( int Id, char * Name, double Preis ) { AutoId[NrAutos] = Id; AutoName[NrAutos] = Name; // z.b. "Audi A4" AutoPreis[NrAutos] = Preis; NrAutos++; } void PrintVorrat() { int i; cout << "Bitte waehlen Sie ein Auto" << endl; for( i = 0; i < NrAutos; ++i ) cout << AutoId[i] << "\t" << AutoName[i] << "\t\t" << setprecision( 2 ) //setze presision to #.00 << setiosflags( ios::showpoint ) //erzwingen ein point-character << setiosflags( ios::fixed ) // << (AutoPreis[i]) << endl; } void AddAutos() // was int main { NrAutos = 0; Add( 1, "Audi A4", 39000.99 ); Add( 2, "Audi A6", 59000.99 ); Add( 3, "BMW M3", 79000.99 ); Add( 4, "Audi A4", 39000.99 ); Add( 5, "Audi A6", 59000.99 ); Add( 6, "BMW M3", 79000.99 ); Add( 7, "Audi A4", 39000.99 ); Add( 8, "Audi A6", 59000.99 ); Add( 9, "BMW M3", 79000.99 ); Add( 10, "Audi A4", 39000.99 ); Add( 11, "Audi A6", 59000.99 ); Add( 12, "BMW M3", 79000.99 ); Add( 13, "Audi A4", 39000.99 ); Add( 14, "Audi A6", 59000.99 ); Add( 15, "BMW M3", 79000.99 ); Add( 16, "Audi A4", 39000.99 ); Add( 17, "Audi A6", 59000.99 ); Add( 18, "BMW M3", 79000.99 ); Add( 19, "Audi A4", 39000.99 ); Add( 20, "Audi A6", 59000.99 ); Add( 21, "Audi A6", 59000.99 ); PrintVorrat(); } //Teil 3: Man kann ein Auto wählen int WaehleAuto() { int Id; int i; int Index; do { cout << "Bitte waehlen Sie aus : "; cin >> Id; Index = -1; for( i = 0; i < NrAutos; ++i ) { if( AutoId[i] == Id ) { Index = i; } } if( Index == -1 ) { cout << "Sie haben keine gueltige Auswahl getroffen! Versuchen Sie es nochmal bitte.\n"; } } while( Index == -1 ); return Index; } //Teil 4: Nun kann der Händler alles eingeben void EnterAutos() // was int main() { char Antwort; NrVerkauft = 0; do { VerkauftIndex[NrVerkauft] = WaehleAuto(); NrVerkauft++; cout << "Noch ein Fahrzeug J/N"; cin >> Antwort; } while( Antwort == 'J' || Antwort == 'j' ); } // Teil 5: Jetzt wir alles zusammen gezählt und angezeigt was gewählt wurde void TotalSumme() { double Total; system("cls"); cout << "Sie haben ausgewahlt:\n\n"; Total = 0; for( int i = 0; i < NrVerkauft; ++i ) { cout << AutoName[VerkauftIndex[i]] << " " << setprecision( 2 ) << setiosflags( ios::showpoint ) << setiosflags( ios::fixed ) << AutoPreis[VerkauftIndex[i]] << endl; Total += AutoPreis[VerkauftIndex[i]]; } cout << "Der Gesamtbetrag betraegt " << Total << endl << endl; } ich habe auch schon 2 sachen gefunden die ich noch verbessern müsste: 1.: wie ihr sieht habe ich 21 auto ( !es müssen 21 autos sein!) wenn ich zum beispiel 1 auto auswähle ist noch alles okay.. wenn ich aber mehr als ein auto auswähle verschwindet die liste immer mehr nach oben und ich kann nicht mehr die kommplete liste der fahrzeuge seh. wenn ihr nicht ganz versteht was ich meine probiert das programm mal selbst aus. 2.: ich muss noch bei den preisen Dm einfügen. kommt aber alles noch. wenn ihr parr tips für mich habt oder verbesserungsvorschläge postet die bitte mal. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gicio Geschrieben 14. Juni 2001 Teilen Geschrieben 14. Juni 2001 weis einer wie ich zwischen den teil: // Teil 1 : Die Kundendaten werden eingegeben #include <windows.h> // für strcpy() #include <iostream.h> #include <iomanip.h> // für setiosflags und setprecision #include <stdlib.h> #include <conio.h> // für getch() int NrAutos; int NrVerkauft; int VerkauftIndex[100]; int AutoId[100]; // Identifizierungsnummer char * AutoName[100]; // Name des Fahrzeugs double AutoPreis[100]; // Preis (tatsaechlicher Preis * 100 // ein Wert von 150 bedeutet also einen // Preis von 1,50 DM void TotalSumme(); void Add( int Id, char * Name, long Preis ); void PrintVorrat(); void AddAutos(); int WaehleAuto(); void EnterAutos(); void TotalSumme(); int main() { char array[5][256]; // 5Felder mit jeweils Platz für 256 Zeichen cout << "Willkommen zum Bestellprogramm!\n\n" << "Druecken Sie eine beliebige Taste, um fortzufahren..." << endl; while (!kbhit()) // solange kbhit() nicht (!) true zurückgibt... { } system("cls"); // löscht den Bildschirm, cout << "Kundendatenerfassung: " << endl; cin.getline(array[0],256); cout << "Name des Kunden: "; cin.getline(array[0],256);//Zeigt auf anfang des Feldes 0 cout << "Strasse: "; cin.getline(array[1],256);//Zeigt auf anfang des Feldes 1 cout << "PLZ: "; cin.getline(array[2],256);//Zeigt auf anfang des Feldes 2 cout << "Wohnort: "; cin.getline(array[3],256);//Zeigt auf anfang des Feldes 3 cout << "Telefonnummer: "; cin.getline(array[4],256);//Zeigt auf anfang des Feldes 4 getch(); // warte auf beliebigen Tastendruck system("cls"); // löscht den Bildschirm, for (int i=0;i<5;i++) // SCHLEIFE // i = 0 ist i kleiner als 4 i + 1 ist i gleich oder größer als 4 beendet { cout << array[i] << endl; } cout << endl << "Druecken Sie eine beliebige Taste, um fortzufahren..." << endl; while (!kbhit()) // solange kbhit() nicht (!) true zurückgibt... { } system("cls"); // löscht den Bildschirm, AddAutos(); EnterAutos(); TotalSumme(); getch(); // Taste vorm beenden (return 0) return 0; } //Teil 2: Die bestandteile für die autos werden definiert void Add( int Id, char * Name, double Preis ) { AutoId[NrAutos] = Id; AutoName[NrAutos] = Name; // z.b. "Audi A4" AutoPreis[NrAutos] = Preis; NrAutos++; } void PrintVorrat() { int i; cout << "Bitte waehlen Sie ein Auto" << endl; for( i = 0; i < NrAutos; ++i ) cout << AutoId[i] << "\t" << AutoName[i] << "\t\t" << setprecision( 2 ) //setze presision to #.00 << setiosflags( ios::showpoint ) //erzwingen ein point-character << setiosflags( ios::fixed ) // << (AutoPreis[i]) << endl; } void AddAutos() // was int main { NrAutos = 0; Add( 1, "Audi A4", 39000.99 ); Add( 2, "Audi A6", 59000.99 ); Add( 3, "BMW M3", 79000.99 ); Add( 4, "Audi A4", 39000.99 ); Add( 5, "Audi A6", 59000.99 ); Add( 6, "BMW M3", 79000.99 ); Add( 7, "Audi A4", 39000.99 ); Add( 8, "Audi A6", 59000.99 ); Add( 9, "BMW M3", 79000.99 ); Add( 10, "Audi A4", 39000.99 ); Add( 11, "Audi A6", 59000.99 ); Add( 12, "BMW M3", 79000.99 ); Add( 13, "Audi A4", 39000.99 ); Add( 14, "Audi A6", 59000.99 ); Add( 15, "BMW M3", 79000.99 ); Add( 16, "Audi A4", 39000.99 ); Add( 17, "Audi A6", 59000.99 ); Add( 18, "BMW M3", 79000.99 ); Add( 19, "Audi A4", 39000.99 ); Add( 20, "Audi A6", 59000.99 ); Add( 21, "Audi A6", 59000.99 ); PrintVorrat(); } //Teil 3: Man kann ein Auto wählen int WaehleAuto() { int Id; int i; int Index; do { cout << "Bitte waehlen Sie aus : "; cin >> Id; Index = -1; for( i = 0; i < NrAutos; ++i ) { if( AutoId[i] == Id ) { Index = i; } } if( Index == -1 ) { cout << "Sie haben keine gueltige Auswahl getroffen! Versuchen Sie es nochmal bitte.\n"; } } while( Index == -1 ); return Index; } //Teil 4: Nun kann der Händler alles eingeben void EnterAutos() // was int main() { char Antwort; NrVerkauft = 0; do { VerkauftIndex[NrVerkauft] = WaehleAuto(); NrVerkauft++; cout << "Noch ein Fahrzeug J/N"; cin >> Antwort; } while( Antwort == 'J' || Antwort == 'j' ); } und den teil: // Teil 5: Jetzt wir alles zusammen gezählt und angezeigt was gewählt wurde void TotalSumme() { double Total; system("cls"); cout << "Sie haben ausgewahlt:\n\n"; Total = 0; for( int i = 0; i < NrVerkauft; ++i ) { cout << AutoName[VerkauftIndex[i]] << " " << setprecision( 2 ) << setiosflags( ios::showpoint ) << setiosflags( ios::fixed ) << AutoPreis[VerkauftIndex[i]] << endl; Total += AutoPreis[VerkauftIndex[i]]; } cout << "Der Gesamtbetrag betraegt " << Total << endl << endl; } angezeigt bekommen..... so das auf den letzten screen die kundendaten zusammen mit der gesammt auflistung der bestellung da stehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gicio Geschrieben 14. Juni 2001 Teilen Geschrieben 14. Juni 2001 uppppsssssss!! ich meinte natürlich zwischen den teil und den teil die kundendaten angezeigt (einbinde) bekomme. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gicio Geschrieben 14. Juni 2001 Teilen Geschrieben 14. Juni 2001 mensch........ ich habe in den letzten tage ech bemerkt, das man wirklich Viel lessen muss um was zu schafen ... ich beschäftige mich jetzt seit ca. 5 wochen mit c++ habe mir 1 buch am anfang gekauft.. dieses.: http://www.mut.de/shop/sh-info.asp?ID=3827256240 es ist zwar gut, bloss wenn man selbst zuhause was lernen will, so wie ich, kommt man mit den buch nicht weit, finde ich. zum schreiben des programms war ich mit den buch echt nicht im stande erst durch lesen von ca. 7 Tutorials in 3 sprachen war ich wie ihr gesehn habt) einieger massen im stande das program zu schreiben. ich werde mir noch trotzdem noch einiege bücher zulegen müssen!! lesst dazu bitte.: web page Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.