zdrojak: pre spravne fungovanie este treba vytvorit subor (meno.txt), alebo dajte ete to do mainu
Kód: Vybrať všetko
ofstream heslo_suboru; // deklaracia suborovej premennej
heslo_suboru.open("meno.txt"); // otvorenie suboru
heslo_suboru <<"johny";
heslo_suboru <<" "<<"1234";
heslo_suboru.close();
Kód: Vybrať všetko
//============================================================================
// Name : heslo.cpp
// Author : johny
// Version :
// Copyright : Your copyright notice
// Description : Heslo C++, Ansi-style
//============================================================================
#include <iostream>
#include <cstdlib>
#include <fstream.h>
using namespace std;
void Hlavna_heslo();
void Editacia_hesla();
int main();
void Uvitacie_menu();
void Nova_registracia();
string Overenie_hesla(string heslo, string meno);
//hukcia pre overenie mena a hesla
string Overenie_hesla(string heslo, string meno)
{
string ulozene_meno;
string ulozene_heslo;
//cita zo suborov meno a heslo
ifstream meno_suboru2;
meno_suboru2.open("meno.txt");
meno_suboru2 >> ulozene_meno;
meno_suboru2 >> ulozene_heslo;
meno_suboru2.close();
/*
ifstream heslo_suboru2;
heslo_suboru2.open("heslo.txt");
heslo_suboru2 >> ulozene_heslo;
heslo_suboru2.close();
*/
//koniec citania
if (ulozene_meno==meno)
{
if (ulozene_heslo==heslo)
{
cout<<"Heslo bolo spravne \n";
cout <<endl;
main();
}
else
{
cout<<"Vami zadane heslo bolo nespravne \n";
Hlavna_heslo();
}
}
else
{
cout<<"Vami zadane heslo alebo meno bolo nespravne \n";
Hlavna_heslo();
}
//============================================================================ //============================================================================
return heslo;
}
void Hlavna_heslo() //hunkcia pre zadanie mena a hesla
{
string b, d, exit;
exit="exit";
cout <<endl;
cout << "Zadaj Meno:\t";
cin >>d;
if (d==exit)
{
cout<<"papaaaaa \n";
}
else
{
cout << endl;
cout << "Zadaj heslo:\t";
cin >>b;
if (b==exit)
{
cout<<"papaaaaa \n";
}
else
{
Overenie_hesla(b, d);
}
}
}
void Editacia_hesla() //zmena hesla
{
string ulozene_meno2;
string ulozene_heslo2;
string povodne_heslo;
string zmena_hesla;
string potvrtdenie_hesla;
string zadaj_meno, pommeno;
string doc;
doc="johny.txt";
//cita zo suborov meno a heslo
ifstream meno_suboru2;
meno_suboru2.open("meno.txt");
meno_suboru2 >> ulozene_meno2;
meno_suboru2 >> ulozene_heslo2;
meno_suboru2.close();
/*
ifstream heslo_suboru2;
heslo_suboru2.open("heslo.txt");
if(heslo_suboru.good())
heslo_suboru2 >> ulozene_heslo2;
heslo_suboru2.close();
*/
//koniec citania
do
{
cout <<endl;
cout << "Zadaj Meno\t:";
cin >>zadaj_meno;
cout<<"Zadaj heslo\t:";
cin >>povodne_heslo;
cout <<endl;
if ((povodne_heslo==ulozene_heslo2) && (zadaj_meno==ulozene_meno2)) //porovnava stare heslo z novym zo suboru
{
cout<<"Zadaj nove heslo\t:";
cin >>zmena_hesla;
cout<<"Potvrdte nove heslo\t:";
cin >>potvrtdenie_hesla;
cout <<endl;
if (zmena_hesla==potvrtdenie_hesla)
{
//zmeni heslo zapisanim do suuboru
ofstream heslo_suboru; // deklaracia suborovej premennej - je typu ofstream
heslo_suboru.open("meno.txt"); // otvorenie suboru
heslo_suboru <<ulozene_meno2;
heslo_suboru <<" "<<zmena_hesla;
heslo_suboru.close();
cout <<endl;
cout<<"A teraz sa mozete prihlasit s novym heslom";
cout <<endl;
cout <<"Pre ukoncenie napis pocas prihlasovana ""exit""\n";
cout <<endl;
Hlavna_heslo();
}
else
{
cout<<"Nespravne ste potvrdili heslo\n";
}
}
else
{
cout<<"Nespravne ste zadali meno alebo heslo heslo\n";
}
}while ((povodne_heslo!=ulozene_heslo2)
or (zmena_hesla!=potvrtdenie_hesla) or (zadaj_meno!=ulozene_meno2));
}
void Nova_registracia()
{
}
void Uvitacie_menu()
{
char g;
cout<<"1. Prihlasit sa do systemu\n";
cout<<"2. Zmenit heslo\n";
cout<<"3. Nova registracia\t"<<"volba::";
do
{ //zaciatok cyklu, ochrana pri nespravnom vybere
cin>>g;
if ((g!='1') && (g!='2') && (g!='3'))
{ //podmienka if pre nespravny vyber
cout<<"Zadaj 1 alebo 2:\t"<<"volba::";
}
} while ((g!='1') && (g!='2') && (g!='3'));
cout <<endl;
switch (g)
// switch s parametrom r, kt nadobuda hodnoty
{ //zaciatok switchu
case '1': //prva moznost
cout <<"Pre ukoncenie napis pocas prihlasovana " "exit" "\n";
Hlavna_heslo();
break; //ukoncenie
case '2':
Editacia_hesla();
break; // ukoncenie
case '3':
{
cout<<"Momentalne nedostupne";
cout<< endl;
main();
}
break; // ukoncenie
default: //ak sa zada ina hodnota v switchi
cout << "Zle zadanie!";
}
}
int main()
{
Uvitacie_menu();
return 0;
}