potreboval by som porad v programu, robim program pre registracie a prihlasovanie uzivatelov, mam us celkom vyriesene prihlasovanie aj zmena hesla, ale nemozem poriesit dobre pridavanie novych registracii, ako by by ste to vyriesili logicky, pomoste, skratka potrboval by som pocas behu programu vytvorit novy subor.txt, ale tak ze zadm napr JANO a mi vytvori subor JANO.txt, ked toto pojde budem rad a pojdem daal hehe, diik za radu
zdrojak: pre spravne fngovanie este treba vytvorit subor (meno.txt), alebo dajte ete to do mainu
Kód:
ofstream heslo_suboru; // deklaracia suborovej premennej - je typu ofstream
heslo_suboru.open("meno.txt"); // otvorenie suboru
heslo_suboru <<"johny";
heslo_suboru <<" "<<"1234";
heslo_suboru.close();
Kód:
//============================================================================
// 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;
}
pre windowsakov, tam et dopiiste system pauze dole, nie je nutne asi