vuoi
o PayPal
tutte le volte che vuoi
Ordini ord[N_ORD];
int sc=10,contaComp=0,i,flag=0,contaOrd=0,j;
char c,str[LUNG_ID+1];
printf("\n\n\t\t------ARCHIVIO COMPONENTI------");
do
{ printf("\n\n\n1. Aggiungere nuovo componente\n");
printf("2. Inserito un componente, stampa il nome e la quantita' presente\n");
printf("3. Inserito un componente, modifica la quantita' disponibile\n");
printf("4. Visualizza tutto l'archivio\n");
printf("5. Aggiungere un nuovo ordine\n");
printf("6. Evadi gli ordini\n");
printf("7. Refresh schermo\n");
printf("8. Esci\n");
printf("\nLa tua scelta e' : ");
c=getche();
sc=atoi(&c);
switch(sc)
{ case 1:
if(contaComp==N_COMP)
{ printf("\n\nL'archivio componenti e' pieno!!!\n\n");
}
else
{ printf("\n\nInserisci Id del componente : ");
do
{ flag=0;
i=0;
do
{ while(i<=LUNG_ID && (c=getche()) != 13)
{ comp[contaComp].comp_id[i]=c;
i++;
}
comp[contaComp].comp_id[i]='\0';
if(strcmp(comp[contaComp].comp_id , "") == 0)
{ printf("\nIl campo Id non puo' essere vuoto\n\n");
}
}
while (strcmp(comp[contaComp].comp_id , "") == 0);
if (contaComp!=0)
{ for(i=0;i<contaComp;i++) // controllo che l'id non sia già presente
{ if(strcmp( comp[contaComp].comp_id , comp[i].comp_id ) == 0)
{ flag=1;
}
}
}
if(flag==1)
{ printf("\nL'id inserito e' gia' presente in archivio! Inserirne uno diverso\n\n");
}
}
while (flag==1);
printf("\nInserisci il nome del componente : ");
do
{ flag=0;
i=0;
do
{ while(i<=LUNG_NOME && (c=getche()) != 13)
{ comp[contaComp].comp_nome[i]=c;
i++;
}
comp[contaComp].comp_nome[i]='\0';
if(strcmp(comp[contaComp].comp_nome , "") == 0)
{ printf("\nIl campo nome non puo' essere vuoto\n\n");
}
}
while (strcmp(comp[contaComp].comp_nome , "") == 0);
if (contaComp!=0)
{ for(i=0;i<contaComp;i++) // controllo che il nome non sia già presente
{ if(strcmp( comp[contaComp].comp_nome , comp[i].comp_nome ) == 0)
{ flag=1;
}
}
}
if(flag==1)
{ printf("\nIl nome inserito e' gia' presente in archivio! Inserirne uno diverso\n\n");
}
}
while (flag==1);
printf("\nInserisci la quantita' del componente : ");
do
{ scanf("%d",&comp[contaComp].comp_qta);
if(comp[contaComp].comp_qta < 1)
{ printf("per un nuovo componente la q.ta' non puo' essere minore di 1\n\n");
}
}
while(comp[contaComp].comp_qta < 1);
contaComp++; // incremente l'indice del vettore comp
}
break;
case 2:
if(contaComp==0)
{ printf("\nNon sono ancora stati inseriti componenti!!!\n\n");
}
else
{ printf("\n\nInserisci l'ID del componente da trovare : ");
i=0;
do
{ while(i<=LUNG_ID && (c=getche()) != 13)
{ str[i]=c;
i++;
}
str[i]='\0';
if(strcmp(str , "") == 0)
{ printf("\nL'id da cercare non puo' essere vuoto\n\n");
}
}
while (strcmp(str , "") == 0);
//ricerca tra gli id dei componenti
flag=0;
for (i=0;i<contaComp;i++)
{ if (strcmp(str , comp[i].comp_id) == 0)
{ flag=1;
break;
}
}
if(flag==0)
{ printf("\nIl componente cercato non e' presente in archivio!\n");
}
else
{ printf("\n\nID componente:\t\t%s\n\nNome:\t\t\t%s\nQ.ta' presente:\t\t
%d\n\n",comp[i].comp_id,comp[i].comp_nome,comp[i].comp_qta);
}
}
break;
case 3:
if(contaComp==0)
{ printf("\nNon sono ancora stati inseriti componenti!!!\n\n");
}
else
{ printf("\n\nInserisci l'ID del componente da modificare : ");
i=0;
do
{ while(i<=LUNG_ID && (c=getche()) != 13)
{ str[i]=c;
i++;
}
str[i]='\0';
if(strcmp(str , "") == 0)
{ printf("\nL'id del componente da modificare non puo' essere vuoto\n\n");
}
}
while (strcmp(str , "") == 0);
//ricerca tra gli id dei componenti
flag=0;
for (i=0;i<contaComp;i++)
{ if (strcmp(str , comp[i].comp_id) == 0)
{ flag=1;
break;
}
}
if(flag==0)
{ printf("\nIl componente che si vuole modificare, non e' presente in archivio!\n");
}
else
{ printf("\n\nID componente:\t\t%s\n\nNome:\t\t\t%s\n\n",comp[i].comp_id,comp[i].comp_nome);
do
{ printf("Nuova Q.ta' : ");
scanf("%d",&comp[i].comp_qta);
if(comp[i].comp_qta < 0)
{ printf("la quantita' non puo' essere negativa!!\n\n");
}
}
while (comp[i].comp_qta < 0);
}
}
break;
case 4:
if(contaComp==0)
{ printf("\nNon sono ancora stati inseriti componenti!!!\n\n");
}
else
{ printf("\n-----------------------------");
for (i=0;i<contaComp;i++)
{ printf("\n\nID componente:\t\t%s\n\nNome:\t\t\t%s\nQ.ta' presente:\t\t
%d\n\n",comp[i].comp_id,comp[i].comp_nome,comp[i].comp_qta);
printf("-----------------------------");
}
}
break;
case 5:
if(contaOrd==N_ORD)
{ printf("\n\nL'archivio ordini e' pieno!!!\n\n");
}
else
{ printf("\n\nInserisci Id dell'ordine : ");
do
{ flag=0;
i=0;
do
{ while(i<=LUNG_ID && (c=getche()) != 13)
{ ord[contaOrd].ord_id[i]=c;
i++;
}
ord[contaOrd].ord_id[i]='\0';
if(strcmp(ord[contaOrd].ord_id , "") == 0)
{ printf("\nIl campo Id non puo' essere vuoto\n\n");
}
}
while (strcmp(ord[contaOrd].ord_id , "") == 0);
if (contaOrd!=0)
{ for(i=0;i<contaOrd;i++) // controllo che l'id non sia già presente
{ if(strcmp( ord[contaOrd].ord_id , ord[i].ord_id ) == 0)
{ flag=1;
}
}
}
if(flag==1)
{ printf("\nL'ordine con questo id e' gia' presente in archivio! Inserirne uno diverso\n\n");
}
}
while (flag==1);
printf("\nInserisci l'Id del componente ordinato: ");
i=0;
do