H3xoR Posted December 23, 2011 Report Posted December 23, 2011 (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 December 23, 2011 by H3xoR Quote
Nytro Posted December 23, 2011 Report Posted December 23, 2011 Unde e provocarea? Asta pare mai mult o tema la informatica. Quote
H3xoR Posted December 23, 2011 Author Report Posted December 23, 2011 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.. Quote
aelius Posted December 23, 2011 Report Posted December 23, 2011 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) Quote
H3xoR Posted December 23, 2011 Author Report Posted December 23, 2011 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. Quote
H3xoR Posted December 23, 2011 Author Report Posted December 23, 2011 Mutati topicul unde vreti, eu doar v-am provocat.. pana acum, nici un raspuns corect Quote
passfig Posted December 23, 2011 Report Posted December 23, 2011 hai ca eu tot nu am primit tema de vacanta, am facut-o pe a ta 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,; 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,; 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;} Quote