Jueves 7 de Noviembre de 2024, 23:05
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Tengo Este Codigo, Pero Tengo Una Duda
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Tengo Este Codigo, Pero Tengo Una Duda (Leído 1636 veces)
athena_rivas
Nuevo Miembro
Mensajes: 12
Tengo Este Codigo, Pero Tengo Una Duda
«
en:
Martes 10 de Julio de 2007, 06:21 »
0
HOLA TENGO ESTE CODIGO, NO GENERA ERRORES, PERO LO EJECUTO Y EN LA FUNCION PUSH NO RESPETA LA CONDICION DE :
if(tope<9) {
tope++;
pila[tope]=valor; }
else
cout<<"\nLa pila esta llena!\n";
ME DEJA LLENAR O INTRODUCIR MAS DE 9 VALORES Y PS NO ME DICE LA PILA ESTA LLENA NO SE EN DONDE ESTA EL ERROR, ESPERO ALGUIEN ME PUEDA AYUDAR GRACIAS...... AKI LES DEJO EL CODIGO COMPLETO!!
Código: Text
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
int tope=-1,valor;
int pila[10];
void push(int val);
void pop();
void main()
{
clrscr();
int opcion;
do
{
clrscr();
cout<<"\n\n\tMENU\n\n";
cout<<"Seleccione una opcion:\n";
cout<<"1.-Agregar algun elemento\n";
cout<<"2.-Eliminar algun elemento\n";
cout<<"3.-Salir del programa\n";
cout<<"Que opcion deseas??\n";
cin>>opcion;
clrscr();
switch(opcion)
{
case 1:
{
cout<<"\nIntroduce un valor:";
cin>>valor;
push(valor);
break;
}
case 2:
{
pop();
break;
}
case 3:
{
cout<<"\nSalir del Programa,Gracias!\n";
break;}
}
}while(opcion!=3);
getch();
}
void push(val)
{
if(tope<9)
{
tope++;
pila[tope]=valor;
}
else
cout<<"\nLa pila esta llena!\n";
}
void pop()
{
if(tope>=0)
{
pila[tope]=0;
tope--;
cout<<"\nHas eliminado una pila!\n";
clrscr();
}
else
cout<<"La pila esta vacia!";
}
Tweet
emuller
Miembro MUY activo
Mensajes: 104
Re: Tengo Este Codigo, Pero Tengo Una Duda
«
Respuesta #1 en:
Miércoles 11 de Julio de 2007, 01:20 »
0
Es un código sencillo y parece estar correcto. Te recomiendo (si ya no lo has hecho) que en las funciones push y pop imprimas el valor de "tope" antes de modificar su valor (a modo de debug) para ver si tiene el valor que se supone debería tener.
Mi deseo: que le otorguen el premio Nobel de la paz al inventor del
Copy & Paste
. Gracias por evitarme tantas peleas con el tiempo y aumentar la esperanza de vida de mi teclado
Mollense
Miembro de PLATA
Mensajes: 1755
Nacionalidad:
Re: Tengo Este Codigo, Pero Tengo Una Duda
«
Respuesta #2 en:
Miércoles 11 de Julio de 2007, 02:20 »
0
Estás declarando la función push como
Código: Text
void push(int val);
pero la estás implementando como
Código: Text
void push(val)
Sin especificar el tipo del parámetro. Luego en la función push estás asignando al vector mediante
Código: Text
pila[tope]=valor;
cuando debería ser
Código: Text
pila[tope]=val;
El mensaje
Código: Text
cout<<"\nLa pila esta llena!\n";
al igual que los demás, nunca se van a ver porque inmediatamente después de imprimirlos se borra la pantalla.
Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."
...no te quedes mirando.
emuller
Miembro MUY activo
Mensajes: 104
Re: Tengo Este Codigo, Pero Tengo Una Duda
«
Respuesta #3 en:
Miércoles 11 de Julio de 2007, 04:38 »
0
Epa, son verdad esos errores. Parece que tengo que practicar un poco más antes de decir que el código parece correcto
(hace algunos años que no hago nada con c/c++ y he perdido la práctica de ver esas fallas en el código). Lo importante es que Angel_K_ido encontró respuestas.
Mi deseo: que le otorguen el premio Nobel de la paz al inventor del
Copy & Paste
. Gracias por evitarme tantas peleas con el tiempo y aumentar la esperanza de vida de mi teclado
athena_rivas
Nuevo Miembro
Mensajes: 12
Re: Tengo Este Codigo, Pero Tengo Una Duda
«
Respuesta #4 en:
Jueves 12 de Julio de 2007, 04:47 »
0
GRACIAS POR SUS COMENTARIOS Y AYUDA!!
ASI ME QUEDO EL CODIGO Y FUNCIONO MUY BIEN.... NOS VEMOS Y GRACIAS DE NUEVO
Código: Text
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
int tope=0,valor;
int pila[10];
void push(int val);
void pop();
void main()
{
clrscr();
int opcion;
do
{
clrscr();
cout<<"\n\n\tMENU\n\n";
cout<<"Seleccione una opcion:\n";
cout<<"1.-Agregar algun elemento\n";
cout<<"2.-Eliminar algun elemento\n";
cout<<"3.-Salir del programa\n";
cout<<"Que opcion deseas??\n";
cin>>opcion;
clrscr();
switch(opcion)
{
case 1:
cout<<"\nIntroduce un valor:";
cin>>valor;
push(valor);
break;
case 2:
pop();
break;
case 3:
cout<<"\nSalir del Programa,Gracias!\n";
cout<<"\nPresione 1 tecla para salir!\n";
break;
}
}while(opcion!=3);
getch();
}
void push(int val)
{
if(tope<9)
{
tope++;
pila[tope]=val;
}
else
{
cout<<"\nLa pila se a llenado, a introducido mas de 9 valores!\n";
getch();
}
}
void pop()
{
if(tope>=0)
{
pila[tope]=0;
tope--;
cout<<"\nHas eliminado una pila!\n";
cout<<"\nPresione 1 tecla para regresar al menu!\n";
}
else
cout<<"La pila esta vacia!";
cout<<"\nPresione 1 tecla para regresar al menu!\n";
getch();
}
Mollense
Miembro de PLATA
Mensajes: 1755
Nacionalidad:
Re: Tengo Este Codigo, Pero Tengo Una Duda
«
Respuesta #5 en:
Jueves 12 de Julio de 2007, 04:58 »
0
Por nada
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."
...no te quedes mirando.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Tengo Este Codigo, Pero Tengo Una Duda