• Ir al contenido
  • Ir a la navegación
  • Ir al buscador
 
Infoudo
ING English  |  ES Spanish
Directorio WAP para móvil, Tablet, iPhone o Smartphone

Centro de Noticias de la Universidad de Oriente

Categorías

 

Inicio  |  Contacto  |  Posts  |  TIENDA PUBLISHOP  |  Sobre nosotros  |  Registro y Planes  |  Pagos  |  Donaciones

Ver Código QR de esta página



Campaña #AyudemosaYuli  |  Campaña #AyudemosaStephany.  |  ¿Interesado(a) en cursos y resolución de ejercicios de materias prácticas? Para más información, contáctenos por: Teléfono: +58 (412) - 8226575. WhatsApp y Telegram: +58 (412) - 8226575 o escriba al correo: [email protected]. Únete al grupo: SISTEMAS (UDOMO).

[»] **Musica para tu celular

WEB TRANSLATOR

LINK for English Language

Use this link for translate into English


+ Buscar en InfoUDO

 

Estructuras condicionales anidadas

Tweet
 

lunes julio 11, 2016

Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de una estructura condicional hay otra estructura condicional.

diagrama flujo estructura condicional anidada

El diagrama de flujo que se presenta contiene dos estructuras condicionales. La principal se trata de una estructura condicional compuesta y la segunda es una estructura condicional simple y está contenida por la rama del falso de la primer estructura.

Es común que se presenten estructuras condicionales anidadas aún más complejas.

Problema:

Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el promedio e imprima alguno de estos mensajes:

Si el promedio es >=7 mostrar "Promocionado". Si el promedio es >=4 y <7 mostrar "Regular". Si el promedio es <4 mostrar "Reprobado".

Diagrama de flujo:

problema estructuras condicionales anidades

Analicemos el siguiente diagrama. Se ingresan tres valores por teclado que representan las notas de un alumno, se obtiene el promedio sumando los tres valores y dividiendo por 3 dicho resultado (Tener en cuenta que si el resultado es un valor real solo se almacena la parte entera). Primeramente preguntamos si el promedio es superior o igual a 7, en caso afirmativo va por la rama del verdadero de la estructura condicional mostramos un mensaje que indica "Promocionado" (con comillas indicamos un texto que debe imprimirse en pantalla). En caso que la condición nos de falso, por la rama del falso aparece otra estructura condicional, porque todavía debemos averiguar si el promedio del alumno es superior o igual a cuatro o inferior a cuatro. Estamos en presencia de dos estructuras condicionales compuestas.

Programa:

#include<iostream>

using namespace std;

void main()
{
    int nota1,nota2,nota3;
    cout <<"Ingrese primer nota:";
    cin >>nota1;
    cout <<"Ingrese segunda nota:";
    cin >>nota2;
    cout <<"Ingrese tercer nota:";
    cin >>nota3;
    int promedio=(nota1 + nota2 + nota3) / 3;
    if (promedio >= 7) 
    {
        cout <<"Promocionado";    
    } 
    else 
    {
        if (promedio >= 4) 
        {
            cout <<"Regular";
        }
        else 
        {
            cout <<"Reprobado";
        }
    }
    cin.get();
    cin.get();
}

Codifiquemos y ejecutemos este programa. Al correr el programa deberá solicitar por teclado la carga de tres notas y mostrarnos un mensaje según el promedio de las mismas.

Podemos definir un conjunto de variables del mismo tipo en una misma línea:
    int nota1,nota2,nota3;

Esto no es obligatorio pero a veces, por estar relacionadas, conviene.

A la codificación del if anidado podemos observarla por el else del primer if. Para no tener problemas (olvidarnos) con las llaves de apertura y cerrado podemos ver la siguiente regla: Cada vértice representa una llave de apertura y una de cierre:

llaves en los if en C++

Este proyecto lo puede descargar en un zip desde este enlace :

EstadoAlumno
  1. Se cargan por teclado tres números distintos. Mostrar por pantalla el mayor de ellos.
  2. Se ingresa por teclado un valor entero, mostrar una leyenda que indique si el número es positivo, negativo o nulo (es decir cero)
  3. Confeccionar un programa que permita cargar un número entero positivo de hasta tres cifras y muestre un mensaje indicando si tiene 1, 2, o 3 cifras. Mostrar un mensaje de error si el número de cifras es mayor.
  4. Un postulante a un empleo, realiza un test de capacitación, se obtuvo la siguiente información: cantidad total de preguntas que se le realizaron y la cantidad de preguntas que contestó correctamente. Se pide confeccionar un programa que ingrese los dos datos por teclado e informe el nivel del mismo según el porcentaje de respuestas correctas que ha obtenido, y sabiendo que:
    	Nivel máximo:	Porcentaje>=90%.
    	Nivel medio:	Porcentaje>=75% y <90%.
    	Nivel regular:	Porcentaje>=50% y <75%.
    	Fuera de nivel:	Porcentaje<50%.
    
Solución
#include<iostream>

using namespace std;

void main()
{
    int num1,num2,num3;
    cout <<"Ingrese primer valor:";
    cin >>num1;
    cout <<"Ingrese segunda valor:";
    cin >>num2;
    cout <<"Ingrese tercer valor:";
    cin >>num3;
    if (num1 > num2) 
    {
        if (num1 > num3) 
        {
            cout <<num1;
        } 
        else 
        {
            cout <<num3;
        }
    } 
    else 
    {
        if (num2 > num3) 
        {
            cout <<num2;
        }
        else 
        {
            cout <<num3;
        }
    }
    cin.get();
    cin.get();
}

