Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Temas - juanperea123

#1
ya me mate la cabeza en hacer este programita pero no se como terminar de imprimir en txt la información que ingreso  . lo único que pude hacer fue crear el archivo. el programa jala bien ayúdenme  porfa

Código (cpp) [Seleccionar]

#include <iostream>
#include <stdlib.h>
using namespace std;
struct nodo{
      int nro;        
      struct nodo *sgte;
};
typedef struct nodo *Tlista;

void insertarInicio(Tlista &lista, int valor)
{
   Tlista q;
   q = new(struct nodo);
   q->nro = valor;
   q->sgte = lista;
   lista  = q;
}
int insertarAntesDespues()
{
   int _op, band;
   cout<<endl;
   cout<<"\t 1. Antes de la posicion           "<<endl;
   cout<<"\t 2. Despues de la posicion         "<<endl;
   cout<<"\n\t Opcion : "; cin>> _op;
   if(_op==1)
       band = -1;
   else
       band = 0;
   return band;
}
void insertarElemento(Tlista &lista, int valor, int pos)
{
   Tlista q, t;
   int i;
   q = new(struct nodo);
   q->nro = valor;
   if(pos==1)
   {
       q->sgte = lista;
       lista = q;
   }
   else
   {
       int x = insertarAntesDespues();
       t = lista;
       for(i=1; t!=NULL; i++)
       {
           if(i==pos+x)
           {
               q->sgte = t->sgte;
               t->sgte = q;
               return;
           }
           t = t->sgte;
       }
   }
   cout<<"   Error...Posicion no encontrada..!"<<endl;
}
void buscarElemento(Tlista lista, int valor)
{
   Tlista q = lista;
   int i = 1, band = 0;
   while(q!=NULL)
   {
       if(q->nro==valor)
       {
           cout<<endl<<" Encontrada en posicion "<< i <<endl;
           band = 1;
       }
       q = q->sgte;
       i++;
   }
   if(band==0)
       cout<<"\n\n Numero no encontrado..!"<< endl;
}
void reportarLista(Tlista lista)
{
    int i = 0;
    while(lista != NULL)
    {
         cout <<' '<< i+1 <<") " << lista->nro << endl;
        lista = lista->sgte;
         i++;
    }
}
void eliminarElemento(Tlista &lista, int valor)
{
   Tlista p, ant;
   p = lista;
   if(lista!=NULL)
   {
       while(p!=NULL)
       {
           if(p->nro==valor)
           {
              if(p==lista)
                   lista = lista->sgte;
               else
                   ant->sgte = p->sgte;
               delete(p);
               return;
           }
           ant = p;
           p = p->sgte;
       }
   }
   else
       cout<<" Lista vacia..!";
}
void menu1()
{
   cout<<"\n\t\tNOMINA\n\n";
   cout<<" 1. INGRESAR SALARIO               "<<endl;
   cout<<" 2. MONSTRAR NOMINA                   "<<endl;
   cout<<" 3. BUSCAR                  "<<endl;
   cout<<" 4. ELIMINAR DATO            "<<endl;
   cout<<" 6. SALIR                            "<<endl;
   cout<<"\n INGRESE OPCION: ";
}
/*                        Funcion Principal

---------------------------------------------------------------------*/
int main()
{  
   FILE *pf;          

  pf = fopen("lista de salarios.txt", "w");


   Tlista lista = NULL;
   int op;     // opcion del menu
   int _dato;  // elemenento a ingresar
   int pos;    // posicion a insertar
   system("color 0b");
   do
   {
       menu1();  cin>> op;
       switch(op)
       {
           case 1:
                cout<< "\nINGRESAR SALARIO: "; cin>> _dato;
                insertarInicio(lista, _dato);
           break;
           case 2:
              cout << "\n\n MOSTRAR INFORMACION \n\n";
              reportarLista(lista);
           break;
           case 3:
            cout<<"\nSALARIO A BUSCAR : "; cin>> _dato;
                buscarElemento(lista, _dato);
           break;
           case 4:
            cout<<"\n SALARIO A ELIMINAR : "; cin>> _dato;
           eliminarElemento(lista, _dato);
           break;
                   }
       cout<<endl<<endl;
       system("pause");  system("cls");
   }while(op!=6);
  system("pause");
  return 0;
}