Вы находитесь на странице: 1из 3

Sentencia dowhile Sabatino

2010
EL BUCLE dowhile

La sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al


menos una vez. Esta situacin se suele dar en algunas circunstancias en las que se ha de
tener la seguridad de que una determinada accin se ejecutar una o varias veces, pero al
menos una vez.

Sintaxis:

do
sentencia
while(expresin);

La construccin do comienza ejecutando sentencia. Se evala a continuacin expresin. Si


expresin es verdadera, entonces se repite la ejecucin de sentencia. Este proceso
contina hasta que expresin es falsa.

Ejemplo 1:

#include <stdio.h>
int numero;
void main(void)
{
do
{
printf("Introduzca un numero (0 - 5): ");
scanf("%d",&numero);
}while((numero <0) || (numero > 5));

Ejemplo 2:

#include <stdio.h>
void main()
{
char op;
do
{
printf("Bienvenida");
printf(Presione una letra s si desea leer la bienvenida);
printf("y a continuacin pulse enter: ");
Sentencia dowhile Sabatino
2010
fflush sierve para liberar memoria de
fflush(stdin); algun bufer, un lugar donde es
scanf("%c",&opcion); recomendable usarla es:
}while(op == 's' || op == 'S');
printf("Bienvenidos al curso de dowhile"); fflush(stdin);
} getch();

fflush(stdin);
scanf(%s %d,&cadena,&numero);

Ejemplo 3:

En una tienda de descuento las personas que van a pagar el importe de su compra llegan a
la caja y sacan una bolita de color, que les dir qu descuento tendrn sobre el total de su
compra. Determinar la cantidad que pagar cada cliente desde que la tienda abre hasta
que cierra. Se sabe que si el color de la bolita es roja el cliente obtendr un 40% de
descuento; si es amarilla un 25% y si es blanca no obtendr descuento.

#include <stdio.h>
#include <string.h>
float importecompra, desc, cantidadpagar;
void main(void)
{
char resp;
char colorbolita[20];
do
{
printf("\nColor de la bolita: ");
fflush(stdin);
gets(colorbolita);
printf("Importe de compra: ");
fflush(stdin);
scanf("%f",&importecompra); Compara la cadena
if(!strcmp(colorbolita,"roja"))
apuntada por var1 con
desc = importecompra * 0.4;
la cadena apuntada por
else if(!strcmp(colorbolita,"amarilla"))
var2.
desc = importecompra * 0.25;
else if(!strcmp(colorbolita,"blanca"))
desc = 0;
else
printf("Color invalido\n");
cantidadpagar = importecompra - desc;
Sentencia dowhile Sabatino
2010
printf("\nCantidad a pagar = %.2f\n",cantidadpagar);
printf("\nDesea introducir otro cliente?\n");
fflush(stdin);
resp = getchar(); Lee un carcter del
}while(resp == 's' || resp == 'S'); teclado. Espera
} hasta que se pulsa
una tecla y
entonces devuelve
su valor

EJERCICIOS PROPUESTOS

1. En la Cmara de Diputados se levanta una encuesta con todos los integrantes con
el fin de determinar qu porcentaje de los n diputados est a favor del Tratado de
Libre Comercio, que porcentaje est en contra y que porcentaje se abstiene de
opinar.

2. Una persona que va de compras a la tienda Enano, S.A., decide llevar un control
sobre lo que va comprando, para saber la cantidad de dinero que tendr que pagar
al llegar a la caja. La tienda tiene una promocin del 20% de descuento sobre
aquellos artculos cuya etiqueta sea roja. Determinar la cantidad de dinero que
esta persona deber pagar.

3. Un jefe de casilla desea determinar cuntas personas de cada una de las secciones
que componen su zona asisten el da de las votaciones. Las secciones son: norte,
sur y centro. Tambin desea determinar cul es la seccin con mayor nmero de
votantes.

Вам также может понравиться