Este proyecto lo puede descargar en un zip desde este enlace :MayorTresNumeros

#include<iostream> using namespace std; void main() { int num; cout <<"Ingrese un valor:"; cin >>num; if (num == 0) { cout <<"Se ingresó el cero"; } else { if (num > 0) { cout <<"Se ingresó un valor positivo"; } else { cout <<"Se ingresó un valor negativo"; } } cin.get(); cin.get(); }

Este proyecto lo puede descargar en un zip desde este enlace :PositivoNegativoNulo.zip

#include<iostream> using namespace std; void main() { int num; cout <<"Ingrese un valor de hasta tres dígitos positivo:"; cin >>num; if (num < 10) { cout <<"Tiene un dígito"; } else { if (num < 100) { cout <<"Tiene dos dígitos"; } else { if (num < 1000) { cout <<"Tiene tres dígitos"; } else { cout <<"Error en la entrada de datos."; } } } cin.get(); cin.get(); }

Este proyecto lo puede descargar en un zip desde este enlace :CantidadCifras

#include<iostream> using namespace std; void main() { int totalPreguntas,totalCorrectas; cout <<"Ingrese la cantidad total de preguntas del examen:"; cin >>totalPreguntas; cout <<"Ingrese la cantidad total de preguntas contestadas correctamente:"; cin >>totalCorrectas; int porcentaje=totalCorrectas * 100 / totalPreguntas; if (porcentaje >= 90) { cout <<"Nivel máximo"; } else { if (porcentaje >= 75) { cout <<"Nivel medio"; } else { if (porcentaje >= 50) { cout <<"Nivel regular"; } else { cout <<"Fuera de nivel"; } } } cin.get(); cin.get(); }

Este proyecto lo puede descargar en un zip desde este enlace :PostulanteEmpleo

Síguenos en Twitter@SergioAleman1 | Síguenos en Facebook@INFOUDO.OFICIAL | Síguenos en Twitter@infoudomonagas

Categorías: #C++, #


[0] Atrás | Directorio
« Inicio

Apps Infoudo
Apps Infoudo ¡Descarga el icono directo en el menú de tu equipo!
[»] Las mejores Apps para tu celular
[»] Imágenes Gratis


Comenta o lee lo que otros opinan

COMPÁRTELO:

Indica que te gusta y comparte

Me Gusta :)Facebook Tuiteame :)Twitter .WhatsApp .Telegram . LinkedIn


También te puede interesar:

NOCIONES BÁSICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Material de Apoyo del Curso de Programación - Lenguaje C++ - Periodo (Feb - May) del año en curso
Parámetros por valor y por referencia de objetos
Parámetros por valor y por referencia de datos simples
Métodos constantes (const)
Parámetros de un método constante (const)
Definición de constantes (const)
Directiva #define
Puntero this
Métodos estáticos de una clase

Ver Todas Las Páginas Relacionadas

« Estructuras condicionales simples y compuestas  |  Condiciones compuestas con operadores lógicos »
 
Apps Infoudo
 
Buscador:
Powered by Google:


Web móvil
Imágenes
La Web

 

Síguenos por RSS


Puedes leerlos mediante el navegador Firefox, lectores de noticias en la computadora o el móvil o usando el servicio de Feedburner de Google para recibir las notificaciones por correo electrónico.
RSS - Suscribirse usando Feedburner de Google

email Recibir las nuevas publicaciones de Infoudo por email

Atom


»Ir a URL
.....
Registra Gratis Tu Negocio
....
Sugerir un nuevo sitio WAP

...
¡Bloguea Ya!

..
Registro de Profesionales(Abogados, escritores, doctores, licenciados, ingenieros, etc.)
.
Soporte

Síguenos en las redes sociales

Síguenos en Facebook facebook.com/INFOUDO.OFICIAL Síguenos en Twitter @infoudomon Síguenos en Instagram @infoudooficial Síguenos en Telegram t.me/Infoudooficial
Síguenos en Facebook facebook.com/tuinfou Síguenos en Twitter @infoudomonagas
Síguenos en WhatsApp INFO UDO Síguenos en YouTube youtube.com/@infoudooficial
Síguenos en Facebook facebook.com/SergioAlemanOficial Síguenos en Twitter @SergioAleman1 Síguenos en Instagram @alemansergio
Síguenos en Threads @alemansergio
Síguenos en WhatsApp wa.me/qr/Y7Q232VLZPR5O1 Síguenos en Tiktok @alemansergio
Síguenos en Telegram t.me/SergioAlemanOficial Síguenos en YouTube youtube.com/@sergioaleman
Síguenos en Facebook facebook.com/boludooficial Síguenos en Twitter @bolUDOoficial Síguenos en Instagram @boludooficial Síguenos en Telegram t.me/Boludooficial
Síguenos en WhatsApp BolUDOoficial Síguenos en YouTube youtube.com/@boludo.oficial

Mis cuentas sociales

FB
Twitter
Pinterest
Instagram
Canales RSS con las últimas publicaciones
Otras  |  Linktree

Móvil: 0412 8226575 - E-mail: [email protected] - [email protected] - WhatsApp: +58 (0412) 822.65.75


Copyscape
Volver arriba

Protocolo  |  Mapa del Sitio  |  Report Abuse - DMCA  |  Términos y Condiciones  |  Ayuda  |  Privacidad de Datos  |  Política de Cookies  |  Reportar un bug  |  Licencia: CC BY-NC-ND 3.0

Copyright ©2023 Infoudo. Todos los derechos reservados. Diseñado, desarrollado, administrado y mantenido por Sergio Alemán Mi perfil en GitHub


SUBIR