Ho un problema con un programma questa e la consegna:
Si vuole scrivere un programma C per la gestione dell’archivio degli utenti di un negozio di musica online. In particolare, i dati da mantenere per ciascun utente in ogni lista sono i seguenti:
- Cognome
- Nome
- Città di residenza
- Indirizzo e-mail
- Genere musicale preferito (rock, pop, italiana, jazz, blues, new age, melodica, classica)
Dopo aver definito una struttura dati (struct utente) idonea a mantenere le informazioni richieste, scrivere un programma che consenta di riempire un vettore di N utenti e richiesto uno specifico genere musicale, visualizzi gli indirizzi e-mail di tutti gli utenti aventi quel genere musicale come genere preferito.
Il programam che ho fatto invece e questo mi da un sacco di errori che nn capisco come faccio a coregere (sono ancora un principiante con le strutture e le funzioni)
#include<stdio.h>
#include<ctime>
#include<conio.h>
#include<stdlib.h>
void leggi(archivio*a, int n);
void cerca(archivio*a,int n);
int main(){
int n,i;
char genere;
typedef struct archivio{
char cognome[10][20];
char nome[10][20];
char residenza[10][20];
char email[10][10];
char generemusicale[10][10];
};
archivio a[10];
printf("\n\t\tQUANTI DATI VUOI INSERIRE(max10): ");
scanf("%d",&n);
leggi(a,n);
system("cls");
printf("Inserisci il genere musicale da cercare: ");
scanf("%s",&genere);
cerca(a,n);
getch();
}
void leggi(archivio*a, int n){
int i;
for(i=0;i<n;i++){
printf("\n\t\tNOME: ");
gets(a.nome[i]);
printf("\n\t\tCOGNOME: ");
gets(a.cognome[i]);
printf("\n\t\tRESIDENZA: ");
gets(a.residenza[i]);
printf("\n\t\tEMAIL: ");
gets(a.email[i]);
printf("\n\t\tGENERE: ");
gets(a.generemusicale[i]);
}
void cerca(archivio*a, int n){
int i;
for(i=0;i<n;i++){
if((strcmp(generemusicale,genere)==0)){
puts(a.email[i]);
}}}
graize :>