• Lunes 18 de Noviembre de 2024, 09:23

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - LjunBerG-

Páginas: [1]
1
C/C++ / Como Pasar Parametros De Punteros Tipo Cadena
« en: Sábado 19 de Junio de 2004, 20:34 »
Aqui puse el codigo de una Pila utilizando caracteres y orientado a objetos, segun lo que he investigado pero no me resulta quisiera saber si me pueden ayudar a pasar bn las cadenas por parametros utilizando punteros. Los enteros si pasan normal pero con las cadenas de caracteres tengo problemas. He buscado e intentado hacerlo peor no me resulta. Su ayuda se les agradeceria.


#include <iostream.h>
#include <conio.h>
void leer(char y);
class Pilas {
 public:
  int max,cima,valid;
  char *ya[20],pila[5];
  void asignar (int maxa, int cimaa){
  max = maxa;
  cima = cimaa;
  }
  void leer(char *y){
   ya = y;
  }
  void pila_full() {
  if (cima == max) {
   valid = 1;
  }
  else
   valid = 2;
  }
 void pila_vacia() {
  if (cima == -1) {
   valid = 1;
  }
  else
   valid = 2;
 }
 void push(){
  pila_full();
   if (valid == 1)
    cout<<"Desbordamiento"<<endl;
   else {
    cima = cima + 1;
    pila[cima] = ya;
    cout<<"La posicion de la pila es: "<<cima<<", y su valor es: "<<pila[cima]<<endl;
  }
 }
 void pop(){
  pila_vacia();
   if (valid ==1)
    cout<<"Subdesbordamiento"<<endl;
   else {
    ya = pila[cima];
    cima = cima - 1;
    if (cima == -1)
     cout<<"La posicion de la pila es: "<<cima<<", y existe: Subdesbordamiento"<<endl;
    else
     cout<<"La posicion de la pila es: "<<cima<<", y su valor es: "<<pila[cima]<<endl;
   }
 }
  void ver_pila(){
  int x=30,y=20,conta=0;
  gotoxy(30,19);
  cout <<"Pila"<<endl;
  while (conta<cima+1){
   gotoxy(x,y);
   cout<<conta<<". "<<pila[conta];
   y = y+1;
   conta++;
  }
  getch();
  clrscr();
 }
};
void main(){
int x,maxa,cimaa;
char y[20];
char resp;
maxa = 4;
cimaa = -1;
Pilas obj;
textbackground(15);
textcolor(0);
obj.asignar(maxa,cimaa);
do {
clrscr();
gotoxy (27,4);
cout<<"OPERACIONES CON PILAS"<<endl;
gotoxy(20,8);
cout<<"1. AGREGAR ELEMENTOS A LA PILA"<<endl;
gotoxy(20,10);
cout<<"2. ELIMINAR ELEMENTOS DE LA PILA"<<endl;
gotoxy(20,12);
cout<<"3. SALIR"<<endl;
gotoxy(23,15);
cout<<"OPCION: ";
gotoxy(32,15);
cin>>x;
if (x == 1) {
 cout<<"INTRODUZCA UN NUMERO"<<endl;
 cin>>y;
 obj.leer(&y);
 obj.pila_full();
 obj.push();
 obj.ver_pila();
 }
else if (x == 2){
 obj.pila_vacia();
 obj.pop();
 obj.ver_pila();
 }
else if (x==3){
 gotoxy(27,17);
 cout<<"CUIDESE, QUE TENGA UN BUEN DIA!"<<endl;
 getch();
 break;
 }
else
cout<<"INTRODUZCA UNA OPCION VALIDA"<<endl;
gotoxy(1,12);
cout<<"DESEA REALIZAR OTRA OPERACION CON LA PILA S/N:"<<endl;
gotoxy(49,12);
cin>>resp;
getch();
}while ((resp == 'S') || (resp == 's'));
}

Páginas: [1]