Taller practica algoritmia básica C++

Les dejo estos ejercicios, que hice para el estudio, espero les sirva alguno

Objetivo: Desarrollar algoritmos con estructuras cíclicas o selectivas.

1: Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10%. Debe leer el valor de las camisas y según el caso realizar el descuento.

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
 int valorCamisa,cantidad;
 double totalCompra,descuento,netoPagar;
 String ^ aviso;
 Console::Write("Valor por camisa : ");
 valorCamisa=Convert::ToInt16(Console::ReadLine());
 Console::Write("Cantidad : ");
 cantidad=Convert::ToInt16(Console::ReadLine());
 totalCompra=valorCamisa*cantidad;
 if(cantidad>=3){
 descuento=totalCompra*0.20;
 aviso="20%";
 }else{
 descuento=totalCompra*0.10;
 aviso="10%";
 }
 netoPagar=totalCompra-descuento;

 Console::WriteLine("Total venta  : "+totalCompra);    
 Console::WriteLine("Descuento del "+aviso+" : "+descuento);
 Console::WriteLine("Neto a pagar : "+netoPagar);
    
    Console::ReadLine();
    return 0;
}


2: Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume.

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
 int num1,num2,res;
 String ^ operador;
 Console::Write("Numero uno : ");
 num1=Convert::ToInt16(Console::ReadLine());
 Console::Write("Numero dos : ");
 num2=Convert::ToInt16(Console::ReadLine());
 if(num1==num2){
 res=num1*num2;
 operador="X";
 }else if(num1>num2){
 res=num1-num2;
 operador="-";
 }else{
 res=num1+num2;
 operador="+";
 }
 Console::WriteLine(num1+" "+operador+" "+num2+" = "+res);
    Console::ReadLine();
    return 0;
}




3: Diseñar un algoritmo que lea por teclado 3 cantidades numéricas y verifique primero que sean todas diferentes, si es el caso luego debe mostrar en pantalla el menor, de caso de no ser cantidades diferentes (todas) debe mostrar un mensaje que advierta dicha situación.

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
 int num1,num2,num3;
 Console::Write("Primer numero  : ");
 num1=Convert::ToInt16(Console::ReadLine());
 Console::Write("Segundo numero : ");
 num2=Convert::ToInt16(Console::ReadLine());
 Console::Write("Tercer numero  : ");
 num3=Convert::ToInt16(Console::ReadLine());

 if(num1!=num2 && num1!=num3 && num2!=num3){
 if(num1<num2 && num1<num3){
 Console::WriteLine("El numero menor es : "+num1);
 }else if(num2<num3){
 Console::WriteLine("El numero menor es : "+num2);
 }else{
 Console::WriteLine("El numero menor es : "+num3);
 }
 }else{
 Console::WriteLine("Error!! Numeros repetidos");
 }
    Console::ReadLine();
    return 0;
}



4: Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
 double num1,num2,num3,canTotal,porc1,porc2,porc3;
 Console::Write("Inversion primera persona : ");
 num1=Convert::ToDouble(Console::ReadLine());
 Console::Write("Inversion segunda persona : ");
 num2=Convert::ToDouble(Console::ReadLine());
 Console::Write("Inversion tercera persona : ");
 num3=Convert::ToDouble(Console::ReadLine());
 if(num1!=num2 && num1!=num3 && num2!=num3){
 canTotal=num1+num2+num3;
 porc1=(num1/canTotal)*100;
 porc2=(num2/canTotal)*100;
 porc3=(num3/canTotal)*100;
 Console::WriteLine("nDinero para fundar empresa : "+canTotal);
 Console::WriteLine("nPorcentaje primera persona : "+porc1+"%");
 Console::WriteLine("Porcentaje segunda persona : "+porc2+"%");
 Console::WriteLine("Porcentaje tercera persona : "+porc3+"%");
 }else{
 Console::WriteLine("No puede haber valores repetidos");
 }
    Console::ReadLine();
    return 0;
}



5: Diseñar un algoritmo que me permita realizar un conjunto de operaciones simulando una calculadora (sumar y restar) dos números y que permita realizar estas operaciones el número de veces que el usuario lo desee.
Utilice para ello un elemento que permita salir del ciclo.

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
 int d,opMat,opEx,num1,num2;
 while(d==0){
 Console::Write("Numero uno : ");
 num1=Convert::ToInt16(Console::ReadLine());
 Console::Write("Numero dos : ");
 num2=Convert::ToInt16(Console::ReadLine());
 Console::Write("n1-> Sumarn2-> Restarn:");
 opMat=Convert::ToInt16(Console::ReadLine());
 if(opMat==1){
 Console::WriteLine("n"+num1+" + "+num2+" = "+(num1+num2)+"n");
 }else if(opMat==2){
 Console::WriteLine("n"+num1+" - "+num2+" = "+(num1-num2)+"n");
 }else{
 Console::WriteLine("nOpcion no valida");
 }
 Console::Write("n1-> Salirn2-> Continuarn:");
 opEx=Convert::ToInt16(Console::ReadLine());
 if(opEx==1){
 d=1;
 }
 Console::WriteLine();
 }
    return 0;
}


 6: Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilómetros durante 6 días, para determinar si es apto para la prueba de 5 Kilómetros; de lo contrario debe buscar otra especialidad. Para considerarlo apto debe tener en cuenta las siguientes condiciones:
- Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos. - Que al menos en una de las pruebas realice un tiempo menor a 10 minutos. - Que su promedio de tiempos sea menor o igual a 15 minutos.

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
 const int x=6;
 int tiempo
  • ;[/li][/list]
     bool cont1=true,cont2=true;
     double totalTi=0,promedio=0;
     for(int i=0;i<x;i++){
     Console::Write("Tiempo rrecorrido "+(i+1)+" : ");
     tiempo=Convert::ToInt16(Console::ReadLine());
     totalTi+=tiempo;
     }
     promedio=totalTi/x;
     for(int i=0;i<x;i++){
     if(tiempo<10){
     Console::WriteLine("Es apto para la prueba de 5 Kilómetros");
     cont1=false;
     break;
     }
     }
     if(cont1){
     for(int i=0;i<x;i++){
     if(tiempo>16){
     Console::WriteLine("Busque otra especialidad");
     cont2=false;
     break;
     }
     }
     }
     if(cont1 && cont2){
     if(promedio<=15){
     Console::WriteLine("Es apto para la prueba de 5 Kilómetros");
     }else{
     Console::WriteLine("Busque otra especialidad");
     }
     }
     Console::ReadLine();
        return 0;
    }


Taller practica algoritmia básica C++
0 Puntos Score: 0/10
Visitas: 1740 Favoritos: 12
4 Comentarios Taller practica algoritmia básica C++
@xavirin a usted por comentar...
Buena onda compartir experiencias as?
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!