elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Pilas C++ usando Estructuras (STRUCT)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Pilas C++ usando Estructuras (STRUCT)  (Leído 15,429 veces)
charmedever

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Pilas C++ usando Estructuras (STRUCT)
« en: 19 Octubre 2011, 00:52 am »

Hola q tal pueden ayudarme el programa debe de permitir insertar 4 elementos y despues visualizarlos de acuerdo al orden en que fueron insertados
 Anexo el codigo para q me digan mis errores
//IMPLEMENTA UNA PILA
# include <iostream.h>
# include <conio.h>
# include <stdlib.h>

//prototipos de función
void llenar(char a);
char extraer();

const int tam=4;
char tope=-1;
char pila[tam];

int main()
{
  char a;

  cout<<"LLENAR PILA"<<endl;

  while(tope<tam)
  {
   cin>>a;
   llenar(a);
  }

  cout<<"Pulsar cualquier tecla para continuar";
  getche();
 
  system ("CLS");

  cout<<"Datos de la pila"<<endl;

  extraer();
  getche ();
  return -9;
}//fin main()

void llenar(char a)
{
  if(tope+1 >= tam)
      cout<<"Pila llena"<<endl;

  pila[++tope]=a;
}

char extraer()
{
  while(tope>=0)
  {
   cout<<pila[tope--]<<endl;
   getche ();

   if(tope==-1)
      cout<<"Pila vacia";

  }
}


En línea

CeroX901

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #1 en: 19 Octubre 2011, 01:30 am »

y donde está el struct ??

-Usar getche(); para pausar la aplicacion?, mejor usa system("pause");

-La declaracion de la librería iostream, está mal hecha, es sin el .h

-En main retornas -9?

-La funcion extraer debe devolver un valor char, no devuelve nada.

Y por ultimo te recomiendo usar string en ves de char para esta ocasion.

PD: cuando vayas a insertar codigo utiliza las etiquetas correspondientes, donde aparece GeSHi en crear mensaje..

Salud2



« Última modificación: 19 Octubre 2011, 01:31 am por CeroX901 » En línea

charmedever

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #2 en: 19 Octubre 2011, 23:09 pm »

Modifique el codigo como me dijiste
Código
  1. //IMPLEMENTA UNA PILA
  2. # include <iostream.h>
  3. # include <conio.h>
  4. # include <stdlib.h>
  5. struct pilas
  6. {
  7.       int x;
  8. }pi[3];
  9. //prototipos de función
  10. void llenar(pilas);
  11. int extraer(pilas);
  12. int tope=-1;
  13.  
  14. int main()
  15. {
  16.  
  17.  cout<<"LLENAR PILA"<<endl;
  18.  
  19.  while(tope<3)
  20.  {
  21.                 for (int i=0; i<3; i++)
  22.                 {
  23.                     cin>>pi[i].x;
  24.                     llenar (pi);
  25.  
  26.                 }
  27.  }
  28.  
  29.  cout<<"Pulsar cualquier tecla para continuar";
  30.  getche();
  31.  
  32.  system ("CLS");
  33.  
  34.  cout<<"Datos de la pila"<<endl;
  35.  
  36.  extraer(pi);  
  37.  getche ();
  38.  return -9;
  39. }//fin main()
  40.  
  41. void llenar(pilas)
  42. {
  43.  if(tope+1 >=3)
  44.  cout<<"Pila llena"<<endl;
  45.  pi[++tope]=pi[3];
  46. }
  47.  
  48. int extraer(pilas)
  49. {
  50.  while(tope>=0)
  51.  {
  52.                for (int i=0; i<3; i++)
  53.                {
  54.                    cout <<pi[i].x;
  55.                    cout<<pi[tope--]<<endl;
  56.                }
  57.                getche ();
  58.                if(tope==-1)
  59.                cout<<"Pila vacia";
  60.  }
  61. }
  62.  
En línea

Queta

Desconectado Desconectado

Mensajes: 267



Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #3 en: 19 Octubre 2011, 23:24 pm »

No hiciste nada de lo que te dijo...

¿Compilaste antes de enseñarnos el código?

Empezando por las librerías, no hace falta ni stdlib ni conio y es más, como bien te dijo CeroX901, iostream va sin la .h final. main sigue devolviendo -9 y no aplicas bien cout.

-Usar getche(); para pausar la aplicacion?, mejor usa system("pause");

Es mejor, en este caso, usar cin.get. Y tampoco usas bien la función extraer.
« Última modificación: 19 Octubre 2011, 23:34 pm por Queta » En línea

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.
charmedever

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #4 en: 19 Octubre 2011, 23:40 pm »

las librerias las uso asi porq estoy trabajando con DEV C++ el iostream.h para cout y cin, conio.h para pausar pantalla getche() y stdlib.h para limpiar pantalla esas librerias siempre las he utilizado, la funcion main puede aceptar cualquier numero entero sea positivo o negativo
En línea

Queta

Desconectado Desconectado

Mensajes: 267



Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #5 en: 19 Octubre 2011, 23:47 pm »

las librerias las uso asi porq estoy trabajando con DEV C++

Eso es irrelevante, a parte de que este IDE ya está medio obsoleto y su última actualización no es ni oficial.

el iostream.h para cout y cin

Repito, iostream va sin .h final y no usas cout correctamente.

conio.h para pausar pantalla getche()

Puedes perfectamente hacer servir una función estándar; ya te dí una solución...

stdlib.h para limpiar pantalla

Aunque no es recomendado el uso de system, quizás es el argumento de más peso :rolleyes:.

la funcion main puede aceptar cualquier numero entero sea positivo o negativo

Exactamente, y la coherencia juega un papel importante en el desarrollo de un programa.
En línea

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #6 en: 19 Octubre 2011, 23:53 pm »

Si se trata de compilar tu programa en Dev-C++ con las opciones predeterminadas se genera el mensaje:
Código:
#warning This file includes at least one deprecated or antiquated header.
Please consider using one of the 32 headers found in section 17.4.1.2 of the C++
standard. Examples include substituting the <X> header for the <X.h> header for
C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To
disable this warning use -Wno-deprecated.
Ello en relación a la inclusión de <iostream.h>, caso similar con <stdlib.h>. En cuanto a <conio.h> no es necesario utilizarla.

En cuanto a la función principal esta debe retornar cero o bien un valor distinto en caso de error (tu devuelves 9 de forma indiscriminada).

En mi opinión deberías revisar alguna pagina sobre pilas en la red (por ejemplo Wikipedia) y rescribir el programa desde cero ya que tiene varios errores.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Queta

Desconectado Desconectado

Mensajes: 267



Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #7 en: 19 Octubre 2011, 23:56 pm »

En definitiva, lo que le intentamos explicar CeroX901 y yo y no entendió.
En línea

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.
CeroX901

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #8 en: 20 Octubre 2011, 01:36 am »

No sé exactamente lo que pide, recuerdo mi primer programa en la U que trataba sobre Listas doblemente enlazadas con estructuras y punteros, me quedó hermoso  ese programa :xD, no sé si quiere hacer lo mismo..
En línea

charmedever

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Re: Pilas C++ usando Estructuras (STRUCT)
« Respuesta #9 en: 20 Octubre 2011, 02:05 am »

Hola modifique el codigo lo compile con DEV C++ y me corre, me deja ingresar 4 elementos de tipo entero pero no me deja visualizarlos en el orden en q los ingrese
Anexo el codigo
Código
  1. //IMPLEMENTA UNA PILA
  2. # include <iostream.h>
  3. # include <conio.h>
  4. # include <stdlib.h>
  5. struct pilas
  6. {
  7.       int x;
  8. }pi[3];
  9. //prototipos de función
  10. void llenar(pilas);
  11. int extraer(pilas);
  12. int tope=-1;
  13.  
  14. int main()
  15. {
  16.  
  17.  cout<<"LLENAR PILA"<<endl;
  18.  
  19.  while(tope<3)
  20.  {
  21.                 for (int i=0; i<3; i++)
  22.                 {
  23.                     cin>>pi[i].x;
  24.                     llenar (pi[i]);
  25.                 }
  26.  }
  27.  cout<<"Pulsar cualquier tecla para continuar";
  28.  getche();
  29.  system ("CLS");
  30.  cout<<"Datos de la pila"<<endl;
  31.  for (int i=0; i<3; i++)
  32.  {
  33.      cout <<pi[i].x;
  34.      extraer(pi[i]);
  35.  }
  36.  getche ();
  37.  return 0;
  38. } //fin de main
  39.  
  40. void llenar(pilas)
  41. {
  42.  if(tope+1 >=3)
  43.  cout<<"Pila llena"<<endl;
  44.  pi[++tope]=pi[3];
  45. }
  46.  
  47. int extraer(pilas)
  48. {
  49.  while(tope>=0)
  50.  {
  51.                for (int i=0; i<3; i++)
  52.                {
  53.                    pi[--tope]=pi[3];
  54.                    getche ();
  55.                }
  56.                if(tope==-1)
  57.                cout<<"Pila vacia";
  58.  }
  59.  return 0;
  60. }
  61.  
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con estructuras (struct)
Programación C/C++
alexis33de 1 2,559 Último mensaje 28 Agosto 2010, 03:41 am
por Littlehorse
Proyecto Arreglo con estructuras (struct) En C++
Programación C/C++
Antarezx 0 8,584 Último mensaje 26 Septiembre 2011, 00:26 am
por Antarezx
C++ Problema propuesto usando estructuras repetitivas
Programación C/C++
Franz1628 3 2,909 Último mensaje 27 Enero 2012, 23:45 pm
por theluigy13etv
Problemas con programa usando struct
Programación C/C++
Fyllio 2 2,144 Último mensaje 28 Noviembre 2013, 22:30 pm
por Fyllio
Pregunta con estructuras y Pilas en C - Cual es la opcion correcta.
Programación C/C++
palacio29 1 1,898 Último mensaje 22 Octubre 2016, 13:37 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines