QReferate - referate pentru educatia ta.
Cercetarile noastre - sursa ta de inspiratie! Te ajutam gratuit, documente cu imagini si grafice. Fiecare document sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Documente informatica

SDA



SDA


6. Un magazin de muzica utilizeaza un program care ajuta la gestionarea Cd-urilor pe care acesta le utilizeaza. Programul utilizeaza un fisier in care sunt pastrate informatii despre CD-uri. Fisierul se numeste 'muzica.txt' si contine linii de forma'


Nume_artist Nume_album Data_lansarii Pret_album Nume_melodia1 Nume_melodia2



Sa se scrie un program care realizeaza urmatoarele:


1. Incarca informatiile din fisier intr-o structura de date de tip lista cu sublista



2. Tipareste ordonat alfabetic dupa nume toti artistii. Sub numele fiecarui artist se vor tiparii toate albumele ca6re le are (si sunt in magazin) in ordine descrescatoare a datei lansarii lor, iar sub numele fiecarui album se vor tipari toate melodiile de pe acel album

3. Citeste numele unui artist de la tastatura si afiseaza toate albumele lui in ordine alfabetica. Se vor afisa si melodiile de pe fiecare album.

4. Citeste numele unui album si afiseaza toti artistii care au albume cu numele identic cu cel introdus.

5. Citeste numele unei melodii, si afiseaza toti artistii, respectiv toate albumele pe care apare acea melodie.

6. Vanzare album. Se sterge acel album, iar daca in urma stergerii albumului, artistul care a compus acel album nu mai are in evidenta nici un alt album, se elimina si artistul.

7. Introducere de la tastatura a unui nou album, impreuna cu toate piesele de pe el.

8. Tiparirea tuturor albumelor din magazin si a artistilor care le-au compus in ordine descrescatoare dupa pret.

9. Citeste o perioada de la tastatura si afiseaza toate albumele, respectiv artistii care au scos albume in acea perioada.


Parasire program. Inainte de iesirea din program se va actualiza fisierul 'muzica.txt' .







#include <stdlib.h>

#include <stdio.h>

#include <string.h>

#include <conio.h>



typedef struct mel

melodie;


typedef struct alb

album;


typedef struct art

artist;


artist *head;


void meniu()



void citeste(char *s)


gets(s);

}


void citeste2(char *s)


}


artist *cautare(artist *lista , char *s)



album *cautare_alb(album *lista , char *s)



melodie * cautare_mel(melodie * head,char * s)



artist* adauga(artist * head, artist *m)


else

if(q1 != q2) /* daca inserarea nu se face la inceputul

listei */ /* introducere 4 */


else /* daca inserarea se face la inceputul listei */

/* introducere 5 */


}



melodie* adauga_mel(melodie *p,melodie *d) //adauga prod in lista ordonata


else


else


if (i!=NULL)


else


}


return(p);

}


album* adauga_alb(album *p,album *d) //adauga prod in lista ordonata


else


else


if (i!=NULL)


else


}


return(p);

}



void introducere()


printf('nDoriti sa adaugati alta melodie[d/n]: '); scanf('%s',cc);

}


strcpy(p->nume_alb,np);

strcpy(p->data,data);

p->pret=pret;

p->urm=NULL;


m->lista=adauga_alb(m->lista,p);

}

printf('nDoriti sa adaugati alt album[d/n]: '); scanf('%s',c);

}

head=adauga(head,m);

}

}



void afisare_mel(melodie *head1)


}


void afisare_alb(album *head)


}



void afisare_art()


}



artist *adauga2(artist *lista, char *s)


else


for(q1 = q2 = lista; q1 != NULL && strcmp(q1->nume_art, s) < 0;

q2 = q1, q1 = q1->next);

if(q1 != NULL && strcmp(q1->nume_art, s) == 0)


else

if(q1 != q2)


else


}



melodie *adauga_mel2(melodie *lista, char *s)


else


for(q1 = q2 = lista; q1 != NULL && strcmp(q1->nume_mel, s) < 0;

q2 = q1, q1 = q1->urm);

if(q1 != NULL && strcmp(q1->nume_mel, s) == 0)


else

if(q1 != q2)


else


}


char* cit_sir(FILE *fis)


}

while(strcmp(aux,'.')!=0);

return s;



artist* incarcare(artist *m)


else


d = m;

while ( (strcmp(d->nume_art, nart)!=0) && (d->next!=NULL))

d=d->next;


p =(album*) malloc(sizeof(album));

p->nume_alb=(char*) malloc(strlen(nalb)+1);

strcpy(p->nume_alb,nalb);


strcpy(p->data,data);

p->lista2=NULL;

p->pret = pr;

do



}

while (strcmp(nmel,'#')!=0);


p->urm = NULL;

d->lista = adauga_alb(d->lista,p);


}

}

while(strcmp(nart,'!')!=0);

}

printf('nEvidanta incarcata!');

return(m);



void afisare4()


}

}


void afisare5()


a=a->next;

}

}


void afisare6()


alb=alb->urm;

}

a=a->next;

}

}



artist *stergere_art(artist *head,char *s)


else


}


album *stergere_alb(album *head,char *s)


else


}


void stergere(artist *head)


else printf('nAlbumul nu a fost gasit!');

}

else printf('nArtistul nu a fost gasit!');

}


void afisare8()


alb=alb->urm;

}


a=a->next;

}

}

else printf('nEroare la succesiune datelor!');

}


void salveaza_art(artist *m,FILE *fout) //salveaza evidenta in fisier


i = i->urm;

}

m=m->next;

}

}



void salvare(artist *m)



salveaza_art(m,fout);

fprintf(fout,'%s','! .');


fclose(fout);


printf('ntEvidenta a fost salvata!n');

return;

}


void main()


}

while(k!=0);

}

Nu se poate descarca referatul
Acest document nu se poate descarca

E posibil sa te intereseze alte documente despre:


Copyright © 2024 - Toate drepturile rezervate QReferat.com Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site.
{ Home } { Contact } { Termeni si conditii }