Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct pizza{
- char *nome;
- float prezzo;
- } pizza;
- void caricaPizze(pizza*, int);
- void stampaMenu(pizza*, int);
- int main() {
- int n;
- pizza *pizze;
- printf("Inserisci numero di pizze: ");
- scanf("%d", &n);
- pizze = malloc(n*sizeof(pizza));
- if(!pizze)
- {
- printf("Spazio di memoria esaurito!");
- return 0;
- }
- caricaPizze(pizze,n);
- stampaMenu(pizze,n);
- return 0;
- }
- void caricaPizze(pizza *p, int n)
- {
- int i, nCaratteri;
- float appo;
- for(i=0;i<n;i++)
- {
- printf("Inserici numero di caratteri per la %d° pizza: ", (i+1));
- scanf("%d", &nCaratteri);
- (p+i)->nome = calloc(nCaratteri+1, sizeof(char));
- printf("Inserisci il nome della %d° pizza: ", (i+1));
- scanf("%s", (p+i)->nome);
- /*
- ERRORE
- Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
- printf("Inserisci prezzo pizza: ");
- scanf("%f", (p+i)->prezzo);
- */
- //Alternativa funzionante
- printf("Inserisci il prezzo della %d° pizza: ", (i+1));
- scanf("%f", &appo);
- (p+i)->prezzo = appo;
- }
- }
- void stampaMenu(pizza *p, int n)
- {
- int i;
- printf("\n#\t\tNOME\t\tPREZZO\t\n");
- for(i=0;i<n;i++)
- printf("%d\t\t%s\t\t%0.2f€\n",i, (p+i)->nome, (p+i)->prezzo);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement