n° 219
Novembre 2017
Dicembre 12, 2017, 02:20:33 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Pila e Coda (Linguaggio C)  (Letto 3086 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Fedy99
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 1


Mostra profilo
« inserita:: Aprile 28, 2013, 01:35:11 »

Ciao a tutti, vi scrivo per chiedervi aiuto per la risoluzione di un esercizio. Il testo è il seguente:

In un carello della spesa ogni prodotto. individuato dal nome del prodotto e dal costo, è posizionato secondo l'ordine di inserimento. Utilizzare la struttura a pila per visualizzare i prodotti inseriti nel carello. Dopo aver riempito il carello con diversi prodotti ( uno per ogni tipo e capienza massima di prodotti 10 ) o aver completato la spesa ( non necessariamente 10 prodotti da acquistare ), recarsi alla cassa e prelevare i prodotti dal carrello( max un prodotto per ogni operazione di prelievo). usare una struttura a coda per posizionare i prodotti sul nastro trasportatore. Quando il carello è vuoto, visualizzare lo scontrino e il totale da pagare.

Sono alle primissime armi con C e non so bene come procedere, ho scritto questa prima parte ma mi da degli errori...Triste
 

#include <stdio.h>
#define MAX 3

struct Carello{
     char nome[30];
     int costo;

};
//variabile globale
struct Carello c[MAX];
int cima=-1;

void PresentaMenu(void){
     printf("\n* * * Menu di scelta * * *\n");
     printf("1 - Metti un prodotto nel carello\n");
     printf("2 - Togli un prodotto dal carello\n");
     printf("3 - Mostra tutti i prodotti\n");
     printf("4 - Mostra tutti i prodotti in ordine inverso ( coda )\n");
     printf("5 - Svuota carello e mostra scontrino e totale da pagare\n");
     return;
     }

//FUNZIONE 1
void Riempi_Carello(void){

int Pila[MAX];  //array per la pila
int Testa;
int i;


      if(Testa == 0) {
           printf("La pila e' piena\n");
           printf("Nessun elemento inserito\n");
     }else{
           printf("Inserisci Nome: ");
           scanf("%s",&c.nome);
           printf("Inserisci Nome: ");
           scanf("%d",&c.costo);
           Testa--; //decremento il valore della testa
           Pila[Testa]=i; //memorizzo il dato nell'array
     }
     printf("\n");
     return;
}




/*int i;
for(i=0;i<MAX;i++){
c;

printf("Inserisci Nome  %d:",i+1);
scanf("%s",&c.nome);

printf("Inserisci Costo %d:",i+1);
scanf("%d",&c.costo);

}
return;
}
*/

//FUNZIONE 2
void Togli_Prodotto(void){


return;

}


//FUNZIONE 3
void Mostra_Prodotti(void){


int i;

for(i=0;i<MAX;i++){

printf("%s %d\n",c.nome,c.costo);

}
return;
}



//FUNZIONE PRINCIPALE

int main(void){
int i;
int scelta;
do{
do{
       PresentaMenu();
       printf("Inserisci la tua scelta ");
       scanf("%d",&scelta);
    }while(scelta<1 || scelta>4);

    switch(scelta){
        case 1: Riempi_Carello();break;
        case 2: Togli_Prodotto();break;
        case 3: Mostra_Prodotti();break;
    }
}while(scelta !=4);

system("pause");

return;
}




Registrato
Roberto Allegra
Global Moderator
Hero Member
*****

Karma: +50/-1
Scollegato Scollegato

Messaggi: 2102



Mostra profilo WWW
« Risposta #1 inserita:: Aprile 28, 2013, 08:32:37 »

Benvenuto sul forum,

ti invito a leggere il regolamento, in particolare i punti 2e e 2g.
Registrato

I moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines