SlideShare ist ein Scribd-Unternehmen logo
1 von 5
La instrucción if es, por excelencia, la más utilizada para construir estructuras de control
de flujo.
SINTAXIS
Primera Forma
Ahora bién, la sintaxis utilizada en la programación de C++ es la siguiente:


if (condicion)
   {
       Set de instrucciones
   }



siendo "condicion" el lugar donde se pondrá la condicion que se tiene que cumplir para
que sea verdadera la sentencia y así proceder a realizar el "set de instrucciones" o código
contenido dentro de la sentencia.


Segunda Forma
Ahora veremos la misma sintaxis pero ahora le añadiremos la parte "Falsa" de la
sentencia:


if (condicion)
   {
       Set de instrucciones             //PARTE VERDADERA
   }
else
   {
       Set de instrucciones 2           //Parte FALSA
   }



La forma mostrada anteriormente muestra la union de la parte "VERDADERA" con la
nueva secuencia la cual es la parte "FALSA" de la sentencia de decision "IF" en la cual
esta compuesta por el:
else
   {
       Set de instrucciones 2        //Parte FALSA
   }
la palabra "else" o "De lo contrario" indica al lenguaje que de lo contrario al no ser
verdadera o no se cumpla la parte verdadera entonces realizara el "set de instrucciones 2".


EJEMPLOS DE SENTENCIAS IF...
Ejemplo 1:
if(numero == 0) //La condicion indica que tiene que ser igual a Cero
    {
      cout<<"El Numero Ingresado es Igual a Cero";
    }


Ejemplo 2:
if(numero > 0) // la condicion indica que tiene que ser mayor a Cero
    {
      cout<<"El Numero Ingresado es Mayor a Cero";
    }


Ejemplo 3:
if(numero < 0) // la condicion indica que tiene que ser menor a Cero
    {
      cout<<"El Numero Ingresado es Menor a Cero";
    }


Ahora uniremos todos estos ejemplos para formar un solo programa mediante la
utilización de la sentencia "Else" e introduciremos el hecho de que se puede escribir en
este espacio una sentencia if ya que podemos ingresar cualquier tipo de código dentro de
la sentencia escrita después de un Else.
Ejemplo 4:


if(numero == 0) //La condicion indica que tiene que ser igual a Cero
   {
       cout<<"El Numero Ingresado es Igual a Cero";
   }
else
   {
        if(numero > 0) // la condicion indica que tiene que ser mayor a
Cero
        {
             cout<<"El Numero Ingresado es Mayor a Cero";
        }
        else
        {
           if(numero < 0) // la condicion indica que tiene que ser menor
a Cero
           {
              cout<<"El Numero Ingresado es Menor a Cero";
           }
        }
     }
EL ENUNCIADO if
Con la instrucción if tenemos el primer ejemplo de un enunciado condicional. Observe en
primera instancia la presencia de un bucle for con un enunciado compuesto que contiene
dos instrucciones if. Este es a su vez un ejemplo de instrucciones anidadas, está claro que
cada una de las instrucciones if será ejecutada 8 veces.

/* Ejemplo de los enunciados if e if-else */
# include <stdio.h>

int main()
{
   int valor;
   for(valor = 0 ; valor < 8 ; valor = valor + 1)
   {
      if(valor == 2)
      printf("Este mensaje se muestra solo cuando"
        "valor es igual a 2 n");
      if(valor < 5)
      printf("Este mensaje se muestra cuando"
        "valor que es %d es menor que 5n", valor);
      else
      printf("Este mensaje se muestra cuando"
        "valor que es %d es mayor que 4n", valor);
   } /* Fin del bucle */
   printf("Este mensaje se mostrara solo cuando finalice el bucle n");
   return 0;
}




