PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Passwort in c/c++



DFYX
01.05.2006, 15:15
So ein paar Sachen, die ich gleich sehe:

Verwende bitte [code], das macht den Code deutlich übersichtlicher
Mach nach jedem Befehl einen Zeilenumbruch, auch zwischen cout und cin
Du kriegst einen Fehler, wenn du ein Passwort eingibst, das länger ist als 4 Zeichen, mach lieber char pw[80];
Ersetz && durch ||. && bewirkt in dem Fall, dass es reicht, wenn IRGENDEIN Buchstabe stimmt.
Der Vergleichsoperator ist == und nicht =
Soweit ich mich erinner, kann man char* nicht mit == vergleichen. Die Funktion dürfte strcmp heißen.

FF
01.05.2006, 15:25
wieso amchst du ned einfach nen string, der überprüft, ob er mit einem anderen (komplett) identisch ist, ohne die einzelnen buchstaben?
Dann brauchste 1x If, und sonst nix...

Lukas
01.05.2006, 21:19
was du mit [code] meinst weiss ich nicht so recht aber deine tipps waren auschlaggebend!Das bezieht sich hier auf's Forum. aus
#include <iostream> macht das Forum
#include <iostream>Das erhöht die Lesbarkeit des Codes (zum Einen, weil eine Monotype-Schriftart verwendet wird, zum Anderen, weil die Einrückung des Codes dadurch angezeigt wird).

o_O
06.05.2006, 20:46
WoW das haut mich um xD wie viel code... in delphi würde ich das so regeln xD



Var PW,PW2:String;
begin
PW := 'Test'; // das passwort wird halt irgendwo hergeholt
PW2 := Edit1.Text;
if PW = PW2 then
begin
ShowMessage('Die Passwörter stimmen überein =)!');
end
else
ShowMessage('Die Passwörter sind falsch..blablabla')


löl doch ein kleiner unterschied...

Crash-Override
06.05.2006, 21:45
löl doch ein kleiner unterschied...

Es gibt auch Unterschiede zwischen Beitrag und Spam du Spammer -_-"

In Delphi stekcen ne Menge mehr Asembler Befehle dahinter als du denkst, also im Endeffekt machen sie beide das Gleiche, nur das Delphi es schon "verpackt" anbietet.

Dingsi
06.05.2006, 23:00
#include <iostream>
#include <string>
using namespace std;
int main()
{
string pass = "friend", input;
cout << "Speak, friend, and enter." << endl;
cin >> input;
if(pass == input) cout << "You passed." << endl;
else cout << "Go away." << endl;
return 0;
}

Manni
07.05.2006, 08:01
using namespace std;

Was ist das für nen Variablentyp bitte? Und wieso vereinbarst (ich nehme an es ist ein Typ) namespace std als zwei Namen ohne sie im Code aufzurufen?!?!?

Hier (http://tutorial.schornboeck.net/namespace.htm) gibts Infos zu Namespaces und auch zu dem "using namespace" - das ist im Wesentlichen dazu da, dass man niczht immer std::* schreiben muss ;) (Ich hofffe ich hab die Frage richtig verstanden)




string pass = "friend", input;
cout << "Speak, friend, and enter." << endl;
cin >> input;


Das mit dem string pass = "friende",input; geht auch nicht so ganz in meinen Kopf, ich habe zwar schon mit strings gearbeitet doch sollte dann nicht auch mit Hochkommas bei


if(pass == input) gearbeitet werden?

Oder warte, ist das Obenerwähnte gar kein Typ? *totale Verwirrung am frühen morgen!"

input ist ja auch ein String, wie oben definiert wird. Bei dem if vergleichst du den Inhalt von pass und input. Würdest du pass == "input" schreiben, würdest du überprüfen, ob pass den Inhalt "inhalt" hat. Würdest du beides in Anführungszeichen schreiben, käme immer false raus, das "pass" != "inhalt".

SkullRaven
08.05.2006, 06:38
HI
Wie kann ich am besten C lernen.Oder sollte ich mit C++ anfangen?

Demonking
08.05.2006, 09:57
für sowas wurde dich suchfunktion eingerichtet oder neuen thread machen oO hättest nur bissle scrollen sollen da hat vor kurzen einer auch gefragt ...
hier (http://www.multimediaxis.de/showthread.php?t=65808&highlight=programmieren)
und zweitens solltest du shcon mit einer anderen programmiersprache erfahrung haben << sonst wirst du bei c/c++ absacken :P was du zuerst lernst ist dir freigestellt manche fangen mit C++ an andere mit C ;)

€dit: wenn du mal danach googles "Thinking in C++" kriegst du ein kostenloses ebook ;P sehr gutes aber auch auf englisch hrhr ^^

Teelicht
12.05.2006, 13:56
Außerdem hängt die Frage ob C oder C++ davon ab, was du programmieren willst, sobald du die Sprache in Ansätzen kannst (völlig können wirst du sie eh nie, das tut keiner ;) )

