Programas C Correctos
Programas C Correctos
#include <conio.h>
#include <stdio.h>
int main()
{
int pesetas;
float euros;
getch(); /* Pausa */
return 0;
}
/* Programa: De pesetas a euros (Soluci�n 2) */
#include <conio.h>
#include <stdio.h>
int main()
{
int pesetas;
getch(); /* Pausa */
return 0;
}
/* Programa: Intercambio de los valores de tres variables */
#include <conio.h>
#include <stdio.h>
int main()
{
int auxiliar, v1, v2, v3;
getch(); /* Pausa */
return 0;
}
/* Programa: N�mero m�ltiplo de 3 */
#include <conio.h>
#include <stdio.h>
int main()
{
int numero;
if ( numero % 3 == 0 )
printf( "\n ES M%cLTIPLO DE 3", 233 );
else
printf( "\n NO ES M%cLTIPLO DE 3", 233 );
getch(); /* Pausa */
return 0;
}
#include <conio.h>
#include <stdio.h>
int main()
{
int anio;
getch(); /* Pausa */
return 0;
}
/* Programa: Color de un sem�foro (Soluci�n 1) */
#include <conio.h>
#include <stdio.h>
int main()
{
int numero;
switch ( numero )
{
case 1 : printf( "\n Rojo significa: \"No pasar\"" );
break;
case 2 : printf( "\n Verde significa: \"Adelante\"" );
break;
case 3 : printf( "\n Amarillo significa: \"Precauci%cn\"", 162 );
break;
default : printf( "\n ERROR: %d, no esta asociado a ning%cn color.",
numero, 163 );
}
getch(); /* Pausa */
return 0;
}
/* Programa: La hora un segundo despu�s */
#include <conio.h>
#include <stdio.h>
int main()
{
int h, m, s;
if ( h >= 0 && h <= 23 && m >= 0 && m <= 59 && s >= 0 && s <= 59 )
{
s++;
if ( s == 60 )
{
s = 0;
m++;
if ( m == 60 )
{
m = 0;
h++;
if ( h == 24 )
h = 0;
}
}
printf( "\n Un segundo despu%cs la hora es: %d:%d:%d", 130, h, m, s );
}
else
printf( "\n ERROR: La hora es incorrecta." );
getch(); /* Pausa */
return 0;
}
/* Programa: Validar fecha (Soluci�n 1) */
#include <conio.h>
#include <stdio.h>
int main()
{
int dia, mes, anio;
case 4 :
case 6 :
case 9 :
case 11 : if ( dia >= 1 && dia <= 30 )
printf( "\n FECHA CORRECTA" );
else
printf( "\n FECHA INCORRECTA" );
break;
getch(); /* Pausa */
return 0;
}
Soluci�n 2: utilizando una variable interruptor
A continuaci�n, se muestra una segunda soluci�n, en la cual, se hace uso de una
variable interruptor (fecha_correcta), tambi�n llamada bandera, centinela o
conmutador:
#include <conio.h>
#include <stdio.h>
int main()
{
int dia, mes, anio, fecha_correcta;
fecha_correcta = 0;
case 4 :
case 6 :
case 9 :
case 11 : if ( dia >= 1 && dia <= 30 )
fecha_correcta = 1;
break;
if ( fecha_correcta )
printf( "\n FECHA CORRECTA" );
else
printf( "\n FECHA INCORRECTA" );
getch(); /* Pausa */
return 0;
}
Soluci�n 3: utilizando una nueva variable
Por �ltimo, se propone una tercera soluci�n, donde se utiliza una nueva variable
llamada dia_maximo:
#include <conio.h>
#include <stdio.h>
int main()
{
int dia_maximo, dia, mes, anio, fecha_correcta;
fecha_correcta = 0;
case 4 :
case 6 :
case 9 :
case 11 : dia_maximo = 30;
break;
if ( fecha_correcta )
printf( "\n FECHA CORRECTA" );
else
printf( "\n FECHA INCORRECTA" );
getch(); /* Pausa */
return 0;
}
/* Programa: Calificaci�n seg�n nota validada */
#include <conio.h>
#include <stdio.h>
int main()
{
float nota;
if ( nota >= 5 )
printf( "\n APROBADO" );
else
printf( "\n SUSPENDIDO" );
getch(); /* Pausa */
return 0;
}
/* Programa: Suma y cantidad de resultados calculados */
#include <conio.h>
#include <stdio.h>
int main()
{
char seguir;
int acumulador, contador, numero, resultado;
acumulador = 0;
contador = 0;
do
{
printf( "\n Introduzca un n%cmero entero: ", 163 );
scanf( "%d", &numero);
acumulador += resultado;
contador++;
printf( "\n\n %cDesea introducir otro n%cmero (s/n)?: ", 168, 163 );
fflush( stdin );
scanf( "%c", &seguir);
} while ( seguir != 'n' );
getch(); /* Pausa */
return 0;
}
/* Programa: Cuadrados de los n�meros del 1 al 10 */
#include <conio.h>
#include <math.h>
#include <stdio.h>
int main()
{
int numero;
getch(); /* Pausa */
return 0;
}
/* Programa: Multiplicaci�n con sumas sucesivas */
#include <conio.h>
#include <stdio.h>
int main()
{
int acumulador, contador, n1, n2;
if ( n2 != 0 )
{
contador = 1;
while ( contador <= n1 )
{
acumulador += n2;
contador++;
}
}
}
else
printf( "\n ERROR: Ambos n%cmeros deben ser mayores o iguales que cero.",
163 );
getch(); /* Pausa */
return 0;
}
/* Programa: Tabla de multiplicar de un n�mero */
#include <stdio.h>
int main()
{
char seguir;
int i, numero;
do
{
printf( "\n Introduzca un n%cmero entero: ", 163 );
scanf( "%d", &numero );
return 0;
}
/* Programa: Men� calculadora de n�meros enteros */
#include <conio.h>
#include <stdio.h>
int main()
{
char opcion;
int n1, n2;
do
{
printf( "\n >>> MENU CALCULADORA <<<" );
printf( "\n\n 1. Sumar dos n%cmeros.", 163 );
printf( "\n 2. Restar dos n%cmeros.", 163 );
printf( "\n 3. Multiplicar dos n%cmeros.", 163 );
printf( "\n 4. Dividir dos n%cmeros.", 163 );
printf( "\n 5. Salir.\n" );
switch ( opcion )
{
/* Opci�n 1: Sumar */
case '1': printf( "\n Introduzca primer sumando: " );
scanf( "%d", &n1);
printf( "\n Introduzca segundo sumando: " );
scanf( "%d", &n2);
printf( "\n %d + %d = %d\n", n1, n2, n1 + n2 );
break;
/* Opci�n 2: Restar */
case '2': printf( "\n Introduzca minuendo: " );
scanf( "%d", &n1);
printf( "\n Introduzca sustraendo: " );
scanf( "%d", &n2);
printf( "\n %d - %d = %d\n", n1, n2, n1 - n2 );
break;
/* Opci�n 3: Multiplicar */
case '3': printf( "\n Introduzca primer operando: " );
scanf( "%d", &n1);
printf( "\n Introduzca segundo operando: " );
scanf( "%d", &n2);
printf( "\n %d * %d = %d\n", n1, n2, n1 * n2 );
break;
/* Opci�n 4: Divisi�n entera */
case '4': printf( "\n Introduzca dividendo: " );
scanf( "%d", &n1);
printf( "\n Introduzca divisor: " );
scanf( "%d", &n2);
if ( n2 != 0 )
printf( "\n %d div %d = %d ( Resto = %d )\n", n1, n2,
n1 / n2, n1 % n2 );
else
printf( "\n ERROR: No se puede dividir entre cero.\
n" );
}
return 0;
}
/* Programa: Ceros introducidos (Soluci�n 1) */
#include <conio.h>
#include <stdio.h>
int main()
{
int ceros, i, numero;
ceros = 0;
while ( numero == 0 )
{
ceros++;
printf( "\n Introduzca n%cmero entero %d: ", 163, i );
scanf( "%d", &numero );
}
}
getch(); /* Pausa */
return 0;
}
/* Programa: Divisi�n entera con restas sucesivas */
#include <conio.h>
#include <stdio.h>
int main()
{
int cociente, dividendo, divisor, resto;
getch(); /* Pausa */
return 0;
}