Este documento presenta un programa en C++ que permite sumar y multiplicar números decimales. Primero define funciones para validar que un carácter sea un número, que una cadena sea un número decimal y para leer números decimales. Luego incluye funciones para sumar y multiplicar números decimales. Finalmente, el programa principal solicita los números al usuario, realiza las operaciones y muestra los resultados.
1. UNIVERSIDAD “FERMIN TORO”
DEPARTAMENTO DE FORMACION GENERAL
ESCUELA DE INGENIERIA
S.A.I.A
INTEGRANTE:
GABRIEL GONZALEZ
CI: 23917570
BARQUISIMETO 20 DE JUNIO DEL 2014
2. PROGRAMA SUMAR, MULTIPLICAR DECIMALES
#include<cstdlib>
#include <iostream>
#include <string>
#include <sstream>
usingnamespacestd;
//FUNCIONES:
// Arreglo de numeros enteros
charnumeros[10] = {'0','1','2','3','4','5','6','7','8','9'};
// VALIDAR QUE UN CARACTER SEA UN NUMERO
boolesNumero(char numero){
boolesNumero = false;
// elcaracter recorre el arreglo de numeros
for(int i = 0; i<10;i++){
// siesta en el arreglo se detiene el ciclo y retorna verdadero
if(numeros[i] == numero){
esNumero = true;
break;
}
}
returnesNumero;
}
//VALIDAR QUE LA CADENA DE CARACTERES INTRODUCIDUCIDA SEA
UN NUMERO DECIMAL
boolvalidarNumeroDecimal(stringnumeroString){
boolesUnNumeroDecimal = true;
intcontador = 0;
// NO puede haber un punto al principio de la cadena
if(numeroString[0] != '.'){
//Recorre caracter por caracter la cadena para verificar si es un numero decimal
for(int i = 0;i<numeroString.length();i++){
// Si encuentra un punto lo cuenta (solo PUEDE haber 1)
if((numeroString[i] == '.')){
contador++;
}
// Si no verifica que el caracter sea un numero
elseif(!esNumero(numeroString[i])){
esUnNumeroDecimal = false;
break;
}
//Verifica si solo existe UN punto en la cadena
if(contador>1){
esUnNumeroDecimal = false;
3. break;
}
}//for
}//if
else{
esUnNumeroDecimal = false;
}
//Si pasa TODAS las concdiciones ES un numer decimal
returnesUnNumeroDecimal;
}
// LEER EL NUMERO DECIMAL
voidleerNumeroDecimal(string mensaje, stringnumeroString, float&numero){
char respuesta;
boolcontinuar = false;
do{
cout<<endl;
cout<<mensaje;
cin>>numeroString;
//Si es un numero decimal convierte la cadena a un numero decimal (float)
if(validarNumeroDecimal(numeroString)){
istringstream(numeroString) >> numero;
respuesta = ' ';
continuar = true;
}
// Si no pregunta si quiere intentarlo de nuevo
else {
cout<<endl;
cout<<"El numero ingresado NO es un numero decimal "<<endl;
cout<<"Ingrese S para intentarlo de nuevo / cualquier otra tecla para salir: ";
cin>> respuesta;
}
}while((respuesta == 's') || (respuesta == 'S'));
// Si pulso cualquier tecla para salir se sale del programa
if(!continuar){
exit(EXIT_SUCCESS);
}
}
// SUMA DE NUMEROS DECIMALES
float suma(float numero1, float numero2){
return numero1+numero2;
}
//MULTIPLICAR NUMEROS DECIMALES
floatmultiplicar (float numero1, float numero2){
return numero1*numero2;
}
4. int main(intargc, char *argv[])
{
//Variables
float numero1, numero2;
stringnumeroString;
//Mensaje titulo
cout<<endl;
cout<<"PROGRAMA: SUMAR, MULTIPLICAR DECIMALES"<<endl;
cout<<"======================================"<<endl;
//Se leen los numeros decimales
leerNumeroDecimal("Ingrese el PRIMER numero decimal:
",numeroString,numero1);
leerNumeroDecimal("Ingrese el SEGUNDO numero decimal:
",numeroString,numero2);
//Se impirmen los resultados
cout<<endl;
cout<<"RESULTADOS"<<endl;
cout<<"=========="<<endl;
cout<<"Suma: "<< suma(numero1,numero2) <<endl;
cout<<"Multiplicacion: "<<multiplicar(numero1,numero2) <<endl;
cout<<endl;
system("PAUSE");
returnEXIT_SUCCESS;
}