Salve! Mi servirebbe una mano da voi esperti di C (ne capisco pochissimo ancora :berto: )
Ho questo:
Un programma di archiviazione dei file musicali gestisce playlist separate di brani, ciascuna delle quali contiene le seguenti informazioni: titolo del brano,autore,album,durata. Si supponga l'esistenza di due playlist: "Anni 80" e "Anni 90", entrambe di 100 elementi ordinate alfabeticamente per titolo e archiviate rispettivamente sul file "ottanta.dat" e "novanta.dat". Si progetti tramite un flow-chart strutturato un programma che:
a. Legga dai file entrambe le playlist;
b. Con una procedura crei una playlist unica a partire dalle due precedenti, chiamata "Anni 80-90" ed anch'essa ordinata alfabeticamente per titolo.
c. Registri la nuova playlist su un file "ottnov.dat", prima inesistente in memoria...
questo è il problema...
ora io ho fatto cosi(credo di aver sbagliato un pò di cose):
Qualcuno è cosi gentile da potermi aiutare??Codice PHP:#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
typedef struct {
char Titolo[20];
char Autore[20];
char Album[20];
int Durata;
} Anni_80, Anni_90;
Anni_80 Anni80[100];
Anni_90 Anni90[100];
int main(int argc, char *argv[])
{
FILE *ot,*no;
FILE *otno;
/*apertura dei due file*/
ot=fopen("ottanta.dat","r+");
no=fopen("novanta.dat","r+");
/*se non si posso aprire*/
if(ot==NULL || no==NULL)
{
puts("Uno dei due file non puo essere aperto");
}
rewind(ot);
rewind(no);
fread(&Anni80,sizeof(Anni_80),1,ot);
fread(&Anni90,sizeof(Anni_90),1,no);
otno=fopen("ottnov.dat","w+");
void CreaPlaylist(ot,no); /*prototipo della procedura*/
fwrite(&otno,sizeof(otno),1,otno);
fclose(otno);
system("PAUSE");
return 0;
}
/*creamo la procedura per creare una playlist unica a partire dalle precedenti*/
void CreaPlaylist(Playlist1,Playlist2)
{
char p1,p2;
char scat;
if(strcmp(p1,p2)<=0)
{
strcpy(scat,p1);
strcat(scat,p2);
}
else
{
strcpy(scat,p2);
strcat(scat,p1);
}
}
Grazie mille!![]()

Rispondi quotando