Ya que sabemos usar los ciclos for y el gotoxy, vamos a hacer un programa que muchos profesores encargan: un recuadro en c++, es decir, un margen o contorno para darle mas presentación a un programa.
En realidad es muy sencillo:
#include<stdio.h>
#include<conio.h>
int main()
{
int x=0;
for(x=1;x<=80;x++)
{
gotoxy(x,1);printf(".");
gotoxy(x,22);printf(".");
gotoxy(4,23);printf("Nombre:Â Programa:Â Numero:Â Â Â Â ");
gotoxy(x,24);printf(".");
if(x<=24)
{
gotoxy(1,x);printf(".");
gotoxy(80,x);printf(".");
}
}
getch();
}
ModifÃquenlo, échenle imaginación. Yo use puntos (.), pero ustedes pueden usar cualquier otro caracter.
Bien, ahora que ya vimos algo de teorÃa y práctica sobre ciclos en c++, vamos a hacer un programa que nos muestre el código ASCII del 1 al 256. Por si no los saben, las computadoras solo ‘entienden’ números, asà que cada letra y cada caracter es en realidad un número; eso es el código ASCII.
Asà que el programa serÃa asÃ:
#include<stdio.h>
#include<conio.h>
int main() {
int ascii=0,col=1,ren=1;
for(ascii=1;ascii<=256;ascii++) {
gotoxy(col,ren);printf("%i: %c ",ascii,ascii);
if(ren==24) { ren=0; col+=12; }
if(col>=80) { getch(); clrscr(); ren=0; col=1; }
ren++;
}
getch();
}
Variables:
- ascii -> Controla el ciclo desde 1 hasta 256
- ren -> Controla los renglones
- col -> Controla las columnas
Cuando ren==24, los renglones comienzan en cero de nuevo y se empieza en una nueva columna; cuando col>=80, se detiene el transcurso del ciclo, luego se limpia la pantalla y se reinician los renglones y las columnas.
También es muy común entre los profesores, encargar este tipo de programas una vez que se ven las condiciones. De lo que se trata es de pedir, por ejemplo, 3 calificaciones, sacar el promedio y mostrar un mensaje si el alumno aprobó o no aprobó.
Como el promedio puede ser una valor con decimales, tenemos que declarar las variables como tipo float.
#include<stdio.h>
#include<conio.h>
int main()
{
float calif_1=0,calif_2=0,calif_3=0,promedio=0;
printf("\nIntroduce tu primera calificacion: ");scanf("%f",&calif_1);
printf("\nIntroduce tu segunda calificacion: ");scanf("%f",&calif_2);
printf("\nIntroduce tu tercera calificacion: ");scanf("%f",&calif_3);
promedio=(calif_1+calif_2+calif_3)/3;
if(promedio<6)
{
printf("\n\tLo siento, tu promedio de %.2f no es aprobatorio",promedio);
}
else
{
printf("\n\tFelicidades, pasaste con un %.2f",promedio);
}
getch();
}
Aquà estamos asumiendo que la calificación mÃnima aprobatoria es de 6, pero ¿y si quiero que este dato también sea variable? Entonces el programa quedarÃa asÃ:
Seguir leyendo…
Ok, hasta hoy ya hemos visto las herramientas necesarias para hacer nuestro primer programa un poco más en serio. Este programa nos pide la medida de los tres lados de un triángulo y nos devuelve el tipo de triangulo que es (equilátero, isósceles o escaleno).
Para esto vamos a usar condiciones en C++ para comparar los lados de nuestro triángulo.
Un trÃangulo equilátero tiene sus tres lados iguales, por tanto, la condición quedarÃa asÃ:
“si el lado 1 es igual al lado 2 y el lado 2 es igual al lado 3, entonces es equilátero”
Un trÃangulo isósceles tiene solo dos lados iguales, por tanto, la condición quedarÃa asÃ:
“si el lado 1 es igual al lado 2 y el lado 2 es diferente al lado 3, o
el lado 2 es igual al lado 3 y el lado 3 es diferente al lado 1, o
el lado 3 es igual al lado 1 y el lado 1 es diferente al lado 2 entonces es isósceles”
Un trÃangulo escaleno tiene sus tres lados diferentes, por tanto, la condición quedarÃa asÃ:
“si el lado 1 es diferente al lado 2 y el lado 2 es diferente al lado 3 y el lado 3 es diferente al lado 1, entonces es escaleno”
Pero vamos a lo bueno. El programa completo en C++, serÃa asÃ:
#include<stdio.h>
#include<conio.h>
int main()
{
//Declaracion de variables
int lado1=0,lado2=0,lado3=0;
//Pedir los datos
printf("TIPOS DE TRIANGULOS");
printf("\nIntroduce el lado 1: ");scanf("%i",&lado1);
printf("\nIntroduce el lado 2: ");scanf("%i",&lado2);
printf("\nIntroduce el lado 3: ");scanf("%i",&lado3);
//Hacer comparaciones
if(lado1==lado2 && lado2==lado3)
{ printf("\n\tEs equilatero"); }
if(lado1==lado2 && lado2!=lado3 || lado2==lado3 && lado3!=lado1 || lado3==lado1 && lado1!=lado2)
{ printf("\n\tEs isosceles"); }
if(lado1!=lado2 && lado2!=lado3 && lado3!=lado1)
{ printf("\n\tEs escaleno"); }
//Pausa
getch();
}
Aprovecho para explicarles un detalle más. \n (alt+92 n) dentro de un printf(); indica un salto de lÃnea, y \t (alt+92 t) indica una sangrÃa o tabulado o algo de espacio.