Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: vidalpet en 26 Septiembre 2015, 19:47 pm



Título: Tengo una duda if , while [AYUDA]
Publicado por: vidalpet en 26 Septiembre 2015, 19:47 pm
soy nuevo en programacion y tengo un ejercicio que vi en internet pero no entiendo como implementarlo en lenguaje  c


//andres le presta a nancy la suma de N PESO al 8% anual ,
//calcula el interes del capital que debe capagar ella al cabo de 2 años
//pero si la suma  es mayor a 100000 se calculara 3 años y pero si la suma es igual a 5000
// se calculara cada 4 años debe permitir N calculos usando while


no se me trabe intente pero n o pude
Código
  1. float p ;
  2. int y;
  3. float m;
  4.  
  5. printf("introduzca monto \n");
  6. scanf("%f",&p);
  7.  
  8.  
  9. if (p>1000&&p<2000){
  10.  
  11. printf("el monto esta entre 1000 y 2000\n");
  12.  
  13. printf("cuanto te presto\n");
  14. scanf("%d",&p);
  15.  
  16. printf("cuantos años\n");
  17. scanf("%d",&y);
  18.  
  19.  
  20.  
  21.  
      
      
   me trabe cuando hice esto de ahi no supe hacer mas nada , otra pregunta me recomienda un libro para desarrollar la LOGICA de programacion porfavor , siento que ando como medio retrasado alguno ejercicio los hago otro me tranco


Título: Re: Tengo una duda if , while [AYUDA]
Publicado por: Br1ant en 26 Septiembre 2015, 20:19 pm
¿Así?

Código
  1. //andres le presta a nancy la suma de N PESO al 8% anual ,
  2. //calcula el interes del capital que debe capagar ella al cabo de 2 años
  3. //pero si la suma  es mayor a 100000 se calculara 3 años y pero si la suma es igual a 5000
  4. // se calculara cada 4 años debe permitir N calculos usando while
  5. #include <stdio.h>
  6. #include <conio.h>
  7. main () {
  8. float p, i, tp;
  9. printf("introduzca monto: "); scanf("%f", & p);
  10. if (p >= 99999) {
  11. i = (p * 0,06) * 3;
  12. tp = p + i;
  13. }  else if (p >= 4999) {
  14. i = (p * 0,06) * 4;
  15. tp = p + i;
  16. } else {
  17. i = (p * 0,06) * 2;
  18. tp = p + i;
  19. }
  20. printf("interes total: %.2f\n", i);
  21. printf("total a pagar: %.2f", tp);
  22. return 0;
  23. }

Ojo, soy también novato; puede que tenga algún error. Si encuentras alguno me lo dices!

Espero que ayude.


Título: Re: Tengo una duda if , while [AYUDA]
Publicado por: ivancea96 en 26 Septiembre 2015, 21:07 pm
Código
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main () {
  5. float initial, interest = 0, total;
  6. printf("Introduzca monto: ");
  7. scanf("%f", &initial);
  8.  
  9. // Mertodo con pow
  10. if (initial > 100000) {
  11. interest = initial * pow(1.08, 3) - initial;
  12. total = initial + interest;
  13. }  else if (initial == 5000) {
  14. interest = initial * pow(1.08, 4) - initial;;
  15. total = initial + interest;
  16. } else {
  17. interest = initial * pow(1.08, 2) - initial;;
  18. total = initial + interest;
  19. }
  20.  
  21. // Metodo con while
  22. /*int years, i;
  23. if (initial > 100000)
  24. years = 3;
  25. else if (initial == 5000)
  26. years = 4;
  27. else
  28. years = 2;
  29.  
  30. for(i=0; i<years; i++)
  31. interest += (initial+interest)*0.08;
  32. total = initial+interest;*/
  33.  
  34. printf("Interes total: %.2f\n", interest);
  35. printf("Total a pagar: %.2f", total);
  36. return 0;
  37. }

Si es correcto lo que entendí. <utilizando la base de g3ck0>


Título: Re: Tengo una duda if , while [AYUDA]
Publicado por: Br1ant en 26 Septiembre 2015, 21:35 pm
Código
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main () {
  5. float initial, interest = 0, total;
  6. printf("Introduzca monto: ");
  7. scanf("%f", &initial);
  8.  
  9. // Mertodo con pow
  10. if (initial > 100000) {
  11. interest = initial * pow(1.08, 3) - initial;
  12. total = initial + interest;
  13. }  else if (initial == 5000) {
  14. interest = initial * pow(1.08, 4) - initial;;
  15. total = initial + interest;
  16. } else {
  17. interest = initial * pow(1.08, 2) - initial;;
  18. total = initial + interest;
  19. }
  20.  
  21. // Metodo con while
  22. /*int years, i;
  23. if (initial > 100000)
  24. years = 3;
  25. else if (initial == 5000)
  26. years = 4;
  27. else
  28. years = 2;
  29.  
  30. for(i=0; i<years; i++)
  31. interest += (initial+interest)*0.08;
  32. total = initial+interest;*/
  33.  
  34. printf("Interes total: %.2f\n", interest);
  35. printf("Total a pagar: %.2f", total);
  36. return 0;
  37. }

Si es correcto lo que entendí. <utilizando la base de g3ck0>

Bien hechecito...
Usa mejor este código de ivancea96.

Saludos...


Título: Re: Tengo una duda if , while [AYUDA]
Publicado por: ivancea96 en 26 Septiembre 2015, 21:43 pm
Ahora que releo esto, me fijo en que lo puse como si fuera una ganancia en el banco.

Siendo una pérdida, hay que cambiar un poco las ecuaciones. Eso ya te queda a ti :P