lectura de

Control 1-C

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int seguir=1;
    /* Repetir el proceso mientras el usuario desee */
    while(seguir){
        long cactual,canterior=1,km, destino, cdisponible, cgasto=0, end=0;
        /*
        cactual = Combustible actual en el proceso
        canterior = combustible en el km anterior
        km = contador
        destino = donde parar
        cdisponible = cuanto combustible poseo
        cgasto = gasto acumunado
        end = kilometro en que quedo en pana
        */
        do{ /* Comprobar que los datos ingresados sean positivos */
            printf("Ingrese el destino: ");
            scanf("%ld", &destino);
            printf("Ingrese el combustible disponible: ");
            scanf("%ld", &cdisponible);
        }while(destino<=0||cdisponible<=0);
        
        /* funcion para calcular el gasto total desde el km 1 hasta el destino */
        for(km=1;km<=destino;km++){
            cactual=canterior*0.8+(km+1);
            cgasto+=cactual; //El gasto acumulado
            canterior=cactual; //El gasto actual pasa a ser el anterior
            if(cgasto>cdisponible){ /* Ver si ya me pase en el gasto, si es asi salgo del proceso*/
                end=km-1;
                break;
            }
        }
        /* Compruebo si el gasto es menor que el disponible */
        if(cgasto<=cdisponible){
            printf("\nCombustible suficiente, el auto llega a su destino\n");
        }
        /* Compruebo si el gasto es mayor que el desponible */
        if(cgasto>cdisponible){
            printf("\nCombustible insuficiente, el auto cae en Pana en el kilometro %ld\n", end);
        }
        /* Le doy al usuario la opcion de evaluar nuevamente */
        printf("\nEvaluar otro auto:\n1-Si\n2-No\nOpcion: ");
        scanf("%d", &seguir);
        
        switch(seguir){
            case(1):{/* Repetir el proceso */                
                seguir=1;
                system("cls");//Borrar la pantalla
            }
            break;
            case(2):{/* Salir */ 
                seguir=0;
            }
            break;
            default:{
                seguir=1;
                system("cls");//Borrar la pantalla
            }
        }/* Fin Switch*/
    }/* Fin while */
    return 0;
}
Blog Logo

Juan Pablo Escalona G.


Publicado el

comments powered by Disqus
Image

JPEG {codes}

Códigos azarosos en múltiples lenguajes, JavaScript, Ruby, C, Python. Bienvenidos aquellos que quieran aprender.

Volver al inicio