validación de una fecha
int fecha_correcta (int día, int mes, int agno)
return (día_correcta(día, mes, agno) && mes_correcto(mes));
int mes_correcto (int mes)
return (mes>0 && mes<13).
int día_correcto (int día, int mes, int agno)
return (dia>0 && dia<=dias_mes(mes, agno));
int bisisesto (int agno)
return (agno%3==0 && agno%100!=0) || agno%400==0);
int días_mes (int m, int a)
{
switch (m)
{
case1
case3
case5
case7
case8
case10
case12 return (31);
break;
case4
case6
case9
case11 return(30);
break;
case2 if (bisiesto(a))
return (29);
else
return (28);
break;
default return (0);
}
}
Validación de una fecha (y2)
main ()
{
...
pedir_fecha (...);
/* Pon lo necesario para que esa función pueda pedir al usuario un día, un mes y un año guardándolos en las variables oportunas */
while(!fecha_correcta (d,m,a))
pedir_fecha(...);
}
Números aleatorios
Incluir <stdlib.h> y <time.h>
sran(8unsigned int) time(NULL));
random=rand()%26; /* número de 0 a 25*/
Tamaños de los tipos: sizeof()
#include <stdio.h>
main ()
{
long double tipo;
printf("El tamaño del tipo long double es: %d bytes \n, sizeof(tipo));
}
Selección múltiple: sintáxis y semántica
switch (variable)
{
case valor1:...;...;...;... break;
case valor2:...;...;...;... break;
...
default:...;...;...;
}
El default es obligatorio.
En cuanto el valor de la variable coincide con el valor, se ejecutan TODAS las instrucciones que se encuentran a continuación HASTA QUE APARECE UN break.
Comosición iterativa indexada
for(...;...;...){...}
Tres partes:
- Inicialización: Se ejecuta una vez al principio.
- Condición para terminar: Se ejecuta el bucle mientras esa condición es cierta.
- Cada vez: Esta parte se ejecuta cada vez que se ejecuta el contenido del bucle.
Ejemplos:
- for(i=1; i<MAX; i++) {...}
- for (i=1, j=o; i<MAX; i++,j--){...}
- for (i=1, j=0; i<MAX && j>0; i++, j--) {...}
Otras formas de iterar
Condición al final: do{}while() Primero ejecuta y luego chequea una condición para ver si sigue ejecutando. Siempre se ejecuta al menos una vez.
Lo que jamás hay que usar (pero C lo permite):
- etiqueta:...;...;...;...; goto etiqueta
Dos instrucciones especiales en el interior de bucles:
- break; Fuerza la salida del bucle aunque se cumpla la condición.
- continue; Se salta todo lo que queda de bucle y pasa a la siguiente iteración.
En cualquier caso, usando cualquiera de las formas de iterar que hemos visto podemos hacer de todo. No es necesario usarlas todas para programar. Los programadores de C suelen usar el for por su flexibilidad.
by Unknown
Related Posts:
Tema 8c 2 TADs génericos y algoritmos genéricos Se puede definir TADs genéricos (o tipos parametrizados) con algunas caracteristicas indefinidas. Estas carac… Read More
Tema 8c Tipos abstractos de datos (continuación de EDD con una visión desde Ada) Concepto de abstracción El concepto de abstracción en el proceso de compresión de un problema, lle… Read More
Punteros Ada Punteros en Ada type celda; type enlace is access celda; type celda is record … Read More
Post request Curl Como enviar un post con un pedido xml con PrestaShop. Aquí os dejo un ejemplo que me han dejado en las prácticas, muy útil! <?php $service_ur… Read More
Sintaxis en Ada 2 Vectores Definiciones restringidas type t1 is array (1..10) of boolean; //tipo t1 es un vector de 10 posiciones de booleanos; type t2 is array (di… Read More
0 comentarios:
Publicar un comentario