Frage zu meinem Code (Berechnungen nicht beeinflussen)



  • cancelled



  • Man packt aber in '' nur einzelne Zeichen. Strings packt man in "". Und dann hast Du ein Array von 400 Zeichen, eigentlich willst Du aber doch ein Array von 3 Strings. Also ein Array von drei char-Arrays:

    const char* laender[] = {"Land1", "Land2", "Land3"};
    

    Das mit der Codeformatierung stimmt leider.

    Auch bzgl. der Arrays hat umpf Recht. 🙂

    Und Deine Ausgangsfrage verstehe ich nicht: Inwiefern würde das Zielland Deine Berechnungen denn beeinflussen? Wieso kann die Frage nach dem Zielland, wenn es die Rechnungen beeinflusst, nicht vor diesen geschehen?



  • Wenn du mit char-Arrays in C nicht klarkommst, nimm die string-Klasse von C++
    Schliesslich hast du ja unter C++ gefragt! 🕶



  • wisnia schrieb:

    [cpp]

    cout << "Druecken Sie 1 fuer Deutsch, press 2 for english language, 3 jezik polsik, 4 language francaise " << endl;

    Es heißt "jęzYk polski" 😃 😃 😃



  • Und dann heißt es noch langue française.



  • in zweiter näherung könnte dein programm so aussehen:

    #include <iostream>
    using namespace std;
    
    int main ( void )
    {
        const int anzahl_kategoriepreise = 3;
        const int anzahl_laenderpreise = 3;
    	int kategoriepreis_auswahl[anzahl_kategoriepreise] = { 100, 200, 300 };
    	int laenderpreis_auswahl[anzahl_kategoriepreise] = { 100, 200, 300 };
    
    	int kategoriepreis = 0;
    	int laenderpreis = 0;
    	int auswahl = 0;
    	int kundenkarte = 0;
    	int summe = 0;  
    	int geld = 0;
    
    	/*  Auskommentiert weil bisher ohne Funktion.
    	char Europa [400]= {'Andora', 'Austria', 'Belgia'};
    	cout << "Druecken Sie 1 fuer Deutsch, press 2 for english language, 3 jezik polsik, 4 language francaise " << endl;
        cin >> sprache;
    	*/
    
    	cout << "1 fuer ein EconomicClass: " << endl;
    	cout << "2 fuer ein Businessclass: " << endl;
    	cout << "3 fuer eine FirstClass: " << endl;
     	cin >> auswahl;
    	if ( auswahl >= 1 && auswahl <= anzahl_kategoriepreise )
    		kategoriepreis = kategoriepreis_auswahl[auswahl-1];
    	else
    		return 0;
    
    	cout << "1 fuer Europa: " << endl;
    	cout << "2 fuer Afrika: " << endl;
    	cout << "3 fuer Asien: " << endl;              
     	cin >> auswahl;
    	if ( auswahl >= 1 && auswahl <= anzahl_kategoriepreise )
    		laenderpreis = laenderpreis_auswahl[auswahl-1];
    	else
    		return 0;
    
    	cout << "Haben Sie eine Kundenkarte?" << endl << "1 fuer ja, 2 fuer nein: " << endl;
    	cin >> kundenkarte;
    	summe = kategoriepreis + laenderpreis;
    
    	if ( 1 == kundenkarte ) 
    		summe = summe - 30;
    
    	cout << "Ihr Ticket kostet: " << summe << " Euro." << endl;
    	cout << "Bitte geben Sie Geld ein: ";
    
    	while ( summe > geld )
    	{  
    		int eingegebenes_geld = 0;
    
    		cin >> eingegebenes_geld;
    		geld += eingegebenes_geld;
    
    		if ( summe > geld )
    		{
    			cout << "Es fehlen noch: " << summe - geld << " Euro." << endl;
    			cout << "Bitte geben Sie Geld ein: ";
    		}
    	}                    
    
    	if ( geld > summe )
    		cout << "Vielen Dank! Sie bekommen noch: " << geld - summe << " Euro zurueck." << endl; 
    
    	system ( "Pause" );
    	return 0;
    }
    

    es fehlen noch abfragen, ob auch wirklich zahlen und keine anderen zeichen eingegeben wurden, damit wäre auch

    wisnia schrieb:

    Ich will einfach nur den Kunden auffordern, sein Zielland einzugeben, ohne dass die Berechnungen verändert werden.

    beantwortet.
    und lies dir dringend ein kapitel über codeeinrückung durch!



  • fred++ schrieb:

    und lies dir dringend ein kapitel über codeeinrückung durch!

    Oder besser immer vor dem Posten (unter der Annhame, daß MSVC benutzt wird) mal Strg+A gefolgt von Alt+F8 drücken.



  • geschlossen



  • z.b. eingabe in einen string einlesen und jedes zeichen checken.



  • cancelled



  • andora, austria, belgia sind als zielland schon in ordnung. 🤡
    da du offensichtlich keine lust hast an der qualität deines codes zu arbeiten und immer wieder denselben müll hier reinrotzst, habe ich auch keine lust mehr dir zu helfen. 🙂
    vllt. noch einen letzten tipp meinerseits:
    es wäre besser code zu posten, der sich kompilieren lässt, dann ist die wahrscheinlichkeit größer, dass dir jemand hilft.



  • geschlossen


Anmelden zum Antworten