Xizor
06-04-2008, 12:11
//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.
:D
#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.
:D