Páginas

Mostrando entradas con la etiqueta fflush(stdin). Mostrar todas las entradas
Mostrando entradas con la etiqueta fflush(stdin). Mostrar todas las entradas

lunes, 12 de junio de 2017

C, 24. Sentencia do-while

/* Repetición: El bucle do...while

    Sintaxis:

        do{
            Instrucciones
        }while(condicion)    */


// Mostrar los 10 primeros numeros enteros positivos

#include<stdio.h>

int main(){
    int i;                   // Declaramos la variable i
    i=1;                     // Asignamos el valor 1, es el primer número de la serie

    do{
        printf("%i",i);      // Imprimimos en pantalla el valor de la variable i...
        i++;                 // ...en cada iteracion le sumamos 1 a i...
    }while(i<=10);           // ...e imprimimos el valor de i hasta que alcance el
                             // último número.
    return 0;
}

En el primer ejemplo acabamos de ver cómo aplicar do-while, el programa ya tiene las variables por lo que al correrlo simplemente veremos el resultado en pantalla, sin necesidad de interactuar con él.
A continuación otro ejemplo donde el usuario ha de dar los datos para que se ejecute el bucle y concluya.


// Mostrar los numeros enteros entre dos intervalos, ambos inclusive

#include<stdio.h>

int main(){
    int n1,n2;               // Declaramos las variables para el primer y ultimo
                             // numero de la serie, solicitamos al usuario que
                             // que indique sus valores.
    printf("Introduzca el primer numero de la serie:\n");
    scanf("%i",&n1);
    printf("Introduzca el ultimo numero de la serie:\n");
    scanf("%i",&n2);

    do{
        printf("%i ",n1);     // Imprimimos en pantalla el valor de la variable n1
        n1++;                 // en cada iteracion le sumamos 1 a n1
    }while(n1<=n2);           // e imprimimos el valor de n1 hasta que alcance el
                              // valor de n2.
    return 0;
}

En este último ejemplo, en cambio, el programa seguirá ejecutándose mientras el usuario siga realizando la acción que permite reproducir el bucle, en caso contrario finalizará.

// Solicitar repetición de saludo

#include<stdio.h>

int main(){
    char opc;

    do{
        fflush(stdin);                     // Esta funcion limpia la pantalla
        printf("Hola");
        printf("\nIntroduzca 's' para saludar nuevamente: \n");
        scanf("%c",&opc);
    }while(opc == 's' || opc == 'S');      // Mientras el programa siga registrando...
                                           // el caracter "s", nos seguira devolviendo
                                           // ...el saludo inicial.
    return 0;
}

domingo, 11 de junio de 2017

C, 10. Borrar pantalla fflush(stdin)

/* Ejercicio 10 Condicionales. Hacer un programa que borre la pantalla al pulsar 1 */

#include<stdio.h>

int main(){
    char tecla;

    printf("Programa de borrado de pantalla");
    printf("\n___________owo !____________\n");
    printf("Digite el numero 1 para limpiar la pantalla: \n");
    scanf("%c",&tecla);

    if(tecla == '1'){
        system("cls");
        printf("Pantalla limpia owo/");
    }
    else{
        fflush(stdin); //limpiar buffer
        printf("Tecla erronea x_x!\n");
        printf("Digite el numero 1 para limpiar la pantalla: \n");
        scanf("%c",&tecla);

        if(tecla == '1'){
            system("cls"); //clear screen
            printf("Pantalla limpia owo/");
        }
        else{
            printf("No ha funcionado T_T");
        }
    }

Este ejercicio es parte del curso ProgramaciónATS