Dev - C++ - Funciones que utilicen estructuras de datos

 
Vista:
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones que utilicen estructuras de datos

Publicado por pepe (68 intervenciones) el 24/09/2020 21:18:51
Amigos ayudenme con esto porfavor llevo varias horas intentando ya intente con paso por referencia y paso por valor con funciones obviamente y nada ayudenme porfa es mi proyecto final del parcial y no puedo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones que utilicen estructuras de datos

Publicado por Alfil (1444 intervenciones) el 24/09/2020 21:25:44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
using namespace std;
 
struct Datos
{
    char a;
    char b;
};
 
void leerDatos(Datos &d);
 
int main()
{
    Datos a;
 
    leerDatos(a);
 
    cout << "\na: " << a.a;
    cout << "\nb: " << a.b;
 
    cout << endl;
 
    return 0;
}
 
 
void leerDatos(Datos &d)
{
    cout << "\nUn caracter: "; cin >> d.a;
    cout << "Otro caracter: "; cin >> d.b;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones que utilicen estructuras de datos

Publicado por pepe (68 intervenciones) el 24/09/2020 21:29:25
esto es lo que llevo hasta ahora a lo que he entendido voy en el paso 2 de hacer el calculo voy bien?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
 
//Prototipos de funciones
struct empleado{
	char nombre_empleado [30];
	int  No_empleado [10];
	float sueldo_diario;
	int faltas;
};
struct empleado leer_datos(void);
void calcular_nomina(empleado C);
//Funcion principal
 
struct alumno E;
E=leer_datos;
calcular_nomina(E);
int main(){
int opc;
do{
printf("\n ****Menu de opciones del programa****\n");
printf("\n 1.- Solicitar los datos del empleado \n");
printf("\n 2.- Calcular la nómina quincenal \n");
printf("\n 3.- Mostrar el recibo de nómina  \n");
printf("\n 4.- salir.. \n");
printf("\n Eliga la opcion que desea: \n");
scanf("%d", &opc);
switch (opc){
case 1:{
	E= leer_datos();
	break;
}
case 2:{
printf ("\n*****Calcular la nómina quincenal***** \n");
 
	break;
}
//Funcion para multiplicar 2 numeros enteros
case 3:{
 
 
	break;
}
case 4:{
printf ("*****Sacar el factorial de 2 numeros***** \n");
 
	break;
}
printf ("\n*** Programa creado por: Ary Daniel Celis Sanches***\n");
system("pause");
}
}while(opc != 4);
 
return(0);
}
//Desarrollo de las funciones
 
//Funcion 1:
struct empleado leer_datos(void){
struct  empleado P;
float F,S;
fflush(stdin);
printf("Ingrese su Nombre: \n");
gets(P.nombre_empleado);
fflush(stdin);
printf("Ingrese su numero de empleado: \n");
scanf("%d",&P.No_empleado[10]);
printf("Ingrese su sueldo diario ($500-$700):\n");
scanf("%f",&P.sueldo_diario);
printf("\n Cuntas veces falto en la quincena?...");
scanf ("%d", &P.faltas);
return P;
}
void calcular_nomina(empleado C){
	float R;
	R =	C.sueldo_diario*15
	printf("\n **** Tus pagos quincenales son de: R");
 
 
 
}


aun falta hacer el descuento de impuestos ISR de 12%, descuento de IMSS de 6%, descuento por faltas pero eso por partes hasta ahorita el sueldo diario esta bien? osea llame bien los datos de leer_datos y eso no??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Funciones que utilicen estructuras de datos

Publicado por Nacho (181 intervenciones) el 24/09/2020 22:37:50
¿No será así?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
using namespace std;
 
//Prototipos de funciones
 
struct empleado {
    char nombre_empleado[30];
    int  No_empleado;
    float sueldo_diario;
    int faltas;
};
 
empleado leer_datos(void);
void calcular_nomina(empleado C);
 
 
/void VaciarBufer()
{
    char c;
    while ((c = getchar()) != '\n' && c != EOF);
}
 
 
int main() {
    int opc;
    do {
        printf("\n ****Menu de opciones del programa****\n");
        printf("\n 1.- Solicitar los datos del empleado \n");
        printf("\n 2.- Calcular la nómina quincenal \n");
        printf("\n 3.- Mostrar el recibo de nómina  \n");
        printf("\n 4.- salir.. \n");
        printf("\n Eliga la opcion que desea: \n");
        scanf("%d", &opc);
        VaciarBufer();
        empleado E;
        switch (opc) {
        case 1: {
            E = leer_datos();
            break;
        }
        case 2: {
            printf("\n*****Calcular la nómina quincenal***** \n");
            calcular_nomina(E);
            break;
        }
              //Funcion para multiplicar 2 numeros enteros
        case 3: {
            break;
        }
        case 4: {
            printf("*****Sacar el factorial de 2 numeros***** \n");
            break;
        }
              printf("\n*** Programa creado por: Ary Daniel Celis Sanches***\n");
              system("pause");
        }
    } while (opc != 4);
    return(0);
}
 
//Desarrollo de las funciones
//Funcion 1:
 
struct empleado leer_datos(void) {
    struct  empleado P;
    float F, S;
    printf("Ingrese su Nombre: \n");
    gets_s(P.nombre_empleado);
    //VaciarBufer();
    printf("Ingrese su numero de empleado: \n");
    scanf("%d", &P.No_empleado);
    printf("Ingrese su sueldo diario ($500-$700):\n");
    scanf("%f", &P.sueldo_diario);
    printf("\n Cuntas veces falto en la quincena?...");
    scanf("%d", &P.faltas);
    return P;
}
 
void calcular_nomina(empleado C) {
    float R;
    R = C.sueldo_diario * 15;
    printf("\n **** Tus pagos quincenales son de: R");
}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones que utilicen estructuras de datos

Publicado por pepe (68 intervenciones) el 24/09/2020 23:09:40
YA CASI acabo solo me falta mostrar el recibo de la nomina por asi decirlo pero ahora como le harían para que ahora esas variables que tengo en case 2 por asi decirlo de calcular la nomina a mostrar porque por ejemplo ahi lo que guardaba en P.faltas por ejemplo lo usaba como E. y me aparecia pero como le hago para guardar esas variables y reutilizarlas en case 3 que es mostrarlo :C ayudaaa
Captura-de-pantalla-71
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Funciones que utilicen estructuras de datos

Publicado por Nacho (181 intervenciones) el 24/09/2020 23:28:39
Mételo en campos de las estructura empleado y se la pasas al case 3.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones que utilicen estructuras de datos

Publicado por Alfil (1444 intervenciones) el 24/09/2020 23:26:54
Están pendientes las funciones Calcular nomina e Imprimir nomina, que pienso deberían estar englobadas en una misma función.

Fíjate que el programa tal cual está solo permite la creación de un solo empleado, para realizar múltiples empleados habría que cambiar la línea 20 a Empleado[50];, en este caso para 50 empleados.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
 
struct Empleado
{
    char nombre_empleado[30];
	int  No_empleado;
	float sueldo_diario;
	int faltas;
};
 
void menu();
void leerDatos(Empleado &e);
void calcularNomina(Empleado e);
void imprimirNomina(Empleado e);
 
int main()
{
    Empleado e;
    char opcion;
 
    do {
        menu();
        scanf("%c", &opcion);
 
        switch(opcion)
        {
            case '1':
                leerDatos(e);
                break;
 
            case '2':
                calcularNomina(e);
                break;
 
            case '3':
                imprimirNomina(e);
                break;
 
            case '4':
                printf("\n\n FIN DEL PROGRAMA\n");
                break;
 
            default:
                printf("\n\n OPCION NO VALIDA\n");
                break;
        }
 
    } while(opcion != '4');
 
    return 0;
}
 
void menu()
{
    printf("\n **** Menu de opciones del programa ****");
    printf("\n========================================");
    printf("\n 1.- Solicitar los datos del empleado");
    printf("\n 2.- Calcular la nómina quincenal");
    printf("\n 3.- Mostrar el recibo de nómina");
    printf("\n 4.- salir.. \n");
    printf("\n========================================");
    printf("\n Eliga la opcion que desea: ");
}
 
void leerDatos(Empleado &e)
{
    fflush(stdin);
    printf("\nNombre: "); scanf("%29[^\n]", e.nombre_empleado);
    printf("No Empleado: "); scanf("%d", &e.No_empleado);
    printf("Sueldo diario: "); scanf("%f", &e.sueldo_diario);
    printf("Faltas: "); scanf("%d", &e.faltas);
    fflush(stdin);
}
 
void calcularNomina(Empleado e)
{
 
}
 
void imprimirNomina(Empleado e)
{
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones que utilicen estructuras de datos

Publicado por pepe (68 intervenciones) el 24/09/2020 23:57:58
una pregunta entonces ahi la que estas guardando como "e" me sierviria para todo el codigo? es decir las variables que ponga en mmm calcular nomina me saldrian en imprimir???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Funciones que utilicen estructuras de datos

Publicado por Alfil (1444 intervenciones) el 25/09/2020 06:03:46
Las variables que pongas en calcular nomina no te saldrán en imprimir a no ser que las añadas previamente al struct o las pases como parámetro. Si las añades al struct deberas pasar el struct por referencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar