//  Ing. Germán Andrés Xander 2022  //

#include<iostream>
using namespace std;
 
struct datos{
    int numero;
    char nombre[10];
    float tiempo;
    struct datos *pprox;
};
 
void agregar(datos *&puntero);
void listar(datos *puntero);
void buscar(datos *puntero);
 
int main() {
    char opcion;
    datos *lista=NULL;
    do{
        cout<<"\t         Menu"<<endl
            <<"\t 1 Carga de un tiempo de vuelta"<<endl
            <<"\t 2 Listar todos los tiempos por pantalla"<<endl
            <<"\t 3 Buscar tiempo por nro. de auto."<<endl
            <<"\t s salir"<<endl;
        cin>>opcion;
        switch(opcion){
            case '1':
                agregar(lista);
                break;
            case '2':
                listar(lista);
                break;
            case '3':
                buscar(lista);
                break;
        }
    }while(opcion!='s');
    return 0;
}
 
void agregar(datos *&puntero){
        datos  *puntero2=puntero, *puntero3, *nuevo=new datos;
        cout<<"ingrese numero"<<endl;
        cin>>nuevo->numero;
        cout<<"ingrese nombre"<<endl;
        cin>>nuevo->nombre;
        cout<<"ingrese tiempo"<<endl;
        cin>>nuevo->tiempo;
    if(!puntero || nuevo->tiempo<puntero2->tiempo){
        puntero=nuevo;
    }else{
        while(puntero2!=NULL && puntero2->tiempo<=nuevo->tiempo){
            puntero3=puntero2;
            puntero2=puntero2->pprox;
        }
        puntero3->pprox=nuevo;
    }
    cout<<endl;
    nuevo->pprox=puntero2;
}

void listar(datos *puntero){
    while(puntero!=0){
        cout<<"numero: "<<puntero->numero
        <<"\t nombre: "<<puntero->nombre
        <<"\t tiempo en [s]: "<<puntero->tiempo<<endl;
        puntero=puntero->pprox;
    }
    cout<<endl<<endl;
}

void buscar(datos *puntero){
    int nro;
    cout<<"ingrese numero de auto a buscar "<<endl;
    cin>>nro;
    while(puntero!=0){
        if(puntero->numero==nro){
            cout<<"numero: "<<puntero->numero
            <<"\t nombre: "<<puntero->nombre
            <<"\t tiempo en [s]: "<<puntero->tiempo<<endl<<endl<<endl;
            return;
        }
        puntero=puntero->pprox;
    }
    cout<<"no se encontro un auto con ese numero"<<endl<<endl;
}
Last modified: Friday, 8 May 2026, 8:22 AM