o_O
23.05.2006, 15:34
Na und ? Ist es nicht trotzdem einfacher in Delphi ? Is doch egal ob das verpackt ist oda nicht solange es einfacher ist -__-

Dingsi
23.05.2006, 15:54
Na und ? Ist es nicht trotzdem einfacher in Delphi ? Is doch egal ob das verpackt ist oda nicht solange es einfacher ist -__-1) Du bist in etwa eineinhalb Monate zu spät.
2) Dein Code und mein Code sind von der Logik her fast exakt gleich. O__o.
2b) Ich finde C++ wesentlich schöner als Delphi.

o_O
23.05.2006, 15:58
Der Post da oben bezieht sich nur auf den von Crash... Bei deinem Problem kann ich dir auch net helfen..

Dingsi: Sach mal wieso ?

Dingsi
23.05.2006, 16:13
Der Post da oben bezieht sich nur auf den von Crash... Bei deinem Problem kann ich dir auch net helfen..Sowas sollte man kennzeichnen, wenn zwischen dem Post auf den du dich beziehst und deinem acht andere Posts sowie eineinhalb Monate Zeit dazwischen liegen.

Dingsi: Sach mal wieso ?1) Weil du auf einen in etwa eineinhalb Monate alten Post antwortest.
2) Weil es so ist.
2b) Ich kann nichts mit vom Code separierten Variablen-Deklarationen anfangen und ich mag die Operatoren von Pascal nicht. (= als Vergleichsoperator und := als Zuweisungsoperator :B, ja, Mathematisch vielleicht korrekt, aber beim Coden kann ich damit nichts anfangen)
Das dürfte auch daran liegen, dass ich mit C-artiger Syntax (PHP, dann C++) angefangen hab Programmieren zu lernen und nicht mit Pascal-artiger.

Ineluki
23.05.2006, 18:41
Musst du das Problem mit selbstgeschriebenen verketteten Listen loesen, oder musst du nur C++ verwenden. Fuer sowas gibt es naemlich bei C++ die STL Standard Template Library, die Teil des C++ Sprachumfangs ist. Da sind solche Dinge schon vordefiniert und einfach zu benutzen, wenn man mal durchgestiegen ist. Folche sachen wie das suchen eines Elementes oder das Sortieren von Listen sind schon forgefertigt.

An deiner Stelle wuerde ich, wenn du darfst, den listentyp vector<typ> benutzen.

Ineluki
24.05.2006, 11:14
Hm .. mit dem Borland C++ Compiler hab ich nie gearbeitet. Ich wuerde deinem Leherer empfehlen auf den gcc mit Dev-C++ umzusteigen. (In) Der gcc ist sozusagen DER Referenz-C++ Compiler. Dann habt ihr am wenigsten Probleme mit Bibliotheken.

Versuche einfach mal ein

#include <vector>

Wenn das klappt, unterstuetzt der C++ compiler die STL, und du kannst deren Listen verwenden ...

Ineluki
25.05.2006, 15:27
Hab ich doch schon ...

Dev-C++ .. ein Link zur Homepage steht im "Lies mich zuerst" Thread (http://www.multimediaxis.de/showthread.php?t=20194)

Dingsi
25.05.2006, 16:47
Ja, armer Ineluki, kalr hast du schon nur der Jack war zu doof das zu sehen...

Aber ich habe mir jetzt Dec-C mal runtergeladen und gleich ausprobiert. Aufeinmal kommen an die 10 Compilerfehler in Programmen, die vorher liefen, so etwas wie gotoxy, cout etc. is undeclared?! aber warum denn nur?, Was hab ich dem Programm denn getan?gotoxy definiert in conio.h ist Befehl einer ein non-standard Bibliothek von Borland. Da du mit Dev-C++ höchstwahrscheinlich einen anderen Compiler (GCC/G++) mit anderer Bibliothek benutzt kannst du conio dort nicht benutzen.
cout gehört zur C++-Standard-Bibliothek. Hast du vielleicht den Namespace der STL nicht eingebunden? -> using namespace std;

Ineluki
30.05.2006, 10:35
Diese Bibliothek ist keine Standardbibliothek fuer C/C++
Deswegen gibt es die nicht.

Wie gesagt, ich wuerde auf die NCurses Bibliothek umsteigen, die ist wenigstens Plattformunabhaengig im Gegensatz zu der conio.h
Bei Dev-C++ gibt es eine Update funktion, bei der man auch fremde Pakete installieren kann. Vielleicht wirst du dort ja fuendig.