Veamos el primer enunciado if, este empieza con la palabra clave if seguida de una
expresión entre paréntesis, si esta es evaluada a verdadero se ejecuta la instrucción que le
sigue, pero si es falso se brinca esta instrucción y continúa la ejecución en los siguientes
enunciados. La expresión "valor == 2" está simplemente preguntando si el valor de valor
es igual a 2, observe que se está utilizando un doble signo de igual para evaluar a
verdadero cuando valor vale 2, utilizar "valor == 2" tiene un significado completamente
diferente que explicaremos mas adelante.
La segunda instrucción if es similar a la primera excepto por la adición de la palabra
clave else en la línea 14, esto significa que si el enunciado entre paréntesis se evalúa a
verdadero se ejecuta la primera expresión, de lo contrario la instrucción que sigue a else
será ejecutada, por lo que una de las dos instrucciones será siempre ejecutada. Observe
además que el programa imprime dos mensajes diferentes cuando valor vale 2, esto es así
porque tenemos dos condiciones verdaderas cuando valor es 2, esto es, cuando valor es
exactamente 2 y a la vez es menor que 5. Compile este programa y observe su
funcionamiento.




¿Han pagado algún recibo en una máquina automática y se han preguntado cómo será el
programa que les devuelve el cambio? Lo más seguro es que no, pero pues resulta que el
profesor de Miguel Ángel le encargó un programa que simulara eso, en sus propias
palabras:
“Supón que una maquina de monedas de 10,5,2,1 y 50 centavos. Debes escribir un
programa que decida cuantas monedas dará de cambio, dando prioridad las de mayor
denominación. Debe recibir como entrada la cantidad de dar a cambio. Ejemplo: para
$40.50 será 4 de 10, 0 de 5, 0 de 2, 0 de 1 y 1 de 50 centavos.”




Así que el primer problema se presenta con la entrada ¿cómo hacer que el usuario
introduzca sólo cantidades como $50 o $43.50 y no cantidades como $23.45 o $9.70?
Lo que se me ocurrió es pedir la cantidad en una variable float (cambio), en otra variable
convertir esa cantidad a tipo int (cambioint). En ese proceso se perderá la parte decimal
del número, así que si la resta cambio – cambioint es igual a 0 o igual a 0.50, la cantidad
que introdujo el usuario es correcta.
La otra parte es sencilla, sólo se necesita ver si la variable cambio es mayor que 10. Si si,
se le restan 10 a la variable y se aumenta un contador. Luego se hace lo mismo con las
demás monedas.
Pero bueno, el programa es este:
1    #include<iostream>
2    using namespace std;
3
4    int main()
5    {
6        float cambio; int cambioint, m10=0, m5=0, m2=0, m1=0, m50c=0;
7        do
8        {
9            cout << "Cambio?: "; cin >> cambio;
10           cambioint = (int)cambio;
11       }while((cambio - cambioint) != 0 && (cambio - cambioint) != 0.50);
12       while(cambio != 0)
13       {
14           if(cambio>=10)
15           {
16               m10++;
17               cambio-=10;
18           }
19           else if(cambio>=5)
20           {
21               m5++;
22               cambio-=5;
23           }
24           else if(cambio>=2)
25           {
26               m2++;
27               cambio-=2;
28           }
29           else if(cambio>=1)
30           {
31               m1++;
32               cambio-=1;
33           }
34           else if(cambio>=0.5)
35           {
36               m50c++;
37               cambio-=0.5;
38           }
39       }
40       cout << m10 << ", " << m5 << ", " << m2 << ", " << m1 << ", " << m50c;
41   }
Solo le faltaría darle un poco de formato a la salida, pero pues ya es cuestión de gustos y
ya saben, cualquier duda aquí están los comentarios abajo.

Weitere ähnliche Inhalte

Was ist angesagt?

Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
David
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
Regina Flores
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
quesada_diego
 
Practica2
Practica2Practica2
Practica2
carlos
 

Was ist angesagt? (20)

Palindromos
PalindromosPalindromos
Palindromos
 
Estructura repetitiva for y while
Estructura repetitiva for y whileEstructura repetitiva for y while
Estructura repetitiva for y while
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
Sentencia Condicional
Sentencia CondicionalSentencia Condicional
Sentencia Condicional
 
