Salve ragazzi sono nuovo e spero che possa fare una richiesta del genere XD
comunque sto studiando la facoltà di informatica e sono nuovo nel campo della programmazione fino ad ora me la sono cavata ma con l'introduzione delle struct e dei puntatori sono un po confuso ho fatto questo programma:
#include <stdio.h>
#include <stdlib.h>
#define grandezza 100
struct canile{
char nome[grandezza];
char razza[grandezza];
int eta;
};
int riempi(struct canile **);
struct canile *caricascheda();
void cerca_cane(struct canile **,int n);
int main()
{
struct canile *p;
int n;
n=riempi(p);
cerca_cane(p,n);
return 0;
}
int riempi(struct canile **p){
int n,i;
printf("quanti tipi di cani abbiamo?\n");
scanf("%d", &n);
p=malloc(n*sizeof(struct canile));
for(i=0;i<n;i++)
p[i]=caricascheda();
return n;
}
struct canile *caricascheda(){
struct canile *p=malloc(sizeof(struct canile));
printf("nome cane?\n");
scanf("%s", p->nome);
printf("razza cane?\n");
scanf("%s",p->razza);
printf("eta cane?\n");
scanf("%d", &p->eta);
return p;
}
void cerca_cane(struct canile **p,int n){
int i;
char razza[grandezza];
printf("digitare la razza\n");
scanf("%s", razza);
for(i=0;i<n;i++){
if(strcmp(p[i]->razza,razza)==0){
printf("NOME:%s\nETA%d\n", p[i]->nome,p[i]->eta);
}
}
}
quando devo cercare la razza del cane crasha...qualcuno sa spiegarmi il perchè?