View Single Post
Old 06-04-2008, 13:11   #1
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
[C++] Inserire caratteri dentro una coda.

Codice:
//Gestione di una coda
#include<iostream.h>
#define MAX 10
int coda[MAX];                                      //array per la coda
int fine;                                           //fine della coda      
//prototipi delle funzioni               
void svuotacoda(void);
void pop(void);
void push(void);
void scrivicoda(void);
void presentamenu(void);
//funzione principale
int main (void) {
int scelta;                                         //scelta del menu
svuotacoda();
do {
   do {
            presentamenu();
            cout<<"Inserisci la tua scelta\n";
            cin>>scelta;
   } 
   while (scelta<1 || scelta>5);
        switch(scelta) {
                   case 1:
                      svuotacoda();
                      break;
                   case 2:
                      pop();
                      break;
                   case 3:
                      push();
                      break;
                   case 4:
                      scrivicoda();
                      break;
                      }
       } while (scelta !=5);
system ("pause");
return 0;
}

//Inizializzazione della coda
void svuotacoda(void) {
     fine=-1;
     cout<<"Coda vuota\n";
     return;
}

//Estrazione di un elemento della coda
void pop(void) {
int i;
     if (fine==-1) cout<<"Coda vuota.Nessun elemento puo essere estratto\n";
     else {
          cout<<"Elemento estratto "<<coda[0]<<"\n";
          for(i=1;i<=fine;i++){
          coda[i-1]=coda[i];
          }
          fine--;                                       //sposta a sinistra la fine della coda
          }
     return;
}

//Inserimento di un elemento nella coda
void push(void) {
     int dato;                                          //Elemento da inserire                                                       
     if (fine==MAX-1) cout<<"Coda piena.Nessun elemento puo essere inserito\n";
     else {
          cout<<"Dimmi il dato da inserire\n";
          cin>>dato;
          fine++;                                       //sposta a destra la fine della coda
          coda[fine]=dato;
          }
     return;
}

//Visualizzazione della coda
void scrivicoda(void) {
     int i;
     cout<<"Inizio Coda-->";
     for (i=0;i<=fine;i++) 
         cout<<coda[i];
         cout<<"<--Fine Coda\n";
     return;
}

void presentamenu(void) {
     cout<<"\n";
     cout<<"1.Svuota Coda\n";
     cout<<"2.Estrai un dato\n";
     cout<<"3.Aggiungi un dato\n";
     cout<<"4.Scrivi Coda\n";
     cout<<"5.Fine\n";
     cout<<"\n";
     return;
}

Questo programma inserisce semplicemente dentro la coda dei numeri interi, ma io stavo cercando di inserire stringhe di caratteri.

Nella function Push ho provato a sostituire int dato con char dato, ma poi mi da chiaramente un conflitto fra int e char.

Come si puņ fare??

Grazie.
Xizor č offline   Rispondi citando il messaggio o parte di esso