Foro de elhacker.net

Programación => Java => Mensaje iniciado por: rub'n en 31 Octubre 2010, 20:39 pm



Título: duda con n entrada de datos...
Publicado por: rub'n en 31 Octubre 2010, 20:39 pm
buenas buenas,,resulta que,,, tengo que hacer esto ,,pero ya de hay se ve que ,,es de tipo cíclica  bien sea  while ,for , do while

me tengo que crear los respectivos acumuladores,,pero como colocar esa condición ,,para saber lo de aprobados y reprobados ?  

claro ya estoy haciendo algo  :P pero  sin POO  :-\ :-\

-  Dado N notas de un estudiante calcular:
   a) Cuantas notas tiene reprobadas.
   b) Cuantas aprobadas.
   c) El promedio de notas.               
   d) El promedio de notas aprobadas y reprobadas.

Código
  1. import java.text.*;
  2. import java.util.*;
  3. public class NotasUdo {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. Scanner entra = new Scanner (System.in);
  8.  
  9. int notas;
  10. int aprobada=0;
  11. int reprobada=0;
  12.                int nTotal=0;
  13. int k=1;
  14.                double promedio;
  15.  
  16. System.out.println("Introduce numero de notas. ");
  17. notas=entra.nextInt();
  18.  
  19. while(k<=notas ){
  20.  
  21.                       nTotal+=notas;
  22. if(notas >)
  23.  
  24. k++;
  25. }
  26.  
  27. }
  28.  
  29. }
  30.  
  31.  


Título: Re: duda con n entrada de datos...
Publicado por: Leyer en 31 Octubre 2010, 21:56 pm
>=10 aprobados también tienes que tener cuidado cuando calcules el promedio de no dividir por 0, ademas no estas pidiendo que se ingrese una nota


Título: Re: duda con n entrada de datos...
Publicado por: rub'n en 31 Octubre 2010, 22:53 pm
tengo esto...  :rolleyes: :rolleyes:,,pero que vaa compayy no FUNKA  :-\ :-\

Código
  1. import java.text.*;
  2. import java.util.*;
  3. public class NotasUdo {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. Scanner entra = new Scanner (System.in);
  8.  
  9. int notas;
  10. int aprobado=0;
  11. int reprobado=0;
  12. int nTotal=0;
  13. double promedio,aPromedio,rPromedio;
  14. int k=1;
  15.  
  16. System.out.println("Introduce  notas. ");
  17. notas=entra.nextInt();
  18.  
  19. while(k<=notas ){
  20.  
  21. nTotal+=notas;
  22.  
  23. System.out.println("Introduce  nota. ");
  24. notas=entra.nextInt();
  25.  
  26. if(notas >=5 ){
  27. aprobado++;
  28. }
  29. else if(notas<=5){
  30. reprobado++;
  31. }
  32. k++;
  33. }
  34.  
  35. DecimalFormat dosdigitos=new DecimalFormat("0.00");
  36.  
  37. if(notas==0){
  38. System.out.println("Error notas mal introducidas");
  39. }
  40.  
  41. else
  42. {
  43. System.out.println("las notas aprobadas son: "+aprobado);
  44. System.out.println("las notas reprobadas son: "+reprobado);
  45.  
  46. promedio=(double)nTotal/notas;
  47. aPromedio=(double)nTotal/aprobado;
  48. rPromedio=(double)nTotal/reprobado;
  49.  
  50. System.out.println("El promedio de notas es: "+dosdigitos.format(promedio));
  51. System.out.println("El promedio de notas aprobadas es: "+dosdigitos.format(aPromedio));
  52. System.out.println("El promedio de notas reprobadas es: "+dosdigitos.format(rPromedio));
  53. }
  54.  
  55.  
  56. }
  57.  
  58. }


Título: Re: duda con n entrada de datos...
Publicado por: Leyer en 31 Octubre 2010, 23:20 pm
Haces mal los calculos del promedio

Código
  1. import java.text.*;
  2. import java.util.*;
  3. public class NotasUdo {
  4. public static void main(String[] args) {
  5. Scanner entra = new Scanner (System.in);
  6. int maxNotas,aprobado=0,reprobado=0,sumTotal=0,sumAprobados=0,sumReprobados=0,k=1;;
  7. double promedio=0.0,aPromedio=0.0,rPromedio=0.0;
  8. System.out.print("Introduce numero de notas:");
  9. maxNotas=entra.nextInt();
  10. while(k<=maxNotas){
  11. System.out.print("Introduce la Nota["+k+"]:");
  12. int nota=entra.nextInt();
  13. sumTotal+=nota;
  14.                        //como tu quieras xD
  15. if(nota>=10 ){
  16. sumAprobados+=nota;
  17. aprobado++;
  18. }
  19. else {
  20. sumReprobados+=nota;
  21. reprobado++;
  22. }
  23. k++;
  24. System.out.println();
  25. }
  26. DecimalFormat dosdigitos=new DecimalFormat("0.00");
  27. if(maxNotas==0){
  28. System.out.println("Error notas mal introducidas");
  29. }
  30. else{
  31. System.out.println("las notas aprobadas son: "+aprobado);
  32. System.out.println("las notas reprobadas son: "+reprobado);
  33.  
  34. promedio=sumTotal/maxNotas;
  35. if(sumAprobados!=0)
  36. aPromedio=sumAprobados/aprobado;
  37. if(sumReprobados!=0)
  38. rPromedio=sumReprobados/reprobado;
  39.  
  40. System.out.println("El promedio de notas es: "+dosdigitos.format(promedio));
  41. System.out.println("El promedio de notas aprobadas es: "+dosdigitos.format(aPromedio));
  42. System.out.println("El promedio de notas reprobadas es: "+dosdigitos.format(rPromedio));
  43. }
  44. }
  45. }


Título: Re: duda con n entrada de datos...
Publicado por: rub'n en 31 Octubre 2010, 23:24 pm
LEYER  muchas gracias ,,ya mismo lo reviso  ;)

listo solucionado gracias  a la ayuda de LEYER.