Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define TAM 2
- #define MAX_CHAR_COMBUSTIBLE_TIPO 20
- struct est_Combustible{
- char tipo[MAX_CHAR_COMBUSTIBLE_TIPO];
- int litros;
- };
- struct est_servicio{
- int carga; //lo hace la misma maquina por desfacaje de int i;
- int playero;
- int surtidor;
- struct est_Combustible combustibles;
- } servicios[TAM];
- int main() {
- for(int i=0; i<TAM; i++) {
- //numero de carga
- puts ("----------------------------------------------------");
- printf(" El numero de carga es %i \n", i+1);
- puts ("----------------------------------------------------");
- //numero de surtidor del 1 al 4
- printf("\n\nDigite su numero de surtidor (1-4): ");
- scanf("%i", &servicios[i].surtidor);
- while(servicios[i].surtidor<1 || servicios[i].surtidor>4) {
- printf("\n ERROR!! Digite un numero del 1-4: ");
- scanf("%i", &servicios[i].surtidor);
- }
- printf("\n-----------Eligio el surtidor %i---------\n", servicios[i].surtidor);
- puts( "\n\nElija su player (1-3): ");
- puts( "1.Javier");
- puts( "2.Jose");
- puts( "3.Victoria");
- printf("Digite un numero del 1-3: ");
- scanf("%i", &servicios[i].playero);
- while(servicios[i].playero<1 || servicios[i].playero>3) {
- printf("\n ERROR!! Digite un numero del 1-3: ");
- scanf("%i", &servicios[i].playero);
- }
- printf("\n-----------Eligio el playero numero: %i---------\n", servicios[i].playero);
- // borra el buffer hasta el caracter de nueva línea. Lo que queda del scanf anterior.
- while(getchar() != '\n');
- printf("\n\nElija su combustible: ");
- do {
- fgets(servicios[i].combustibles.tipo, MAX_CHAR_COMBUSTIBLE_TIPO, stdin);
- // busca el \n dentro de la adquisición
- char *cp = strchr(servicios[i].combustibles.tipo, '\n');
- if(cp) {
- // si lo encuentra lo sustituye por un \n pues no forma parte del dato
- *cp = '\0';
- }
- else {
- // en caso de no encontrarlo está en el buffer de entrada y debemos vaciarlo
- while(getchar() != '\n');
- }
- // si se introdujo una línea vacía lanzar un mensaje de error
- if(servicios[i].combustibles.tipo[0] == '\0') {
- printf("\n ERROR!! Debe introducir el combustible a repostar: ");
- }
- // y repetir la adquisición del dato
- } while(servicios[i].combustibles.tipo[0] == '\0');
- printf("\n-----------Eligio el combustible : %s---------\n", servicios[i].combustibles.tipo);
- printf("\n\nEscriba la cantidad de litros de combustible : ");
- scanf("%i", &servicios[i].combustibles.litros);
- printf("\n-----------Cargo : %i litros de combustible---------\n", servicios[i].combustibles.litros);
- }
- for(int i=0; i<TAM; i++) {
- printf("\nEn el surtidor %i con el playero %i con el combustible %s se cargo la cantidad de %i litros de combustible", servicios[i].surtidor, servicios[i].playero, servicios[i].combustibles.tipo, servicios[i].combustibles.litros);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement