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 - Miguel2097

#1
Hola!

Tengo el siguiente problema en el case 2, ocupo hacer una validacion de "salarios" todos los calculos me estan funcionando excepto el de mayor a 50 mil, lo que debe de hacer esa validación es que todo salario mayor a 50 mil , se le aumenta un 7% pero no lo esta haciendo, de hecho todo monto que pongo mayor a 50 mil me imprime por pantalla 57500 cabe destacar que las demas validaciones si me estan funcionando.

Código:

Código (cpp) [Seleccionar]
#include <string>
#include <sstream>

using namespace std;

struct strdatos {

string cedula;
string nombre;
string edad;
string salario;

}Empleado;


int main () {

string mat [3][4];
int f = 0;
int c = 0;
double aumento = 0;

int opc;

do {

system("cls");
cout << "***********  Menu ******************" << endl;
cout << "1 . Ingresar Datos" << endl;
cout << "2. Mostrar Planilla" << endl;
cout << "3. Salir" << endl << endl;
cin >> opc;
cout << endl;



switch (opc) {

case 1:

system ("cls");

for (f = 0; f <= 2; f++) {


cout << "Ingrese Cedula ";
cin >> Empleado.cedula;
mat [f][0] = Empleado.cedula;

cout << "Ingrese Nombre ";
cin >> Empleado.nombre;
mat [f][1] = Empleado.nombre;

cout<< "Ingrese Edad ";
cin >> Empleado.edad;
mat [f][2] = Empleado.edad;

cout<< "Ingrese Salario ";
cin >> Empleado.salario;
mat [f][3] = Empleado.salario;

cout << "Empleado Ingresado" << endl << endl;

for (c = 0; c <= 3; c++){

}
}
break;

case 2:

for (f = 0; f <= 2; f++) {
for (c = 0; c <= 3; c++){

cout << mat [f][c] << " ";

}

cout << endl;

stringstream (mat[f][3]) >> aumento;

if (aumento < 50000 ) {
aumento = (aumento * 0.3) + aumento;

}else if (aumento = 50000) {
aumento = (aumento * 0.15 ) + aumento;

}else if (aumento >= 50001 ) {
aumento = (aumento * 0.07) + aumento;

}

cout << "El salario con el aumento es de : " << aumento << endl << endl;

}


system ("pause");

}// Switch


}while (opc != 3);




return 0;
}



Mod: Los códigos deben ir en etiquetas GeSHi, segundo aviso
#2
Genial amigo ya entendi!

Muchas Gracias por tu ayuda!!  ;D


Cita de: engel lex en 12 Diciembre 2016, 07:36 AM
Código (cpp) [Seleccionar]
cout << "Ingrese Cedula ";
cin >> Empleado.cedula;
Empleado.cedula = mat [f][0];


te traduzco tu código


imprimir "ingrese cedula"
Empleado.cedula ahora contendrá valor ingresado por el usuario
Empleado.cedula ahora contendrá valor ubicado en mat en la posición "f" sub indice 0


luego imprimes el contenido de mat... el problema es... nunca pusiste ningún valor en mat


Disculpa la molestia ahora tengo un pequeño problema con un calculo matemático, ocupo que todo salario mayor a 50.000 se le haga un aumento en el 7% , los demas calculos si me estan funcionando correctamente excepto el de mayor a 50.000.



   
               for (f = 0; f <= 2; f++) {
                  for (c = 0; c <= 3; c++){
                     
                     cout << mat [f][c] << " ";
                     
                  }
                  
                  cout << endl;
                  
                  stringstream (mat[f][3]) >> aumento;
                  
                  if (aumento < 50000 ) {
                     aumento = (aumento * 0.3) + aumento;
                     
                  }else if (aumento = 50000) {
                     aumento = (aumento * 0.15 ) + aumento;
                     
                  }else if (aumento > 50001 ) {
                     aumento = (aumento * 0.07) + aumento;
                     
                  }


Cabe destacar que todo valor mayor a 50.000 mil me imprime con el aumento 57.500  :huh:

MOD: No hacer triple post. Usa el botón modificar.
#3
Gracias a por tu respuesta!

Aún no entiendo bien, creí que al hacer el Empleado.cedula = mat [f][0] ya lo estaba guardando en la matriz  pero cuando lo imprimo no sale nada por pantalla que seria en el case 2
#4
Hola tengo una duda respecto al almacenamiento de datos en estructuras y creo que esto también va ligado a punteros pero no sé mucho sobre este tema.

Resulta ser que ocupo capturar los datos mediante una estructura y luego almacenarlos en una matriz, creí que lo estaba haciendo bien pero cuando quiero imprimir no me imprime nada, espero que me puedan ayudar con esto gracias. :huh:

Código (cpp) [Seleccionar]
#include <iostream>
#include <string>

using namespace std;

struct strdatos {

string cedula;
string nombre;
string edad;
string salario;

}Empleado;


int main () {

string mat [3][4];
int f = 0;
int c = 0;

int opc;

do {

system("cls");
cout << "***********  Menu ******************" << endl;
cout << "1 . Ingresar Datos" << endl;
cout << "2. Mostrar Planilla" << endl;
cout << "3. Salir" << endl << endl;
cin >> opc;
cout << endl;



switch (opc) {

case 1:

system ("cls");

for (f = 0; f <= 2; f++) {


cout << "Ingrese Cedula ";
cin >> Empleado.cedula;
Empleado.cedula = mat [f][0];

cout << "Ingrese Nombre ";
cin >> Empleado.nombre;
Empleado.nombre = mat [f][1];

cout<< "Ingrese Edad ";
cin >> Empleado.edad;
Empleado.edad = mat [f][2];

cout<< "Ingrese Salario ";
cin >> Empleado.salario;
Empleado.salario = mat [f][3];

cout << "Empleado Ingresado" << endl << endl;

for (c = 0; c <= 3; c++){

}
}
break;

case 2:

for (f = 0; f <= 2; f++) {
for (c = 0; c <= 3; c++){

cout << mat [f][c] << " ";

}
}

}// Switch


}while (opc != 3);


return 0;
}



Mod: Los códigos deben ir en etiquetas GeSHi