Dev - C++ - dividir dos cantidades para luego multiplicarlo por 100

 
Vista:

dividir dos cantidades para luego multiplicarlo por 100

Publicado por LUPE (1 intervención) el 21/09/2014 16:34:10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<conio.h>
main()
{
      float PHCC1, PMCC1, PHCC, PMCC;
      int NHCC, NMCC, TECC, ;
      printf ("\n Dame el numero de estudiantes hombres del Campus Celaya : ");
      scanf ("%i",&NHCC);
      printf ("\n Dame el numero de estudiantes mujeres del Campus Celaya : ");
      scanf ("%i",&NMCC);
      TECC=NHCC+NMCC;
      PHCC=NHCC/TECC;
      PHCC1=PHCC*100;
      PMCC=NMCC/TECC;
      PMCC1=PMCC*100;
      printf (" el numero de alumnos de hombres es: %i\n",NHCC);
      printf (" el PORCENTAJE de alumnos de celaya es: %e\n",PHCC1);
      printf (" el numero de alumnos de mujeres es: %i\n",NMCC);
      printf (" el PORCENTAJE de alumnos de celaya es: %e\n",PMCC1);
      printf (" el total de alumnos de celaya es: %i\.i",TECC);
      getch();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de vangodp
Val: 73
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

dividir dos cantidades para luego multiplicarlo por 100

Publicado por vangodp (287 intervenciones) el 21/09/2014 18:10:01
Creo que tienes muchas variables para resolver el problema, con 2 bastaría.
Un consejo... no uses conio.h "NUNCA". Es un disparate incluir una librería solo para pausar el programa, en vez de usar getch que no es una función estándar de c mejor usar getchar() que tiene el mismo efecto y si es estándar. Ademas esta incluida en la misma stdio.h, asi que si vas usar printf o scanf no necesitas incluir otra libreria y mucho menos esa tal de conio.h que solo hace papagayadas XDD
#include <stdio.h>

int main () {
float hombres, mujeres;

printf ( "\n Dame el numero de estudiantes hombres del Campus Celaya : " );
scanf ( "%f", &hombres );

printf ( "\n Dame el numero de estudiantes mujeres del Campus Celaya : " );
scanf ( "%f", &mujeres );

printf ( " El numero de alumnos es: %d.\n", (int)hombres );
printf ( " El numero de alumnas es: %d.\n", (int) mujeres );

printf ( " El PORCENTAJE de alumnos de celaya es: %2.2f%c.\n", ( ( hombres * 100 ) / (hombres+mujeres) ),37 );
printf ( " El PORCENTAJE de alumnas de celaya es: %2.2f%c.\n", ( ( mujeres * 100 ) / (hombres+mujeres) ),37 );

printf ( " El total de alumnos de celaya es: %d.\n", ((int) hombres+mujeres) );

getchar();
return 0;
}

http://codepad.org/2mUvmR3w

aparte de eso el programa que hice tiene un bug o mas XDD pero te lo digo ya el que veo.
No puedes dividir un numero por 0. Si lo hacer el programa se va crashear si te pregunta la cantidad de alumnos y alumnas y dices que es cero em ambos casos el programa se crashea XDD puede hacer la prueba.
Así que futuramente cuando vayas a dividir algo, cuida que no sea por cero por que eso es un bug. Debes mirar eso a la hora de pedir el numero de alumnos y con un if certificar si el dato que la persona entro es diferente de 0.
Tu maestro te subirá nota si te fías en pequeños detalles ;)
Suerte ;)
Una cosa...
He usado regla del 3

si alumnos + alumnas es 100% alunas sera X
la formula de arriba es:
alumnas * 100 / alumnos + alumnas
...los parientesis solo garantizan que se resuelva en el orden ((alumnas * 100) / (alumnos + alumnas))
((1º) 3º (2º)) ;)

Puedes imprimir directo o hacer...
float porcent = ((alumnas * 100) / (alumnos + alumnas))
...y después imprimir el porcent pero yo imprimo directo el resultado y me ahorro unas cuantas variables de por medio XD
aqui te dejo el código identado: http://codepad.org/2mUvmR3w
bay
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar