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
#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
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...
Puedes hacerlo con una sola variable.
#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...
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;
}
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?
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
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 =)
#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
#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:
#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 <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;
}
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
:)
Lo que hice funciona para cualquier li (límite inferior) y ls (límite superior), no te límites al rango ya dado, siempre se debe hacer algo GENERAL.
Nos vemos.
Eso no tiene nada que ver! tu código está hecho para 100 y 500 y mostrara los impares en esos rangos, pero como ves, las operaciones que exponga arriba también son generales y es cierto en todo momento, lo que quiere decir que si cambias los rangos igual tendrás los números impares en los valores que sean asignados a las variables sin importar si se hace con tú código o can las correcciones que expongo. QUE quede claro que las expongo para hacer más claro el código, si ves el tuyo hace operaciones innecesarias que consumen memoria, pero en la práctica entre tú código y las correcciones es básicamente lo mismo (mismos resultados independientes del rango: mostrar impares entre dos límites), tal vez en lo que gana tu code es en el funcionamiento de limites impares, lo cual es bueno.
Saludos
Sin entrar en temas de si es mejor hacer de una forma u otra lo que comentáis, a modo de apunte comento una mejora que puede hacerse respecto al código original que son los módulos. Realizar la operación módulo es costoso, mucho más que una suma o una resta. Una técnica estándar para optimizar el código cuando se hacen módulos por potencias de dos es sustituir los módulos por ANDs bit a bit. Puede parecer una tontería, pero puede mejorar mucho el tiempo de ejecución de un programa.
La norma general sería convertir esto:
a%pot
en esto otro:
a&(pot - 1)
Hola amigos. quisiera saber paginas para aprender a programar desde el inicio. desde pseudocodigo hasta c++