Anteprima
Vedrai una selezione di 3 pagine su 8
Programmazione - Componenti e Ordini - C Pag. 1 Programmazione - Componenti e Ordini - C Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
Programmazione - Componenti e Ordini - C Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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

Dettagli
Publisher
A.A. 2013-2014
8 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher siboXD di informazioni apprese con la frequenza delle lezioni di Programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Carbonaro Antonella.