Security

Status
Niet open voor verdere reacties.

Hertebeest

Gebruiker
Lid geworden
10 mrt 2007
Berichten
37
Ik ben een klein programmaatje in elkaar aan het fixen alleen het lukt nog niet echt hard, ik krijg rare errors.

Code:
#include <cstdlib>
#include <iostream>

#include <iostream.h> 
#include <windows.h> 
#include <stdio.h> 
#include <conio.h> 
#include <iomanip.h> 
#include <string.h> 

int main() 
{ 
int keuze; 
long num1; 
long num2; 
char count; 
long som; 
char yesno;
int pass; 


menu: 
system("cls"); 

cout << "1. Usernames, passwords en pins" << endl;
cout << "2. Hint" << endl;
cout << "3. Exit" << endl;
cout << "\n" << endl;
cout << "Maak je keuze" << endl;
cout << "---> ";
cin >> keuze;

if (keuze == 1)
{
          goto passwords;
          }
          if (keuze == 2)
          {
                    goto hint;
                    }
                    if (keuze == 3)
{
          goto exit;
          }
                    

passwords: //Het gedeelte waar het prog je vraagt om een pass en een user om erin te komen
system("cls");

string pw, usrnm;

    cout << "Password alsjeblieft.\n";
    cin >> pw;

    cout << "Username alsjeblieft.\n";
    cin >> usrnm;

    if (pw=="password" && usrnm == "gebruiker");
    {
                         goto usernames;
                         }
    
    if (pw != "password" || usrnm != "gebruiker");
    cout << "Sorry, je mag er niet in\n";
    
    system ("pause");
    return 0;
    
    usernames: //Hier zijn de usernames, passes en pins opgeslagen
    system("cls");
    
    cout << "ff gewoon" << endl;
    
    hint: //Hier kun je om een hint voor je pass vragen
    system("cls");
    cout << "ff gewoon2" << endl;
    
    exit: //Stop het programma
    return 0;

                    


}
 
Code:
int keuze;
long num1;
long num2;
char count;
long som;
char yesno;
int pass;
string pw, usrnm;

menu:
system("cls");

cout << "1. Usernames, passwords en pins" << endl;
cout << "2. Hint" << endl;
cout << "3. Exit" << endl;
cout << "\n" << endl;
cout << "Maak je keuze" << endl;
cout << "---> ";
cin >> keuze;

if (keuze == 1)
{
          goto passwords;
          }
          if (keuze == 2)
          {
                    goto hint;
                    }
                    if (keuze == 3)
{
          goto exit;
          }


passwords: //Het gedeelte waar het prog je vraagt om een pass en een user om erin te komen
system("cls");



    cout << "Password alsjeblieft.\n";
    cin >> pw;

    cout << "Username alsjeblieft.\n";
    cin >> usrnm;

    if (pw=="password" && usrnm == "gebruiker")
    {
                         goto usernames;
                         }

    cout << "Sorry, je mag er niet in\n";

    system ("pause");
    return 0;

    usernames: //Hier zijn de usernames, passes en pins opgeslagen
    system("cls");

    cout << "ff gewoon" << endl;

    hint: //Hier kun je om een hint voor je pass vragen
    system("cls");
    cout << "ff gewoon2" << endl;

    exit: //Stop het programma
    return 0;

}

string pw en username, zijn in JOUW geval , gedeclareerd in een stuk waar de goto hint; "over springt", als je dan via daar naar hint: "springt", dan zijn username en password NIET geinitialiseerd (ze bestaan niet). , als ze in 'hint:' niet gebruikt gaan worden is het geen probleem normaal.

je had ook een ; achter if (pw=="password" && usrnm == "gebruiker"), waardoor het een ongeldige vergelijking is, en de if vergelijking daaronder was niet nodig, want als hij niet gelijk is aan "password en "gebruiker", is hij dat dus gewoon... niet, daar moet je geen extra test voor doen!.

ook raad ik je af Goto's te gebruiken, vooral als je nog maar pas c++ aan het leren bent.
 
Laatst bewerkt:
Oke, ik heb er een beetje aan gewerkt en mn prog werkt perfect, Ik post hier natuurlijk niet mijn passwords, usernames en pins. Die kun je er zelf in programmeren maar ik wil wel laten zien hoe ik het heb gedaan.

Code:
#include <cstdlib>
#include <iostream>

#include <iostream.h> 
#include <windows.h> 
#include <stdio.h> 
#include <conio.h> 
#include <iomanip.h> 
#include <string.h> 

using namespace std;

int main() 
{
    menu:
         
    string usrnm, pw, pin, maybe, choice;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);
    cout << "Interface\n\n";
    cout << "1. Usernames, passwords & pins.\n";
    cout << "2. Hint.\n";
    cout << "3. Exit.\n\n";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_GREEN);
    cout << "---> ";
    
    cin >> choice;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN); 
    if ( choice == "1")
    {
                system ("cls");
                cout << "Gebruikersnaam alsjeblieft.\n";
                cin >> usrnm;
                
                
                cout << "Paswoord alsjeblieft\n";
                cin >> pw;
                system ("cls");
                
                
                if ( usrnm == "gebruiker" && pw == "password")
                {
                     (Hier je gebruikernaam, pass, pins etc...)
                     }
                
                if ( usrnm != "gebruiker" || pw != "password")
                {
                     cout << "Sorry, foute info.";
                     }
    }
                     
    if ( choice == "2" )
    {
         system ("cls");
                 cout << "(je hint hier)\n\n\n\n";
                 system("PAUSE");
                 system("cls");
                 goto menu;
                 
                 
                           }
                           
                 if (choice == "3")
                 {
                 return 0;
                 }
                 system("PAUSE");
                 return EXIT_SUCCESS;
}
 
Code:
                if ( usrnm == "gebruiker" && pw == "password")
                {
                     (Hier je gebruikernaam, pass, pins etc...)
                     }

[B]                if ( usrnm != "gebruiker" || pw != "password")
                {
                     cout << "Sorry, foute info.";[/B]
                     }

ik snap niet waarom je nog eens wilt vergelijken of username niet gelijk is aan "gebruiker" en password niet gelijk aan "password"

dat hoeft toch helemaal niet? als usrnm == "gebruiker" && pw == "password" dan is toch alles goed en voert ie de code in dat blok uit, anders gaat ie verder, als ie bij jou verder gaat gaat ie eerst NOG EENS checken of usrnm != "gebruiker" || pw != "password
waarom? als het username en passwoord fout was dan skipte hij toch zoiezo het vorige blok, dan kan je inplaats van

Code:
if ( usrnm != "gebruiker" || pw != "password")
                {
                     cout << "Sorry, foute info.";[/B]
                 }

toch gewoon

Code:
cout << "Sorry, foute info.";

doen?
=>
Code:
if ( usrnm == "gebruiker" && pw == "password")
                {
                     (Hier je gebruikernaam, pass, pins etc...)
                }
                    
cout << "Sorry, foute info.";
 
Ja ik weet het, alleen het is een gewoonte van me geworden om elk stukje nog even extra te initialiseren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan