Loginprogramm
-
Hi,
ich hab zur Übung ein kleines Loginprogram geschrieben.
Hab ewig nach der Lösung für den Fehler gesucht, finde sie aber nicht.Hier mein Code:
#include <iostream> #include <string> using namespace std; int main() { string code(); string name(); string Username = "Thomas"; string Password = "1234"; cout << "Please enter your Name." << endl; getline(cin, name); cout << "Please enter the Password." << endl; getline(cin,code); if(code == Password and name == Username) { cout << "Welcome " << Username; } else cout << "Access denied!"; return 0; }Die Fehler liegen in Zeile 12,14 und 15.
LG,
Morlon
-
Morlon schrieb:
Die Fehler liegen in Zeile 12,14 und 15.
Nee, die liegen in Zeilen 7 und 8 (und je nachdem in 15).
-
Und was sind die Fehler?
Wäre nett wenn du dann auch sagen könntest WAS ich falsch gemacht habe^^
-
Morlon schrieb:
Und was sind die Fehler?
Wäre nett wenn du dann auch sagen könntest WAS ich falsch gemacht habe^^Stichwort: Funktionsdeklaration. Kommst du jetzt drauf?

-
Ne leider nicht^^
Hab vorher nur mit VB, Python und Ruby Programmiert.
Der Netbean-Compiler sagt es gibt ein Typ Problem.
Ist cin etwa nur für ints?
-
Nein,
cinist eine Instanz einer Klasse, welche unter anderem den>> operatorüberladen hat, sodass damit vom Standardeingabestrom in diverse Datentypen, wie int, float, std::string, gelesen werden kann. Aber damit wirst du sicher noch bekanntschaft machen
In Zeile 7 definierst du keine Variable, sondern deklarierst eine Funktion. Das heißt, du sagst dem Compiler, dass es irgendwo eine Funktion mit diesem Namen gibt und dass du diese benutzen möchtest, gibst aber noch keine konkrete Definition an. Lass einfach die Klammern weg.
-
string Username = "Thomas";Das macht genau das, was du meinst. Nämlich einen String erzeugen mit dem Inhalt Thomas.
string code(); string name();Das sieht zwar (vor allem wenn man aus Java oder so kommt so aus wie das anlegen von 2 Strings, die leer sind.
In Wirklichkeit sind das aber Deklarationen von Funktionen die code (bzw. name) heissen, keinen Parameter erwarten und einen String zurückgeben.
-
Achso!
Vielen Dank.
-
ich weiß nicht ob das mit ein fehler ist,
aber wird der Operator "and" nicht mit "&&" verwendet?
-
Nein,
andist eine Alternative zu &&, genau wie beispielsweiseor.
-
roflo schrieb:
Nein,
andist eine Alternative zu &&, genau wie beispielsweiseor.Was nicht heißen soll,
orsei eine Alternative zu&&.
-
Wieder Witzbolde unterwegs hier, vorsichtig.
-
achso