C++ Nicht deklarierte Bezeichner und Co

S

Schmauch.

Gast
Hallo,

ich habe das Problem, dass mein Code einfach einige Anweisungen überspringt und erhalte dazu einige Fehlermeldungen. Kann mir jemand helfen?

Hier der Code:

Code:
#include <iostream>
using namespace std;


int main() { 
	float km;
	int liter;
	float literPreis;

	cout << "************************************" <<endl;
	cout << "* Benzindurchschnittsverbrauch App *" <<endl;
	cout << "************************************" <<endl <<endl;

	cout << "Geben sie die gefahrenen Kilometer ein: ";
	cin >> km;

cout << "Geben sie die getankten Liter ein: "; 
	cin >> liter;

cout << "Geben sie den Preis pro Liter ein: ";  //Wird nicht ausgeführt
	cin >> literPreis;

	float schnittAuf100 = fkt_schnitt(liter, km);
	cout << "Der Durschnittsverbrauch ist "<< schnittAuf100 <<" Liter auf 100 Kilometer\n\n";

float tankPreis = fkt_tank(literPreis, liter);           //Wird nicht ausgeführt
	cout << "Ihre Tankfüllung kostet " <<tankPreis <<" €";

cout << "100 Kilometer kosten haben sie " <<schnittAuf100 * tankPreis <<" € gekostet";  //Wird nicht ausgeführt
	
	system ("pause");
	return 0;
}

int fkt_schnitt(int liter, float km) {
	float schnitt;

	schnitt = liter / km * 100;
	return schnitt;
}

int fkt_tank(float literPreis, int liter) {
	float tank;

	tank = literPreis * liter;
	return tank;
}

Hier de Fehler:

1>------ Erstellen gestartet: Projekt: Test, Konfiguration: Debug Win32 ------
1> Quelle1.cpp
(23): error C3861: "fkt_schnitt": Bezeichner wurde nicht gefunden.
(26): error C3861: "fkt_tank": Bezeichner wurde nicht gefunden.
(39): warning C4244: 'return': Konvertierung von 'float' in 'int', möglicher Datenverlust
(46): warning C4244: 'return': Konvertierung von 'float' in 'int', möglicher Datenverlust
1> Code wird generiert...
========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========
 
Entweder muss main() ans Ende der Datei oder du musst die 2 Funktionen vor main () deklarieren.

Du deklarierst schnitt und tank als float, und gibst diese Werte auch zurück, aber die Funktionen geben "int" zurück laut Deklaration. Das passt nicht zusammen.
 
Entweder definiertst du deine Funktionen in einer Header Datei oder du listest sie vor der main() Methode auf.
Der Compiler weiß an dieser Stelle nicht, dass deine Funktion im Anschluss definiert wurde.
 
Zurück
Oben