Bismark
Erfahrenes Mitglied
Hallo Leute,
ich habe ein Progarmm geschrieben, dass die Daten einiger Biathlonläufer aufnimt und ausgibt.
Hier der Quelltext:
Bei mir kommt als Fehler folgendes (die stelle ist Rot markiert):
error C2678: Binärer Operator '==': Es konnte kein Operator gefunden werden, der einen linksseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)
Ich bitte um Hilfe
ich habe ein Progarmm geschrieben, dass die Daten einiger Biathlonläufer aufnimt und ausgibt.
Hier der Quelltext:
Code:
#include <conio.h>
#include <iostream>
#include <string>
#include <iomanip>
#include "conioex.h"
using namespace std;
const int pers = 3;
struct mensch // Definition Struckt
{
string nachname;
string vorname;
char gesch;
int sta_nr;
float schwi_nr;
float rad_nr;
float lauf_nr;
float gesamt_nr;
};
mensch liste [pers];
void eingabe(mensch liste[pers]); //Fkt. Eingabe Prototyp
void ausgabe(mensch liste[pers]);
int main() // #### Hauptprogramm ####
{
char meüwahl;
do
{
system("cls");
cout<<"<1> Eingabe der Personendaten"<<endl;
cout<<"<2> Ausgabe des Datensatzes"<<endl;
cout<<"<3> Eingabe der Schwimmzeit"<<endl;
cout<<"<4> Eingabe der Radzeit"<<endl;
cout<<"<5> Eingabe der Laufzeit"<<endl;
cout<<"<#> Programm Ende"<<endl<<endl;
cout<<"ihre Wahl ==> ";
cin>>meüwahl;
switch (meüwahl)
{
case '1': eingabe(liste);break;
case '2': ausgabe(liste);break;
}
}
while (meüwahl != '#' && meüwahl < 1 && meüwahl > 5);
system("PAUSE");
return 0;
}
void eingabe(mensch liste[pers]) //Fkt. Definition
{
int x = 0;
char antwort;
do
{
cout<<"Geben Sie den Nachname ein: ";
cin>>liste[x].nachname;
cout<<"Geben Sie den Vorname ein: ";
cin>>liste[x].vorname;
cout<<"Geben Sie den Geschlecht ein (m/w: ";
cin>>liste[x].gesch;
cout<<"Geben Sie die Startnr. ein: ";
cin>>liste[x].sta_nr;
liste[x].schwi_nr = 0;
liste[x].rad_nr = 0;
liste[x].lauf_nr = 0;
liste[x].gesamt_nr = 0;
cout<<endl<<endl;
system("cls");
x++;
}
while (x == pers);
} // #### Ende Fkt. eingabe
void ausgabe(mensch liste[pers]) //Fkt. augabe
{
int y = 0;
string startnr_prüf;
cout<<"Geben Sie die Startnummer ein";
cin>>startnr_prüf;
do
{
if (startnr_prüf == liste[y].sta_nr)
{
cout<<liste[y].nachname;
cout<<liste[y].vorname;
cout<<liste[y].gesch;
cout<<liste[y].sta_nr;
cout<<liste[y].schwi_nr;
cout<<liste[y].rad_nr;
cout<<liste[y].lauf_nr;
cout<<liste[y].gesamt_nr;
}
y++;
}
while (y < pers);
}
Bei mir kommt als Fehler folgendes (die stelle ist Rot markiert):
error C2678: Binärer Operator '==': Es konnte kein Operator gefunden werden, der einen linksseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)
Ich bitte um Hilfe
Zuletzt bearbeitet: