Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Mario Olivera

#51
 Hola gente, disculpen las molestias, estoy haciendo unos ejercicios de un libro de C++ y me pide que haga un programa el cual el usuario ingrese un numero entero positivo y este saque su valor..

Para el que no sepa como sacar el factorial de un entero positivo voy a explicarles:

n representa el valor ingresado por el usuario, osea el número entero positivo

Entonces para sacar su factorial se implementa esto:

n= n. n-1 . n-1 .n-1..... así hasta lllegar a 1, por ejemplo si el usuario ingresa el número 5 el programa tendrá que hacer esto:

5= 5 . 4 .3 .2 .1

Dejo el código del programa que hice (el ejercicio me pide hacerlo con for):

Código (cpp) [Seleccionar]
#include <iostream>
using std::cout;
using std::cin;

int main()
{
int numero;
cout <<"Ingrese un entero positivo para calcular su factorial: ";
cin >> numero;
   int factorial=0;
int numero2=numero;
for (int contador=1;contador < numero;contador++)
{
if (contador == 1)
{
factorial+=numero2 * numero2-1;
numero2-= 2;

}

else
{
factorial*= numero2;
numero2--;
}


}

cout <<"\nFactorial: " <<factorial;
return 0;
}
#52
Cita de: leosansan en 15 Agosto 2014, 17:57 PM
"Creo que en:

Código (cpp) [Seleccionar]
if (valor=9999)
{
continue;
}



deberías poner ("=" no, es para asignar,  "==" sí, es para comparar):

Código (cpp) [Seleccionar]
 for (  numeroValores  = 0 ; ; numeroValores ++ )
------------------------------------------------
 if ( valor == 9999 )
   break;
------------------------------------------------


EDITADO: El for también había que corregirlo.  ;)

¡¡¡¡ Saluditos! ..... !!!!



Hola leosansan, desde ya te agradezco siempre tus ayudas, no me di cuenta del error que había puesto el signo de aignación y no el de igualdad, con respecto al for no lo cambié, sino que en el if puse numeroValores--.
Te vuelvo a decir muchas gracias y disculpa la molestia, dejo el código editado  ;-)

Código (cpp) [Seleccionar]
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <string>
using std::string;

#include "encabezado.h"

promedio::promedio(string nombre)
{
establecerNombre(nombre);
}

//Funciones establecer

void promedio::establecerNombre(string nombre)
{
if (nombre.length() > 5)
{
nombreUsuario = nombre.substr(0,5);
cout <<"el nombre " <<nombre <<" excede los caracteres maximos(5)" <<endl
<<"Se demilito el nombre a los primero 5 caracteres " <<obtenerNombre() <<endl;
}
else
{
nombreUsuario= nombre;
cout <<"Bienvenido! " <<obtenerNombre();
}
}

//Funciones Calcular

void promedio::calcularPromedio()
{
int suma=0;
int valor=0;
int numeroValores=0;

for (valor; valor != 9999;numeroValores+= 1)
{
cout <<"Escriba el valor: ";
cin >> valor;
if (valor==9999)
{
numeroValores--;
continue;
}
else
{
suma+=valor;
}

}

cout <<numeroValores <<endl;

cout <<"\nEl promedio es: " << static_cast<double>(suma) / numeroValores <<endl;
}
//Funciones obtener

string promedio::obtenerNombre()
{
return nombreUsuario;
}

#53
 Hola gente, disculpen las molestias; tengo un ejercicio que me pide que haga un programa en el cual mediante una instucción for se ingresen valores, y si el usuario ingresa el valor: 9999, el programa no tome ese valor, sume todos los otros valores y los divida por la cantidad de valores ingresados, osea, que saque el promedio de la suma de todos los valores menos el valor 9999..

Quisiera que me digan donde estaría el error para poder solucionarlo, después de estar solucionado si alguién desea poner su propio código, o el código editado que lo ponga, cuando mi problema este solucionado en su título aparecerá [SOLUCIONADO].

Bueno sin más que hablar, dejo el código que hice :)

main.cpp
Código (cpp) [Seleccionar]
#include <iostream>
using std::cin;
using std::cout;

#include <string>
using std::string;
using std::getline;

#include "encabezado.h"

int main()
{
string nombre;

cout <<"Escriba su nombre: ";
getline(cin,nombre);

promedio promedio1(nombre);
promedio1.calcularPromedio();
return 0;
}

encabezado.h
Código (cpp) [Seleccionar]
#include <string>
using std::string;

class promedio
{
public:
promedio(string);
//Funciones establecer;
void establecerNombre(string);
void calcularPromedio();
//Funciones obtener
string obtenerNombre();
int obtenerPromedio();
private:
int promedio1;
string nombreUsuario;
};

encabezado.cpp
Código (cpp) [Seleccionar]
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <string>
using std::string;

#include "encabezado.h"

promedio::promedio(string nombre)
{
establecerNombre(nombre);
}

//Funciones establecer

