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ú

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