EJERCICIOS BASICOS C++

Iniciado por WiseHidden, 3 Diciembre 2010, 11:53 AM

0 Miembros y 1 Visitante están viendo este tema.

WiseHidden

Hola,
La idea de este Tema es para todos aquellos que estemos empezando en el maravilloso mundo de la Programación C++, expongamos nuestros Ejercicios y nos ayudemos cuando sea necesario y asi de un modo mas amenos aprendamos unos de los otros.

Mi primer ejercicio es muy sencillo (Pues apenas estoy empezando a gatear en C++)

Asi pues expongo un Ejercicio "Creado expresamente por mi".

Se pide que Creemos un programa en el cual se Introduzca el Total de Votos "Recogidos" En la ultima campaña politica.

El resultado debe dar con los siguientes resultado.
40% Para el Primer Partido Politico (A vuestro gusto)
30% Para el Segundo Partido Politico (A vuestro gusto)
20% Para el tercer Partido Politico (A vuestro gusto)
10% Para el Cuarto Partido Politico (A vuestro gusto)

PD: Mi programa el cual expondré a continuación el muy simple, si hay viera algun pequeño fallo, o algun comando innecesario o incluso si pudiera aportar algo nuevo agradeceria cualquier ayuda u orientación

Nota: Esto es un simple ejercicio no importa quien sea el partido con mas o menos votos, No intento fomentar una idea politica u otra  :D  
De hecho "Tengo cierto reparo con ella" jajaja Solo que me pareció un buen ejercicio para empezar


Código (cpp) [Seleccionar]
#include <iostream.h>

int main ()

{

float v,p,s,c,i;

cout<<"Introduce el total de votos:"<<endl;
cin>>v;

p=v*40/100;
cout<<"El total de votos del PP es:"<<p<<endl;

s=v*30/100;
cout<<"El total de votos del Psoe es:"<<s<<endl;

c=v*20/100;
cout<<"El total de votos del Partido Comunista es:"<<c<<endl;

i=v*10/100;
cout<<"El total de votos del Izquierda Unida es:"<<i<<endl;

}


Un saludo y espero os animeis

WiseHidden
Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)

Garfield07

Bueno, acabo de ver tu code de pasada y esta muy bien. A lo mejor podrias hacer que se puedan meter x numeros de partidos, y se vayan metiendo el nombre de los partidos, y el porcentaje, y se haga todo con esos datos... Digo yo, vamos. Sinceramente esta muy bien...


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

Slava_TZD

Puedes hacerlo con una sola variable.


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.

Garfield07


#include <stdio.h>

int main ()
{
float total, a;
printf ("Introduce el total de votos: ");
scanf ("%d", &total);

a = total * 40 / 100;
printf ("El total de votos del PP es: %d", a);

a = total * 30 / 100;
printf ("El total de votos del PSOE es: %d", a);

a = total * 20 / 100;
printf ("El total de votos del Partido Comunista es: %d", a);

a = total * 10 / 100;
printf ("El total de votos de IU es: %d", a);

return 0;
}



Ahi va TzHed xD... Podrias retocarlo para lo que te he dicho...


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

[L]ord [R]NA

#4
Sagrini estas utilizando dos variables, la variable a y la variable total.

#include <stdio.h>

int main ()
{
float total;
printf ("Introduce el total de votos: ");
scanf ("%d", &total);
        printf ("El total de votos del PP es: %d", total*0.4);
printf ("El total de votos del PSOE es: %d", total*0.3);
printf ("El total de votos del Partido Comunista es: %d", total*0.2);
printf ("El total de votos de IU es: %d", total/10);
return 0;
}

Garfield07

Si, cierto. Eso lo pense luego, una vez ido, para mas sencillez, pero no me di cuenta que Tzhed se referia a eso...
Bueno, ahora que hemos limpiado y reducido el code, podriamos hacer lo que dije en el primer post no?


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

WiseHidden

Disculpen todo este tiempo en espera!! Pero he andado muy liado, veo que el post acojio a unos cuantos "amantes" de este maravilloso lenguaje. Me alegra ver que ha gustado, pero tambien veo un poco parado el tema, asi pues si alguien sigue interesado en la propuesta inicial porfavor que sea bienvenido.