void promedio::establecerNombre(string nombre)
{
if (nombre.length() > 5)
{
nombreUsuario = nombre.substr(0,5);
cout <<"el nombre " <<nombre <<" excede los caracteres maximos(5)" <<endl
<<"Se demilito el nombre a los primero 5 caracteres " <<obtenerNombre() <<endl;
}
else
{
nombreUsuario= nombre;
cout <<"Bienvenido! " <<obtenerNombre();
}
}

//Funciones Calcular

void promedio::calcularPromedio()
{
int suma=0;
int valor=0;
int numeroValores=0;

for (valor; valor != 9999;numeroValores+= 1)
{
cout <<"Escriba el valor: ";
cin >> valor;
if (valor=9999)
{
continue;
}
else
{
suma+=valor;
}

}

cout <<"\nEl promedio es: " << static_cast<double>(suma) / numeroValores <<endl;
}
//Funciones obtener

string promedio::obtenerNombre()
{
return nombreUsuario;
}

#54
 Hola gente del foro, estaba haciendo un programa sencillo que su función es pedirle al usuario que ingrese la cantidad de valores que va a ingresar, el programa lee sus valores y imprime la suma.

Al ingresar la cantidad de 5 valores: 100, 200, 300, 400 y 500 el programa me suma y me devuelve este número:  134516103

Código del programa:

Código (cpp) [Seleccionar]
#include <iostream>
using std::cin;
using std::cout;

int main()
{
int valores;
int suma;
int valor;
cout <<"Numero de valores a introducir: ";
cin >> valores;

for (int contador=0; contador < valores; contador++)
{
cout <<"Valor: ";
cin >> valor;
suma+= valor;
}
cout <<"Suma: "<<suma;
return 0;
}
#55
Muchas Gracias por sus respuestas  ;-)
#56
Muchas gracias por sus respuestas, eliminaron mi duda!  ;-)
#57
 Hola gente, tengo unas dudas y quisiera saber si alguien me podría ayudar, el tema es así...
Buscando encontré que la instrucción de repetición for es usada para repetición por contador, mientras while es usada para repetición controlada por centinela. ¿Por qué es así?

Las instrucciones de repetición do...while para que es requerida? se para que sirve, pero no se para qué casos tiene un uso especial

Desde ya gracias por cualquier ayuda, Saludos!  ;D
#58
Cita de: Eternal Idol en  9 Agosto 2014, 12:08 PM
Es un error al enlazar, el proyecto esta mal hecho, no estas compilando libroCalificaciones.cpp.

Hola eternal idol, muchas gracias por tu ayuda, sabrías porque no se estaría compilando? Desde ya gracias por tu ayuda, te vas a ganar unas entradas para la ciudad del carnaval... jaja saludos!
#59
Hola gente del foro, tengo un error al compilar con codeblocks, dejo la imagen y después el código del programa :)



Main.cpp
Código (cpp) [Seleccionar]
   #include <iostream>
   using std::cin;
   using std::cout;
   using std::endl;

   #include "libroCalificaciones.h"

   int main()
   {
   //Inicializacion de variables
   int anchoCuadrado;
   int largoCuadrado;
   cout <<"Ingrese el ancho del cuadrado: ";
   cin >> anchoCuadrado;
   cout <<"Ingrese el largo del cuadrado: ";
   cin >> largoCuadrado;
   cout <<endl <<endl <<endl;

   Cuadrado Cuadrado1(anchoCuadrado,largoCuadrado);
   cin.get();
   cin.get();
   return 0;
   }


libroCalificaciones.h
Código (cpp) [Seleccionar]
   class Cuadrado
   {
   public:
   Cuadrado(int,int);
   void imprime(int,int);
   private:
   int anchoCuadrado;
   int largoCuadrado;
   };


libroCalificaciones.cpp
Código (cpp) [Seleccionar]
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <string>
using std::string;

#include "libroCalificaciones.h"

Cuadrado::Cuadrado(int ancho,int largo)
{
imprime(ancho,largo);
}

void Cuadrado::imprime(int a, int l)
{
//Tamaño Cuadrado
anchoCuadrado= a;
largoCuadrado= l;


string caracter = "*";
int contador = 0;

// HORIZONTAL
while (contador < anchoCuadrado)
{
cout <<caracter;
++contador;
}

cout <<endl;
contador = 0; //establece a 0 para el lugar de abajo

//VERTICAL

largoCuadrado -= 2; //por los caracteres que se usa arriba y abajo
int contadorlargo = 0;

while (contadorlargo != largoCuadrado)
{
while (contador < anchoCuadrado)
  {
  cout <<caracter;
  ++contador;
  }
cout <<endl;
contador=0;
++contadorlargo;
}

// HORIZONTAL
while (contador < anchoCuadrado)
{
cout <<caracter;
++contador;
}
}


#60
Cita de: ivancea96 en  8 Agosto 2014, 19:30 PM
Le diste primero a build?

Hola si, le di a built o también aprete ctrl + b, te dejo un foto del eclipse, quisas nose el archivo main este mal puesto o algo por el estilo