Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: alea en 25 Febrero 2012, 16:28 pm



Título: problemas c++
Publicado por: alea en 25 Febrero 2012, 16:28 pm
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>


struct nodo {
   int nro;
   nodo *sgte;
   };
   struct nodo *pi, *pa, *pf ;


void insertar (int numero){
if (pi==NULL); {
  pi=new(nodo);
  pi->nro = numero;
  pf=pi;
}
else {
  pa=new(nodo);
  pf->sgt=pa;
  pa->nro=numero;
  pf=pa;
  }
  pf->sgte=NULL
  }

void mostrar (){
pa=pi;
while (pa!=NULL){
 cout<<endl<<"--->Numero"<<pa-> nro;
 pa=pa->sgte;
   }
 }

void buscar (){
   pa=pi;
   int nro_buscar, band=0;
   cout<<endl<<"Ingrese numero a buscar";
   cin>>nro_buscar;
   while (pa!=NULL){
   if (nro_buscar==pa->nro){
   cout<<endl<<"---> valor encontrado ";
   cout<<endl<<pa->nro;
   band=1;
   }
   pa=pa->sgte;
    }
     if (band==0) {
     cout<<"--->elemento no fue encontrado";
     }
 }

void modificar (){
   pa=pi;
   int nro_buscar, band=0;
   cout<<endl<<"Ingrese numero a modificar";
   cin>>nro_buscar;
   while (pa!=NULL){
   if (nro_buscar==pa->nro && band==0){
   cout <<endl<<"---> valor encontrado ";
   cout<<endl<<pa->nro;
   cout<<endl<<"Ingrese nuevo valor: ";
   cin>>pa->nro;
   band=1;
   }
   pa=pa->sgte;
    }
     if (band==0) {
     cout<<"--->elemento no fue encontrado";
     }
     pa=pi;
     mostrar();
 }

 void eliminar (){
 pa=pi;
 int nro_eliminar,band=0;
  cout<<endl<<endl<<" ---> Ingrese valor a eliminar:  ";
  cin>>nro_eliminar;
 while (pa!=NULL){
 if(pa->nro==nro_eliminar && band==0) {
     if (pa==pi) {
      pi=pi->sgte
      }
      else {
      pf->sgte=pa->sgte
      delete (pa);
       }
 band=1
 }
   pf= pa;
   pa=pa->sgte;
   )
   if (band==1); {
   cout << endl" ---> El numero ha sido eliminado" ;
 }
    else {
      cout<<endl<<"---> el numero ah sido ingresado en la lista";
      }
      pa=pi ;
      mostar();
 }

void menu (){
int numero;
char resp [2]
int op;
   do {
   cout<<"\t\t Menu Opciones" <<endl;
   cout<<"\t\t------------------------------------------------";
   cout<<"\n1. Insertar";
   cout<<"\n2. Mostar";
   cout<<"\n3. Buscar";
   cout<<"\n4. Modificar";
   cout<<"\n5. Eliminar";
   cout<<"\n6. Salir";
   op=getch();
      clrscr();
   switch (op) {
   case '1':
       cl;
         cout <<endl<<"desea ingresar numero: ";
         gets (resp);
         if (strcmp(resp,"si")==0){
            cout <<"--->ingrese numero: ";
            cin>>numero;
            insertar (numero);
       goto cl;
       }
      insertar (numero);
      getch(); clrscr();
      break;
   case '2':
      mostrar ();
      getch(); clrscr();
      break;
   case '3':
      buscar ();
      getch(); clrscr();
      break;
   case '4':
      modificar ();
      getch(); clrscr();
      break;
   case '5':
      eliminar ();
      getch(); clrscr();
      break;
   case '6':
      cout<<" Salir del programa";
   exit (0);
      break
   }
}  while (op!=6);

/*int numero;
char resp [2];
cl;
count <<endl<<"desea ingresar numero: ";
gets (resp);
if (strcmp(resp,"si")==0){
cout <<"--->ingrese numero: ";
cin>>numero;
insertar (numero);
goto cl;
}

else {
mostar ();
}
 */
  buscar ();
  modificar ();
  eliminar();

 }

void main (){
   menu();
  }


Título: Re: problemas c++
Publicado por: Caster en 25 Febrero 2012, 16:31 pm
Si no pones ni tu error, solo pones el código...



Algunas cosas que veo:

Código
  1. if (pi==NULL);

Código
  1. if (band==1)

Código
  1. while (op!=6);

Estas expresiones nunca terminan en ";"

Código
  1. /*int numero;
  2. char resp [2];
  3. cl;
  4. count <<endl<<"desea ingresar numero: ";
  5. gets (resp);
  6. if (strcmp(resp,"si")==0){
  7. cout <<"--->ingrese numero: ";
  8. cin>>numero;
  9. insertar (numero);
  10. goto cl;
  11. }
  12.  
  13. else {
  14. mostar ();
  15. }
  16.  */

No sé si es parte del programa, si lo es, está encerrado entre "\*" y "*\", eso es un comentario.

Cuando pones un código, ponlo entre etiquetas GeSHi