Programas Condicionales (Estructuras IF, SWITCH, WHILE, DO WHILE) [Programas resueltos C++]
Programas Condicionales (Estructuras IF, SWITCH, WHILE, DO WHILE)
La programación de Condición o programación Condicional consiste en afirmar una expresión, si ésta es verdadera se procede a realizar una instrucción, sino se realiza otra instrucción, se le conoce también como instrucción IF. Por ejemplo:

La programación de Caso o instrucción SWITCH es también de condición con un grado más complejo. Se requiere de casos para validar una expresión. Por ejemplo:

Existe una tercera y es la instrucción DO WHILE, consiste en hacer determinadas instrucciones mientras la condición que le asignamos sea valida. Por ejemplo:

Estos 3 casos se pueden mezclar para un mejor desempeño del programa estructurado. A continuación 3 problemas para un mejor entendimiento.
Problema 1 Condicional: Dado como dato el sueldo de un trabajador, considere un aumento del 15% si su sueldo es inferior a 1000 y de un 12% en caso contrario. Imprima el sueldo con el aumento incorporado.
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float Sueldo, Total, Aumento;
system (“color F0“);
cout<<”\n\t***EJERCICIO 1 CONDICIONAL IF***\n\n“;
cout<<”\tDado como dato el sueldo de un trabajador, considere un aumento\n“;
cout<<”\tSi su sueldo es menor a 1000 se hara del 15%\n“;
cout<<”\tSi su sueldo es mayor o igual a 1000 se hara del 12%\n“;
cout<<”\tImprima el sueldo con el aumento incorporado…\n\n“;
cout<<”\tEscriba el sueldo del trabajador\n\t“;
cin>>Sueldo;
if (Sueldo<1000)
{
Aumento=Sueldo*.15;
Total=Sueldo+Aumento;
}
else
{
Aumento=Sueldo*.12;
Total=Sueldo+Aumento;
}
cout<<”\n\tSu aumento es de: “<<Aumento<<” pesos\n“;
cout<<”\tEl sueldo con aumento es de: “<<Total<<” pesos\n\n\t“;
system(“PAUSE“);
return 0;
/*Programa hecho por Raphael Alarkon
www.IngenieriaEnSistemasUAT.wordpress.com*/
}
Use la estructura IF – ELSE, la más sencilla de programación condicional.
Se declararon las variables FLOAT por puntos decimales.
Se uso la condición SI (Sueldo<1000) para realizar el porcentaje.
No era necesario poner el Aumento, pero para un mejor entendimiento lo agregue.
Problema No. 2 de estructura SWITCH: Dado como datos la matricula de un alumno, el semestre en el que está inscrito, y promedio, determine si el mismo es apto para pertenecer alguna de las profesiones que tiene la universidad. Si el alumno es aceptado teniendo en cuenta las especificaciones que se listan abajo se debe imprimir su matrícula, carrera y la palabra “Aceptado”
|
Ingeniería |
Semestre > 6 y Promedio >= 8.8 |
|
Medicina |
Semestre >=6 y Promedio > 8.5 |
|
Licenciatura |
Semestre > 5 y Promedio >=8.3 |
|
Técnico |
Semestre >=3 y Promedio >=7.8 |
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
char Carrera;
int Matricula, Semestre;
float Promedio;
system (“color F0“);
cout<<”\n\t***EJERCICIO 2 ESTRUCTURA SWITCH***\n“<<endl;
cout<<”\tDados los datos de la matricula de un alumno,\n“;
cout<<”\tsu semestre y su promedio, determine si el mismo es apto \n“;
cout<<”\tpara pertenecer a alguna de las profesiones que tiene la universidad.\n“;
cout<<”\tSi el alumno es aceptado teniendo en cuenta las especificaciones\n“;
cout<<”\tque se listan abajo, se debe imprimir su matricula, tipo de \n“;
cout<<”\tprofesion y su aprobacion\n\n“;
cout<<”\tPara entrar a Ingenieria – Semestre > 6 y Promedio >= 8.8\n“;
cout<<”\tPara entrar a Medicina – Semestre >=6 y Promedio > 8.5\n“;
cout<<”\tPara entrar a Licenciatura – Semestre > 5 y Promedio >= 8.3\n“;
cout<<”\tPara entrar a Tecnico – Semestre >=3 y Promedio >= 7.8\n\n“;
cout<<(“\tEscriba el numero de Matricula\n\t“);
cin>>Matricula;
cout<<(“\n\tEscriba el promedio\n\t“);
cin>>Promedio;
cout<<(“\n\tEscriba el Semestre\n\t“);
cin>>Semestre;
cout<<”\n\tProfesion a elegir (Escribir en MAYUSCULA la letra)\n\t“;
cout<<”[I = Ingenieria , M = Medicina , L = Licenciatura , T = Tecnico]\n\t“;
cin>>Carrera;
switch (Carrera)
{
case‘I’:
if (Semestre>6)
{
if (Promedio>=8.8)
{
cout<<”\n\n\t***APROBADO***\n“;
cout<<”\n\tMatricula No. “<<Matricula;
cout<<”\n\tTipo de Carrera: “<<Carrera<<”\n\n\t“;
}
else
{
cout<<”\n\tNo Aprobado\n\n\t“;
}
}
else
{
cout<<”\n\tNo Aprobado\n\n\t“;
}
break;
case‘M’:
if (Semestre>=6)
{
if (Promedio>8.5)
{
cout<<”\n\t***APROBADO***\n“;
cout<<”\n\tMatricula No. “<<Matricula;
cout<<”\n\tTipo de Carrera: “<<Carrera<<”\n\n\t“;
}
else
{
cout<<”\n\tNo Aprobado\n\n\t“;
}
}
else
{
cout<<”\n\tNo Aprobado\n\n\t“;
}
break;
case‘L’:
if (Semestre>5)
{
if (Promedio>=8.3)
{
cout<<”\n\t***APROBADO***\n“;
cout<<”\n\tMatricula No. “<<Matricula;
cout<<”\n\tTipo de Carrera: ”<<Carrera<<“\n\n\t“;
}
else
{
cout<<”\n\tNo Aprobado\n\n\t“;
}
}
else
{
cout<<”\n\tNo Aprobado\n\n\t“;
}
break;
case‘T’:
if (Semestre>=3)
{
if (Promedio>=7.8)
{
cout<<”\n\t***APROBADO***\n“;
cout<<”\n\tMatricula No. “<<Matricula;
cout<<”\n\tTipo de Carrera: “<<Carrera<<”\n\n\t“;
}
else
{
cout<<”\n\tNo Aprobado\n\n\t“;
}
}
else
{
cout<<”\n\tNo Aprobado\n\n\t“;
}
break;
}
system(“PAUSE“);
return 0;
/*Programa hecho por Raphael Alarkon
www.IngenieriaEnSistemasUAT.wordpress.com*/
}
Use la estructura SWITCH, mas complicada que la anterior.
Declare CHAR en la variable “Carrera” pero también pude declararla STRING.
Cuando se decide la Carrera, opte por teclear solo 1 letra en mayúscula, si lo desean pueden quitarlo y optar por escribir toda la palabra, sería igual ;)
El RETURN 0 no es necesario, puedes poner EXIT_SUCCES y sale igual .
En Promedio declare FLOAT la variable por puntos decimales, no todos sacamos 10 ;D
Leer más…