Líneas+de+código
Líneas+de+códigoLíneas+de+código
Líneas+de+código
 
Gabrielgonzalez
GabrielgonzalezGabrielgonzalez
Gabrielgonzalez
 
CICLO FOR
CICLO FORCICLO FOR
CICLO FOR
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
Clase 6
Clase 6Clase 6
Clase 6
 
Repaso c
Repaso cRepaso c
Repaso c
 
Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)
 
Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
DATOS LENGUAJE C
DATOS LENGUAJE CDATOS LENGUAJE C
DATOS LENGUAJE C
 
Chuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantesChuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantes
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos For
 
Practica2
Practica2Practica2
Practica2
 

Andere mochten auch

Abc pruebas saber 3º 5º y 9º
Abc pruebas saber 3º 5º y 9ºAbc pruebas saber 3º 5º y 9º
Abc pruebas saber 3º 5º y 9º
INDEIPCO LTDA
 
Ejemplos de preguntas prueba de biologia 2010
Ejemplos de preguntas prueba de biologia 2010Ejemplos de preguntas prueba de biologia 2010
Ejemplos de preguntas prueba de biologia 2010
INDEIPCO LTDA
 
Socialismo, Socialismo nacional y Facismo
Socialismo, Socialismo nacional y FacismoSocialismo, Socialismo nacional y Facismo
Socialismo, Socialismo nacional y Facismo
Aaron Flores
 

Andere mochten auch (6)

May 2012 - Pueblo Chemical Agent-Destruction Pilot Plant Monthly Status Brief...
May 2012 - Pueblo Chemical Agent-Destruction Pilot Plant Monthly Status Brief...May 2012 - Pueblo Chemical Agent-Destruction Pilot Plant Monthly Status Brief...
May 2012 - Pueblo Chemical Agent-Destruction Pilot Plant Monthly Status Brief...
 
Putting the "C" in WCAG: accessibility for web writers
Putting the "C" in WCAG: accessibility for web writersPutting the "C" in WCAG: accessibility for web writers
Putting the "C" in WCAG: accessibility for web writers
 
Abc pruebas saber 3º 5º y 9º
Abc pruebas saber 3º 5º y 9ºAbc pruebas saber 3º 5º y 9º
Abc pruebas saber 3º 5º y 9º
 
Ejemplos de preguntas prueba de biologia 2010
Ejemplos de preguntas prueba de biologia 2010Ejemplos de preguntas prueba de biologia 2010
Ejemplos de preguntas prueba de biologia 2010
 
Una aproximación hacia a la comprensión de los modelos pedagógicos
Una aproximación hacia a la comprensión de los modelos pedagógicosUna aproximación hacia a la comprensión de los modelos pedagógicos
Una aproximación hacia a la comprensión de los modelos pedagógicos
 
Socialismo, Socialismo nacional y Facismo
Socialismo, Socialismo nacional y FacismoSocialismo, Socialismo nacional y Facismo
Socialismo, Socialismo nacional y Facismo
 

Ähnlich wie If

5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-else
SNPP
 
Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
Stalyn Cruz
 

Ähnlich wie If (20)

Sentencias
SentenciasSentencias
Sentencias
 
Sentencias
SentenciasSentencias
Sentencias
 
5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-else
 
Estructuras de control C++
Estructuras de control C++Estructuras de control C++
Estructuras de control C++
 
Manual de programación de Arduino
Manual de programación de Arduino Manual de programación de Arduino
Manual de programación de Arduino
 
Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn Estructurada
 
Php
PhpPhp
Php
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
7. estructura condicional if
7.  estructura condicional if7.  estructura condicional if
7. estructura condicional if
 
3 condicionales y ciclos
3 condicionales y ciclos3 condicionales y ciclos
3 condicionales y ciclos
 
Parcial
ParcialParcial
Parcial
 
Presentación
Presentación Presentación
Presentación
 
