Jump to content
H3xoR

[Medium]C++ challenge

Recommended Posts

Posted (edited)

Salut, am o provocare pentru voi.

Cerinte:

-Sa se scrie intr-un fisier numit "database.db" un nickname al unei persoane apoi sa se introduca o virgula dupa nick-ul respectiv si sa se mai scrie "true" fara ghilimele. Tinand cont de faptul ca este o baza de date, toate datele introduse trebuie sa ramana acolo chiar si dupa introducerea unui alt nickname. Daca introducem un alt nickname, se va scrie pe randum urmator.

-Sa se editeze intr-un fisier numit "database.db" acel "true", daca exista, al unui nickname, in "false". Restul datelor sa nu aiba de "suferit".

-Sa se scrie in consola nick-ul celor care au acel "true" in "database.db".

Good luck. :)

Edited by H3xoR
Posted
Unde e provocarea? Asta pare mai mult o tema la informatica.

Pai e o provocare, nu e o tema... vreau sa vad cati dintre voi sunteti buni in C++. Dupa primul "raspuns" al unei persoane, am sa adaug si sursa mea sa vedeti ca nu era o tema..

Posted

:)) Dude, cine saracia isi pierde timpul cu asta. Ai scris si 'Medium' in thread. Nu vrei sa vezi nimic, nu cred ca raspunde cineva la un test aberant de clasa a V-a

"Tinand cont de faptul ca este o baza de date" - Din descrierea ta eu vad ca e un fisier amarat. Sau te refereai la BDB ? (berkeley db)

Posted
:)) Dude, cine saracia isi pierde timpul cu asta. Ai scris si 'Medium' in thread. Nu vrei sa vezi nimic, nu cred ca raspunde cineva la un test aberant de clasa a V-a

"Tinand cont de faptul ca este o baza de date" - Din descrierea ta eu vad ca e un fisier amarat. Sau te refereai la BDB ? (berkeley db)

Daca afirmi ca e un "test aberant de clasa a V-a", sa te vad cum il rezolvi. Pana la urma e o provocare, care va simtiti in stare sa rezolvati, good luck, restul, duceti-va in "clasa a V-a".

""Tinand cont de faptul ca este o baza de date" - Din descrierea ta eu vad ca e un fisier amarat."" O baza de date poate fi considerata orice "fisier" care are o utilitate in retinerea datelor.

Posted

hai ca eu tot nu am primit tema de vacanta, am facut-o pe a ta :D Nu stiu daca are bug-uri sau merge ceva prost...am rulat de 5-6 ori doar, m-a plictisit rau, dar este exact ce am facut semestrul asta la info (structuri de date).

Daca am scris prost sunt deschis la critica

#include<iostream>

#include<windows.h>

#include<fstream>

#include<string>

#include<conio.h>

using namespace std;

struct date{

char nick[31],val[6];

}v[200]; int i=0;

void citire()

{

ifstream f("database.db");

while(!f.eof())

{

f>>v.nick; f>>v.val;

i++;

}

f.close();

}

void afisare()

{int j;

for(j=0;j<i;j++)

cout<<v[j].nick<<" "<<v[j].val<<endl;

}

void scriere()

{int j;

ofstream f("database.db");

for(j=0;j<i;j++)

f<<v[j].nick<<" "<<v[j].val<<endl;

f.close();

}

void adaugare_nick()

{char a[31],b[6]; int gasit=0,j;

ofstream f;

f.open("database.db",ios::app);

cout<<"Nickname: "; cin>>a;

cout<<"Acces: "; cin>>b;

for(j=0;j<i && gasit==0;j++)

if(!strcmp(a,v[j].nick))gasit=1;

if(gasit==0)

{

if(!stricmp(b,"TRUE") || !stricmp(b,"FALSE")){strcpy(v.nick,a); strcpy(v.val,B); f<<v.nick<<" "<<v.val<<endl; i++;}

else cout<<"valoare accesului incorecta (TRUE sau FALSE)";

}else cout<<"nickname-ul deja este inregistrat";

f.close();

}

void editare()

{int j,gasit=0; char a[31],b[6];

cout<<"Nickname: "; cin>>a;

for(j=0;j<i && gasit==0;j++)

if(!strcmp(a,v[j].nick))

{gasit=1; cout<<"acces: "; cin>>b;

if(!stricmp(b,"TRUE") || !stricmp(b,"FALSE")){strcpy(v[j].val,B); scriere();}

else cout<<"valoare accesului incorecta (TRUE sau FALSE)";

}

if(gasit==0){cout<<"Nickname-ul nu exista in baza de date!"<<endl; cout<<"reinserati datele"<<endl; editare();}

afisare();

}

int main()

{int n;

citire();

while(1)

{

system("cls");

cout<<"adaugare nickname - [1] "<<endl;

cout<<"editare acces - [2] "<<endl;

cout<<"afisare database.db - [9] "<<endl;

cout<<"inchidere program - [0] "<<endl;

cout<<"tasta: "; cin>>n;

switch(n)

{

case 1:

adaugare_nick();

getch();

break;

case 2:

editare();

getch();

break;

case 0:

return 0;

case 9:

afisare();

getch();

break;

}

}

return 0;

}

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...