25/05/10 16:08
domi90
il programma mi chiede di scomporre in funzioni il programma di inserimento e visualizzazione di un gruppo di auto...ho provato a implementarlo cosi ma mi indica errore dove ho i 3 null consecutivi..
#include<stdio.h>
#include<stdlib.h>
void dummy(void);int ins(int);void visualizza(void);
int index=0;
struct modello{
int codice;
char descrizione[30];
int anno;};
struct automobile{char marca[25];
struct modello mod;
int vendute;};
struct automobile car[20];
struct voce_menu{
char*msg;
void(*fun)(void);};
struct voce_menu menu[]={"\n\n 1.Inserisci modello\n",index=ins(index),
"2.Visualizza automobili\n",visualizza(),
"0.Fine\n",NULL,NULL,NULL};
main(){
int scelta;
int loop=0;
struct voce_menu *c;
while(loop==0){
for(c=menu;c->msg!=NULL;c++)
printf("%s",c->msg);
printf("\n scegliere opzione:"
scanf("%d",&scelta);
if(scelta==0)loop=1;
else
(*menu[scelta-1].fun)();
}
system("PAUSE" }
int ins(int pos){
printf("Inserisci marca:"
scanf("%s",car[pos].marca);
printf("Inserisci descrizione:"
scanf("%s",car[pos].mod.descrizione);
printf("Inserisci codice:"
scanf("%d",&car[pos].mod.codice);
printf("Inserisci anno:"
scanf("%d",&car[pos].mod.anno);
printf("Inserisci vendute:"
scanf("%d",&car[pos].vendute);
return pos++;
}}
void visualizza(void){
int i;
struct automobile *p=&car[0];
for(i=0;i<index;i++){
printf("Marca: %s \n",p->marca);
printf("Modello\descrizione: %s \n",p->mod.descrizione);
printf("Modello\codice: %d \n",p->mod.codice);
printf("Modello\anno: %d \n",p->mod.anno);
printf("Venduti: %d \n\n",p->vendute);
*p++;}}
#include<stdio.h>
#include<stdlib.h>
void dummy(void);int ins(int);void visualizza(void);
int index=0;
struct modello{
int codice;
char descrizione[30];
int anno;};
struct automobile{char marca[25];
struct modello mod;
int vendute;};
struct automobile car[20];
struct voce_menu{
char*msg;
void(*fun)(void);};
struct voce_menu menu[]={"\n\n 1.Inserisci modello\n",index=ins(index),
"2.Visualizza automobili\n",visualizza(),
"0.Fine\n",NULL,NULL,NULL};
main(){
int scelta;
int loop=0;
struct voce_menu *c;
while(loop==0){
for(c=menu;c->msg!=NULL;c++)
printf("%s",c->msg);
printf("\n scegliere opzione:"
scanf("%d",&scelta);
if(scelta==0)loop=1;
else
(*menu[scelta-1].fun)();
}
system("PAUSE" }
int ins(int pos){
printf("Inserisci marca:"
scanf("%s",car[pos].marca);
printf("Inserisci descrizione:"
scanf("%s",car[pos].mod.descrizione);
printf("Inserisci codice:"
scanf("%d",&car[pos].mod.codice);
printf("Inserisci anno:"
scanf("%d",&car[pos].mod.anno);
printf("Inserisci vendute:"
scanf("%d",&car[pos].vendute);
return pos++;
}}
void visualizza(void){
int i;
struct automobile *p=&car[0];
for(i=0;i<index;i++){
printf("Marca: %s \n",p->marca);
printf("Modello\descrizione: %s \n",p->mod.descrizione);
printf("Modello\codice: %d \n",p->mod.codice);
printf("Modello\anno: %d \n",p->mod.anno);
printf("Venduti: %d \n\n",p->vendute);
*p++;}}
aaa