Factorial en C++
Factorial en C++Factorial en C++
Factorial en C++
 
Estructuras de Control - Ivan Walkes Mc.
Estructuras de Control - Ivan Walkes Mc.Estructuras de Control - Ivan Walkes Mc.
Estructuras de Control - Ivan Walkes Mc.
 
Estructuras de Control
Estructuras de ControlEstructuras de Control
Estructuras de Control
 
Estructuras PseInt
Estructuras PseIntEstructuras PseInt
Estructuras PseInt
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
Acerca de los algoritmos de mezcla en cajeros automáticos
Acerca de los algoritmos de mezcla en cajeros automáticosAcerca de los algoritmos de mezcla en cajeros automáticos
Acerca de los algoritmos de mezcla en cajeros automáticos
 
Teoria
TeoriaTeoria
Teoria
 

Kürzlich hochgeladen

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Kürzlich hochgeladen (20)

Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 

If

  • 1. La instrucción if es, por excelencia, la más utilizada para construir estructuras de control de flujo. SINTAXIS Primera Forma Ahora bién, la sintaxis utilizada en la programación de C++ es la siguiente: if (condicion) { Set de instrucciones } siendo "condicion" el lugar donde se pondrá la condicion que se tiene que cumplir para que sea verdadera la sentencia y así proceder a realizar el "set de instrucciones" o código contenido dentro de la sentencia. Segunda Forma Ahora veremos la misma sintaxis pero ahora le añadiremos la parte "Falsa" de la sentencia: if (condicion) { Set de instrucciones //PARTE VERDADERA } else { Set de instrucciones 2 //Parte FALSA } La forma mostrada anteriormente muestra la union de la parte "VERDADERA" con la nueva secuencia la cual es la parte "FALSA" de la sentencia de decision "IF" en la cual esta compuesta por el: else { Set de instrucciones 2 //Parte FALSA } la palabra "else" o "De lo contrario" indica al lenguaje que de lo contrario al no ser verdadera o no se cumpla la parte verdadera entonces realizara el "set de instrucciones 2". EJEMPLOS DE SENTENCIAS IF...
  • 2. Ejemplo 1: if(numero == 0) //La condicion indica que tiene que ser igual a Cero { cout<<"El Numero Ingresado es Igual a Cero"; } Ejemplo 2: if(numero > 0) // la condicion indica que tiene que ser mayor a Cero { cout<<"El Numero Ingresado es Mayor a Cero"; } Ejemplo 3: if(numero < 0) // la condicion indica que tiene que ser menor a Cero { cout<<"El Numero Ingresado es Menor a Cero"; } Ahora uniremos todos estos ejemplos para formar un solo programa mediante la utilización de la sentencia "Else" e introduciremos el hecho de que se puede escribir en este espacio una sentencia if ya que podemos ingresar cualquier tipo de código dentro de la sentencia escrita después de un Else. Ejemplo 4: if(numero == 0) //La condicion indica que tiene que ser igual a Cero { cout<<"El Numero Ingresado es Igual a Cero"; } else { if(numero > 0) // la condicion indica que tiene que ser mayor a Cero { cout<<"El Numero Ingresado es Mayor a Cero"; } else { if(numero < 0) // la condicion indica que tiene que ser menor a Cero { cout<<"El Numero Ingresado es Menor a Cero"; } } }
  • 3. EL ENUNCIADO if Con la instrucción if tenemos el primer ejemplo de un enunciado condicional. Observe en primera instancia la presencia de un bucle for con un enunciado compuesto que contiene dos instrucciones if. Este es a su vez un ejemplo de instrucciones anidadas, está claro que cada una de las instrucciones if será ejecutada 8 veces. /* Ejemplo de los enunciados if e if-else */ # include <stdio.h> int main() { int valor; for(valor = 0 ; valor < 8 ; valor = valor + 1) { if(valor == 2) printf("Este mensaje se muestra solo cuando" "valor es igual a 2 n"); if(valor < 5) printf("Este mensaje se muestra cuando" "valor que es %d es menor que 5n", valor); else printf("Este mensaje se muestra cuando" "valor que es %d es mayor que 4n", valor); } /* Fin del bucle */ printf("Este mensaje se mostrara solo cuando finalice el bucle n"); return 0; } Veamos el primer enunciado if, este empieza con la palabra clave if seguida de una
  • 4. expresión entre paréntesis, si esta es evaluada a verdadero se ejecuta la instrucción que le sigue, pero si es falso se brinca esta instrucción y continúa la ejecución en los siguientes enunciados. La expresión "valor == 2" está simplemente preguntando si el valor de valor es igual a 2, observe que se está utilizando un doble signo de igual para evaluar a verdadero cuando valor vale 2, utilizar "valor == 2" tiene un significado completamente diferente que explicaremos mas adelante. La segunda instrucción if es similar a la primera excepto por la adición de la palabra clave else en la línea 14, esto significa que si el enunciado entre paréntesis se evalúa a verdadero se ejecuta la primera expresión, de lo contrario la instrucción que sigue a else será ejecutada, por lo que una de las dos instrucciones será siempre ejecutada. Observe además que el programa imprime dos mensajes diferentes cuando valor vale 2, esto es así porque tenemos dos condiciones verdaderas cuando valor es 2, esto es, cuando valor es exactamente 2 y a la vez es menor que 5. Compile este programa y observe su funcionamiento. ¿Han pagado algún recibo en una máquina automática y se han preguntado cómo será el programa que les devuelve el cambio? Lo más seguro es que no, pero pues resulta que el profesor de Miguel Ángel le encargó un programa que simulara eso, en sus propias palabras: “Supón que una maquina de monedas de 10,5,2,1 y 50 centavos. Debes escribir un programa que decida cuantas monedas dará de cambio, dando prioridad las de mayor denominación. Debe recibir como entrada la cantidad de dar a cambio. Ejemplo: para $40.50 será 4 de 10, 0 de 5, 0 de 2, 0 de 1 y 1 de 50 centavos.” Así que el primer problema se presenta con la entrada ¿cómo hacer que el usuario introduzca sólo cantidades como $50 o $43.50 y no cantidades como $23.45 o $9.70? Lo que se me ocurrió es pedir la cantidad en una variable float (cambio), en otra variable convertir esa cantidad a tipo int (cambioint). En ese proceso se perderá la parte decimal del número, así que si la resta cambio – cambioint es igual a 0 o igual a 0.50, la cantidad que introdujo el usuario es correcta.
  • 5. La otra parte es sencilla, sólo se necesita ver si la variable cambio es mayor que 10. Si si, se le restan 10 a la variable y se aumenta un contador. Luego se hace lo mismo con las demás monedas. Pero bueno, el programa es este: 1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 float cambio; int cambioint, m10=0, m5=0, m2=0, m1=0, m50c=0; 7 do 8 { 9 cout << "Cambio?: "; cin >> cambio; 10 cambioint = (int)cambio; 11 }while((cambio - cambioint) != 0 && (cambio - cambioint) != 0.50); 12 while(cambio != 0) 13 { 14 if(cambio>=10) 15 { 16 m10++; 17 cambio-=10; 18 } 19 else if(cambio>=5) 20 { 21 m5++; 22 cambio-=5; 23 } 24 else if(cambio>=2) 25 { 26 m2++; 27 cambio-=2; 28 } 29 else if(cambio>=1) 30 { 31 m1++; 32 cambio-=1; 33 } 34 else if(cambio>=0.5) 35 { 36 m50c++; 37 cambio-=0.5; 38 } 39 } 40 cout << m10 << ", " << m5 << ", " << m2 << ", " << m1 << ", " << m50c; 41 } Solo le faltaría darle un poco de formato a la salida, pero pues ya es cuestión de gustos y ya saben, cualquier duda aquí están los comentarios abajo.