Cum fac o agenda in c++?
#1
Posted 18 March 2014 - 17:41
Am o problema care suna cam asa:
Sa se scrie un program care citeste de la tastatura un numar natural n (n≤200), apoi numele si numarul de telefon ale n persoane. Programul va crea o agenda telefonica in care vor retine informatiile afisate in ordinea alfabetica a numelor persoanelor. Dupa crearea agendei telefonice, programul va citi de la tastatura numele unei persoane, apoi va cauta persoana in agenda. Daca persoana va fi gasita, se va afisa pe un ecran numarul ei de telefon, astfel se va afisa un mesaj de eroare. Am cautat cate ceva pe net am incercat si eu ceva , dar pe net primesc niste explicatii mult prea complicate pentru mine, doar ce am inceput sa folosesc C++, deci nu stiu mai nimic. scriu acel program , dar cum il fac sa retina in ordine alfabetica, dar mai ales cum ii va gasi ... Sunt in ceata totala. Va rog sa imi dati o idee. Va multumesc! |
#2
Posted 18 March 2014 - 17:44
Daca vrei sa salvezi datele va trebui sa inveti lucrul cu fisierele. Altfel totul in memorie, intr-un vector/matrice. Despre ordonare/sortare ar trebui sa fi facut algoritmi sau chiar si tu poti imagina unul muncitoresc.
Edited by neagu_laurentiu, 18 March 2014 - 17:45. |
#3
Posted 18 March 2014 - 17:48
deci ar trebui sa il pot incropa din vectori, matrici?
o sa mai incerc... eventual mai intreb pe parcurs. |
#4
Posted 18 March 2014 - 17:49
Ati studiat pointerii ? Nu cred. Si nici baze de date nu stii sa folosesti.
|
#5
Posted 18 March 2014 - 17:50
am facut pointeri, dar baze de date nu.
Edited by DobreMarius, 18 March 2014 - 17:50. |
#7
Posted 18 March 2014 - 19:04
Sau o metoda ar mai fi:
- o structura de date in care retii ca variabile numele,prenumele , numarul de telefon; http://info64.ro/Str...de_date-Uniuni/ - clar ca iti va trebui un fisier in care sa retii numele prenumele si numarul de telefoin,desigur citite de la tastatura,dar in fisier; - acest program are nevoi de functii.Daca il faci in mainiti va fii greu sa urmaresti,mai ales fiind incepator,o sa ai greseli; - poti avea ca functii de exemplu: o functie pt citire,una ptr afisare,una ptr sortare etc... - ptr sortare foloseste cu incredere bubble sort , sau niste functi de pe la siruri de caractere; Bubble sort,eu de aici l-am invatat si inteles ptr prima oara: [ https://www.youtube-nocookie.com/embed/lyZQPjUT5B4?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] - @neagu_laurentiu , nu cred ca au facut liste...abia le-am facut eu si sunt la sfarsitul clasei a 11-a - afisarea in ordine alfabetica , la fel , functii de la siruri de caractere.STRCMP parca era cea de comparare L.E: am uitat sa precizez ca variabilele din structura vor fii de tip char(sir de caractere) Edited by stefanutz13, 18 March 2014 - 19:09. |
#8
Posted 18 March 2014 - 19:07
stefanutz13, on 18 martie 2014 - 19:04, said:
nu cred ca au facut liste...abia le-am facut eu si sunt la sfarsitul clasei a 11-a Edited by neagu_laurentiu, 18 March 2014 - 19:08. |
#9
Posted 18 March 2014 - 19:14
neagu_laurentiu, on 18 martie 2014 - 19:07, said:
El s-a laudat. Iar daca a inteles notiunea de pointer atunci poate pune in practica. Desi nu ma indoiesc la cum a formulat toata povestea. Notiunea de pointer am inteles-o si eu intr-un fel in clasa 10-a,si am inteles-o in alt fel in clasa 11-a.Acum stiu ce e o adresa , cand isi schimba valoare si cand nu.Depinde si ce gandire are.Si chiar daca ii pui lista facuta in brate,daca vede -> in loc de . , gata e zero barat )). Edited by stefanutz13, 18 March 2014 - 19:15. |
#10
Posted 18 March 2014 - 19:16
Nu merge cu am inteles pe jumatate, ori alba ori neagra in lumea calculatoarelor.
Edited by neagu_laurentiu, 18 March 2014 - 19:16. |
|
#11
Posted 18 March 2014 - 19:43
#12
Posted 18 March 2014 - 20:12
neagu_laurentiu, on 18 martie 2014 - 19:16, said:
Nu merge cu am inteles pe jumatate, ori alba ori neagra in lumea calculatoarelor. Așa e, dar în clasa a 10-a s-ar putea să nu-ți dai încă seama că ești încă la gri. Depinde și de el, și de cât/cum explică profesorul la clasă, etc... Că dacă profesorul îți zice, de ex, că nu poți sorta un vector decât prin bubble sort, cam tinzi să-l crezi la nivelul ăla - iar dacă zice că sunt mulți alți algoritmi de sortare mai eficienți, cei mai mofturoși vor zice ”păi de ce nu ni-l predă pe cel mai bun, și gata, să nu ne mai toace la cap cu astea proaste”, fără să-și dea seama, la nivel de clasa a 10-a, că nu există ”cel mai bun” universal. Părerea mea. |
#13
Posted 18 March 2014 - 20:27
M-am gandit la o solutie fara liste si baze de date. Poti sa definesti o matrice de structuri ca:
struct Agenda { char nume[30]; int numar; } a[200]; Agenda va folosi toate 200 intrarile sau mai putine. Trebuie sa ai functii de adaugare, stergere, cautare si listare matrice de structuri. Vazusem pe youtube un filmulet cu o asa agenda. Cred ca functiona cu bucla do while ce prezenta un mediu de genul: 1. Add a contact 2. Delete a contact 3. Search a contact 4. List every contact 5. Exit Si in functie de numarul selectat apela cate o functie. Cu solutia asta nu trebuie sa lucrezi cu liste. Daca sa faci programul exact ca in cerinta trebuie un pointer de tipul structurii Agenda si tu sa aloci in functie de n. Singura chestie mai dificila e ca trebuie sa le ordonezi inainte de cautare. Daca lucrezi cu pointeri va fi cam asa la adaugare: strcpy((*agenda).nume, s); (*agenda).numar= numar; Edited by jadnycky, 18 March 2014 - 20:30. |
#14
Posted 21 March 2014 - 18:18
Daca tot zici ca faci agenta in C++, ai clase pentru cam orice iti doresti, de la liste/vectori la functii de sortare.
|
#15
Posted 21 March 2014 - 18:51
DobreMarius, on 18 martie 2014 - 17:41, said:
Am o problema care suna cam asa: Sa se scrie un program care citeste de la tastatura un numar natural n (n≤200), apoi numele si numarul de telefon ale n persoane. Programul va crea o agenda telefonica in care vor retine informatiile afisate in ordinea alfabetica a numelor persoanelor. Dupa crearea agendei telefonice, programul va citi de la tastatura numele unei persoane, apoi va cauta persoana in agenda. Daca persoana va fi gasita, se va afisa pe un ecran numarul ei de telefon, astfel se va afisa un mesaj de eroare. Trebuie sa rescriu agenda de fiecare data cand deschid programul? Edited by MarianG, 21 March 2014 - 18:52. |
|
#16
Posted 28 March 2014 - 17:13
DobreMarius, on 18 martie 2014 - 17:48, said:
deci ar trebui sa il pot incropa din vectori, matrici? o sa mai incerc... eventual mai intreb pe parcurs. descarca de aici: link e o carte C++ for Dummies si eu tot la matrici (arrays) lucrez acum. ce vrei tu se face cu matrici (arrays). e capitolul 7 din carte, dar sincer, iti sugerez sa le parcurci pe toate pana la 7 necesita engleza in esenta, vei avea un main, da ....dar si cateva functii separate de afisare. vei vrea sa chemi acele functii separate sa iti afiseze nume, prenume, numar tel etc la indeplinireaa unei conditii anume. serios, citeste cartea! e scrisa pt oamenii obisnuiti Edited by Cosmin1981, 28 March 2014 - 17:15. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users