Ayuda hice el siguiente código pero el resultado de la división no me con puntos decimales, lo declare con float y o encuentro el error
#include <iostream>
#include <math.h>
using namespace std;
void portada (void);
int Leervariable (void);
int Suma (int A,int B);
int Resta (int A,int B);
int Multiplicacion (int A,int B);
float Division (int A,int B);
void Imprimir (int C);
int main (void)
{
int A,B,C,op;
float C1;
portada();
A=Leervariable();
B=Leervariable();
C=Suma (A,B);
C=Resta (A,B);
C=Multiplicacion (A,B);
C1=Divicion (A,B);
cout<<endl<<endl<<"\t\t Menu";
cout<<endl<<endl<<"\t\t 1. Suma";
cout<<endl<<endl<<"\t\t 2. Resta";
cout<<endl<<endl<<"\t\t 3. Multiplicacion";
cout<<endl<<endl<<"\t\t 4. Division";
cout<<endl<<endl<<"\t\t Selecciona una opcion\t";
cin>> op;
switch (op)
{
case 1:
C=Suma (A,B);
cout<<endl<<endl<<"\t\t Tu resultado:\t\t" <<C<<"\n\t\t";
break;
case 2:
C=Resta (A,B);
cout<<endl<<endl<<"\t\t Tu resultado:\t\t" <<C<<"\n\t\t";
break;
case 3:
C=Multiplicacion (A,B);
cout<<endl<<endl<<"\t\t Tu resultado:\t\t" <<C<<"\n\t\t";
break;
case 4:
C1=Division (A,B);
cout<<endl<<endl<<"\t\t Tu resultado:\t\t" <<C1<<"\n\t\t";
break;
default:cout<<endl<<endl<<"\t\t No existe opcion"<<"\n\t\t";
}
system ("pause");
return 0;
}
void portada (void)
{
cout<<endl<<endl<<"\t\t Instituto Politecnico Nacional";
cout<<endl<<endl<<"\t\t Escuela Superior de Ingieneria Mecanica y Electrica";
cout<<endl<<endl<<"\t\t Ingenieria en Comunicaciones y Electronica";
cout<<endl<<endl<<"\t\t Grupo:1CV11 Turno Vespertino";
cout<<endl<<endl<<"\t\t Fajardo Munoz Alejandro";
}
int Leervariable (void)
{
int A;
cout<<endl<<endl<<"\t\t Ingresa un valor"<<"\t";
cin>>A;
return A;
}
int Suma (int A,int B)
{
int C;
C=A+B;
return C;
}
int Resta (int A,int B)
{
int C;
C=A-B;
return C;
}
int Multiplicacion (int A,int B)
{
int C;
C=A*B;
return C;
}
float Division (int A,int B)
{
float C1;
C1=A/B;
return C1;
}
· Los códigos deben ir en etiquetas GeSHi
· Lostítulos deben ser descriptivos
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
En la línea de la función división "C1=A/B;".
C1 -> float
A -> int
B -> int
Separemos por partes. A C1 le estás asignando el resultado de A/B.
Por tanto, olvidemos C1, y centrémonos en A/B.
A y B son int, por tanto, cualquier operación básica que hagas con ellos, dará como resultado un int. Esto es así con todos los tipos cuando son iguales.
En resumen, A/B da un resulado entero, así que da igual que C1 sea float, le estás asignando un entero.
Otro caso sería que A fuera int y B fuera float. Si uno de los miembros de la operación es float o double, el resultado será float o double.