PD: Sagrini, a que te refieres?? No se exactamente lo que proponias en el primer post? Disculpa pero hace unos meses y he perdido un poco el hilo de la conversacion.

Un saludo

Vuestro Fiel amigo

WH
Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)

Eckonet

#7
Yo lo hice algo parecido a [L]ord [R]NA la unica diferencia es que el uso C pero a la final da los mismos Resultados =)
Código (cpp) [Seleccionar]

#include <iostream>

using namespace std;

int main()
{
   int q;
   cout << "Introduce el total de votos obtenidos: " << endl;
   cin >> q;
   cout << endl;
   cout << "El total de votos del PPT es: " << q*50/100 << "%" <<endl;
   cout << "El total de votos del ASD es: " << q*40/100 << "%" <<endl;
   cout << "El total de votos del EZT es: " << q*30/100 << "%" <<endl;
   cout << "El total de votos del PAE es: " << q*20/100 << "%" <<endl;
   cout << "El total de votos del SOL es: " << q*10/100 << "%" <<endl;

   cin.get();cin.get();
}


Tambien lo queria hacer de este modo pero no me resulto muy bien por falta de conocimiento xD

Código (cpp) [Seleccionar]

#include <iostream>

using namespace std;

int main()
{
    int A, B, C, D, E;
    cout << "Esta aplicacion te dira cuanto porcentaje tiene tu partido politico favorito:" << endl;
    cout << "Para ver el porcentaje de votos de PAE introduce:  A" << endl;
    cout << "Para ver el porcentaje de votos de TET introduce:  D" << endl;
    cout << "Para ver el porcentaje de votos de SAZ introduce:  B" << endl;
    cout << "Para ver el porcentaje de votos de DIP introduce:  C" << endl;
    cin >> A;
    cin >> B;
    cin >> C;
    cin >> D;
    cout << endl;

    if (xA)
    {
     cout << "50% de los votos a favor de PAE!" << endl;
    }

    if (B)
    {
     cout << "40% de los votos a favor de SAZ!" << endl;
    }

    if (C)
    {
     cout << "30% de los votos a favor de SAZ!" << endl;
    }
    if (D)
    {
     cout << "20% de los votos a favor de SAZ!" << endl;
    }
    cin.get();cin.get();
}


Ahora les va otro ejercicio.....!!!!

Imprime en pantalla todos los números impares de tres sifras desde el 100 hasta el 500.

Este es mi codigo:

Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;

int main()
{
   int principio, final;

   principio = 100;
   final = 300;

   for(int i=principio; i < final; i++)
   {
       if(i%2==1)
       cout<<i<<endl;
   }
   cin.get();cin.get();
}


Si lo pueden mejorar seria exelente


#include <iostream>
using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    cin.get(); cin.get();
}

Lx

#include <stdio.h>

int main()
{
  int li = 100, ls = 500;
 
  for( int i = li; i < ls + li%2; i += 2){
     
     printf("%d\t", i + (i+1)%2);
  }
  printf("\n\nPresione ENTER para salir . . .");
  getchar();
  return 0;
}

RyogiShiki

#9
Cita de: Lx en 20 Mayo 2011, 03:30 AM
#include <stdio.h>

int main()
{
  int li = 100, ls = 500;
 
  for( int i = li; i < ls + li%2; i += 2){
     
     printf("%d\t", i + (i+1)%2);
  }
  printf("\n\nPresione ENTER para salir . . .");
  getchar();
  return 0;
}


Te das cuenta que haces cosas innecesarias en el código, que lo vuelven poco entendible confuso y algo dificil de leer, por ejemplo esta linea:
for( int i = li; i < ls + li%2; i += 2)
Para que haces ls + li % 2 cuando li % 2 siempre va a ser igual a 0, entonces seria como ls + 0 osea, es completamente innecesario..
for( int i = li; i < ls; i += 2)
Esta ya es una line más entendible!

Y ahora en esta linea:
printf("%d\t", i + (i+1)%2);
en este caso y en tu código (i + 1)%2 siempre va a ser igual a 1, basta con colocar simplemente:
printf("%d\t", i + 1);
para obtener el resultado.

Te sugiero que no te compliques la vida haciendo tantas cosas (por demás innecesarias) el código simple, legible y facil de entender siempre será el más elegante.

Saludos