Liebesrechner

Du musst die anderen IFs in die Funktion uebereinstimmung() schreiben und zum schluss das return setzen.
 
#include <iostream>
#include <string>
#include <stdlib.h>

int uebereinstimmung()
{
std::string name1;
std::string name2;
int prozent = 0;
std::cout << "Name1 eingeben: " ;
std::cin >> name1;
std::cout << "Name2 eingeben: " ;
std::cin >> name2;

if (name1[0] == name2[0])
{
prozent = prozent + 10;
}
{
if (name1[1] == name2[1])
{
prozent = prozent + 10;
}
{
if (name1[2] == name2[2])
{
prozent = prozent + 10;
}
{
if (name1[3] == name2[3])
{
prozent = prozent + 10;
}
{
if (name1[4] == name2[4])
{
prozent = prozent + 10;
}
return prozent;
}

void main()
{
int n;
for (n = 1; n > 0; n++)
{
int prozente;
prozente = uebereinstimmung();
std::cout << "Uebereinstimmung: " << prozente << "%" << std::endl;
}
}
}
}
}
}

hab nur noch einen fehler
Compiling...
Liebesrechner.cpp
D:\Visual Basic 6.0\MSDev98\MyProjects\Liebesrechner.cpp(43) : error C2601: 'main' : local function definitions are illegal
Error executing cl.exe.

was soll ich jetzt machen?
 
@IceMan2oo4

Benutze bitte mal die CODE Tags hier im Forum, deinen Code kann kein "Schwein" lesen... und du am aller wenigsten !

Was sollen den unter der main die 4 "zu" Klammern (Die geben auf jeden Fall einen Fehler im Compiler !)
 
mit int main funktioniert es auch net
Code:
#include <iostream>
#include <string>
#include <stdlib.h>
int uebereinstimmung()
{
std::string name1;
std::string name2;
int prozent = 0;
std::cout << "Name1 eingeben: " ;
std::cin >> name1;
std::cout << "Name2 eingeben: " ;
std::cin >> name2;
if (name1[0] == name2[0])
{
prozent = prozent + 10;
}
{
if (name1[1] == name2[1])
{
prozent = prozent + 10;
}
{
if (name1[2] == name2[2])
{
prozent = prozent + 10;
}
{
if (name1[3] == name2[3])
{
prozent = prozent + 10;
} 
{
if (name1[4] == name2[4])
{
prozent = prozent + 10;
} 
return prozent;
}
int main()
{
int n;
for (n = 1; n > 0; n++)
{
int prozente;
prozente = uebereinstimmung();
std::cout << "Uebereinstimmung: " << prozente << "%" << std::endl;
} 
}
}
}
}
}
immer noch der selbe fehler
@MFC es kommt fehler wenn ich die 4 klammer nicht setze
 
Mensch Leute, könnt ihr eigentlich nich lesen....
D:\Visual Basic 6.0\MSDev98\MyProjects\Liebesrechner.cpp(43) : error C2601: 'main' : local function definitions are illegal

... Das heißt, das mindestens eine { noch nicht durch eine entsprechende } geschlossen wurde.
 
moin


Oh mein Gott.....

Code:
#include <iostream>
#include <string>
#include <stdlib.h>
int uebereinstimmung()
{
std::string name1;
std::string name2;
int prozent = 0;
std::cout << "Name1 eingeben: " ;
std::cin >> name1;
std::cout << "Name2 eingeben: " ;
std::cin >> name2;
if (name1[0] == name2[0])
{
prozent = prozent + 10;
}
{     // zuviel
if (name1[1] == name2[1])
{
prozent = prozent + 10;
}
{     // zuviel
if (name1[2] == name2[2])
{
prozent = prozent + 10;
}
{     // zuviel
if (name1[3] == name2[3])
{
prozent = prozent + 10;
} 
{     // zuviel
if (name1[4] == name2[4])
{
prozent = prozent + 10;
} 
return prozent;
}
int main()
{
int n;
for (n = 1; n > 0; n++)
{
int prozente;
prozente = uebereinstimmung();
std::cout << "Uebereinstimmung: " << prozente << "%" << std::endl;
} 
}
}     // zuviel
}     // zuviel
}     // zuviel
}     // zuviel

Der Compiler wird denken das alles eine Funktion ist.

Anscheinend fehlt dir jedliches Grundwissen!


mfg
umbrasaxum
 
lol, bis dahin bin ich gar nicht mit Lesen gekommen....
Die Klammern, die er vor der main nicht geschlossen hat, hat er wohl dahinter nachgeholt (und einige dazu...).

Naja, kann man ja mal übersehen....
Wenn du mit ordentlichem Einrücken (was ja VS normalerweise automatisch für dich macht) arbeiten würdest, würde das aber nicht vorkommen....

Außerdem solltest du noch lernen, dein Programm etwas dynamischer zu gestalten...
hier stellst du eine if-Abfrage für jeden einzelnen zu überprüfenden Buchstaben in den Code (und riskierst dabei btw Bufferüberläufe). Warst du schon in dem Kapitel, wo es um Schleifen ging? Wenn nicht, würde ich dir raten, schleunigst bis dahin zu lesen, sonst ... naja .... egal ..... sonst machst du so weiter und gewöhnst dir das noch an...
 
Beichtpfarrer hat gesagt.:
Die Klammern, die er vor der main nicht geschlossen hat, hat er wohl dahinter nachgeholt (und einige dazu...).
Hast recht, jetzt im Compiler sehe ich das auch, ist ja GEIL. Mal vor dem IF eine Klammer auf, mal dort, mal hier...

Eine DOS Anwendung (a la Hello World) wäre echt besser für dich, IceMan2oo4

Also eine if sieht so aus :

if(Bedingung1 == Bedingung2)
{
Mache was du sollst...
}


Schnapp dir mal ein C Buch und schau dir das mal in den Beispielen an, dann verstehst du das sicherlich besser als wenn du dir hier auf Zeitkosten von anderen ein Programm schreiben läßt.
 
Zurück