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.
Bienvenidos a un nuevo curso. Ahora estoy en el ciclo de grado superior: Desarrollo de aplicaciones multiplataforma. Y voy a ser parte del experimento de la formación dual. Estaré haciendo practicas durante un año, y a la vez finalizando la formación.
Deseadme suerte.
Deseadme suerte.
jueves, 16 de octubre de 2014
Suscribirse a:
Enviar comentarios (Atom)
Etiquetas actuales
BD
(67)
DEF
(64)
PROG
(64)
SQL
(44)
Java
(29)
PRACTICAS
(20)
php
(18)
DI
(16)
PRESTASHOP
(16)
PROGRAMACIÓN WEB
(16)
HTML
(13)
SGE
(12)
ERP
(9)
CONSULTAS
(8)
css
(8)
Linux
(5)
XML
(5)
Android
(4)
PDM
(4)
C
(3)
NetBeans
(3)
PSP
(3)
SMARTY
(3)
comandos
(3)
HOOK
(2)
POST
(2)
XSD
(2)
cURL
(2)
JS
(1)
MEDIA-QUERYS
(1)
PDO
(1)
RESPONSIVE
(1)
TPL
(1)
TRADUCCIÓN
(1)
app_inventor
(1)
Todas las etiquetas
EJER
(78)
BD
(67)
DEF
(64)
PROG
(64)
SQL
(44)
c#
(40)
Programación
(39)
Ficheros
(36)
Java
(29)
bases de datos
(21)
PRACTICAS
(20)
lenguajes de marcas
(19)
AD
(18)
Entorno de desarrollo
(18)
php
(18)
PROCEDIMIENTOS
(17)
DI
(16)
FORM
(16)
PRESTASHOP
(16)
PROGRAMACIÓN WEB
(16)
lenguaje C
(16)
E/R
(14)
HTML
(13)
SGE
(12)
Sistemas informáticos
(10)
ERP
(9)
CONSULTAS
(8)
TRANSACCIONES
(8)
TRIGGER
(8)
VISUAL BASIC
(8)
css
(8)
FUNCIONES
(7)
html5
(6)
Ada
(5)
EXAMEN
(5)
Linux
(5)
XML
(5)
estructuras
(5)
Android
(4)
DISEÑO
(4)
INTERFAZ
(4)
LOG
(4)
OpenBravo
(4)
PDM
(4)
ACTUALIZAR
(3)
C
(3)
DIAGRAMA
(3)
Directorios
(3)
NEW
(3)
NOR
(3)
NetBeans
(3)
OLD
(3)
PSP
(3)
SMARTY
(3)
comandos
(3)
css3
(3)
AISLAMIENTOS
(2)
C++
(2)
CONTROLERRORES
(2)
ELIMINAR
(2)
HOOK
(2)
INSERTAR
(2)
INST
(2)
MULTITABLA
(2)
POST
(2)
RECURSIVIDAD
(2)
SUBCONSULTAS
(2)
VISTAS
(2)
XSD
(2)
cURL
(2)
punteros
(2)
AJENA
(1)
BLOQUEOS
(1)
Byte
(1)
CREACION
(1)
CRM
(1)
Configuración
(1)
Controles
(1)
Datos
(1)
GOTFOCUS
(1)
IMAGENES
(1)
INDICES
(1)
JS
(1)
Lenght
(1)
MEDIA-QUERYS
(1)
Mingw
(1)
MonoDeveloped
(1)
OPTIMISTA
(1)
PDO
(1)
PESIMISTA
(1)
RESPONSIVE
(1)
SPEAK
(1)
Scanner
(1)
Serializacion
(1)
Streams
(1)
System
(1)
TPL
(1)
TRADUCCIÓN
(1)
USUARIOS
(1)
UseSystemPasswordChar
(1)
app_inventor
(1)
char
(1)
examenes
(1)
libreoffice
(1)
make
(1)
redes
(1)
0 comentarios:
Publicar un comentario