Autor Tema: pasar de programa a subprograma lenguajeC programacion en C  (Leído 2930 veces)

lino

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
pasar de programa a subprograma lenguajeC programacion en C
« en: 29 de Noviembre 2016, 17:01 »
Hola buenas tengo que pasar un programa a subprograma y creo que lo tengo hecho muy mal si pudieran resolverme como se hace estaria agradecido.

Gracias

El programa es este:

ENUNCIADO

La empresa “Muebles Salmantinos S.A.” necesita un programa que calcule el sueldo de sus empleados. El programa deberá solicitar al usuario que introduzca los siguientes datos:

• Nombre y apellidos del empleado
• Sueldo base del empleado
• Edad
• Nº de hijos (0 si no tiene hijos)
• Categoría (A, B o C)
• Dedicación (nº de horas de trabajo asignadas por día. Este valor estará
comprendido entre 4 y 11).
1

Asignatura: Fundamentos de Programación
Profesora: Pilar Grande González
Grado en Ingeniería Informática de Servicios y Aplicaciones
E.I. Informática (Segovia) – Univ. Valladolid

A continuación, el programa deberá calcular el sueldo bruto del empleado teniendo en
cuenta que:

A) Los empleados mayores de 50 años y los menores de 25 años tienen un
Complemento de Edad de 180 euros.

B) Los empleados con hijos tienen un Complemento familiar de 60 euros por hijo.

C) Los empleados con categoría B con más de 5 hijos y los de categoría C con más de 3
hijos tienen un Complemento extraordinario del 5% de su sueldo base.

D) Los empleados que trabajan más de 8 horas tienen un Complemento de productividad de 70 euros. Para los demás, el complemento de productividad es de sólo 30 euros.

E) Los empleados con categoría A que trabajen menos de 8 horas tienen un descuento
laboral de 40 euros por cada hora menos que trabajen.
Una vez obtenido el sueldo bruto del empleado, se deberá calcular el sueldo neto restando al sueldo bruto un 5% de Seguridad Social y el porcentaje correspondiente a la retención a cuenta del IRPF. Esta retención será aplicada de acuerdo a la siguiente tabla:

Retención IRFP (%) Sueldo Bruto (Rango)

12 Inferior a 700 euros
15 Entre 701 y 1200 euros
18 Superior a 1200 euros

RESUELTO y esto hay que pasarlo a subprograma

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#define ConstanteSeguridadSocial = 0,05, complemento70 = 70 Complemento30 = 30, DescuentoLaboral = 40

int main(void)
{
char NombreApellidos;
int Edad;
int NumeroHijos;
char Categoria;
int Horas;
float Sueldo;
float Sueldo1;
float Sueldo2;
float Sueldo3;
float SueldoBruto;
float SueldoBruto1;
float SueldoNeto;
float IRPF;
int ComEdad;
int ComFam;
int CompExt;
int ComProd;
int DescLabo;
char A;
char B;
char C;

printf("Bienvenido a este programa ");
printf("Pulse <intro> para continuar ...");
getchar();
system("cls");

printf("Escriba nombre y apellidos ");
scanf("%c", &NombreApellidos);
getchar();

printf("Pulse <intro> para continuar...");
getchar();
system("cls");

printf("Escriba edad ");
scanf("%d", &Edad);
fflush(stdin);

printf("Pulse <intro> para continuar ...");
getchar();
system("cls");

printf("Escriba numero de hijos ");
scanf("%d", &NumeroHijos);
fflush(stdin);

printf("Pulse <intro> para continuar ...");
getchar();
system("cls");

printf("Escriba categoria(A, B o C): ");
scanf("%c", &Categoria);
getchar();

printf("Pulse <intro> para continuar ...");

system("cls");


printf("Escriba Numero de Horas ");
scanf("%d", Horas);
fflush(stdin);

printf("Pulse <intro> para continuar ...");
getchar();
system("cls");

printf("Escriba sueldo ");
scanf("%d", &Sueldo);
printf("Pulse <intro> para continuar ...");
getchar();
system("cls");

/* Comencemos */

if (Categoria = A && Edad<25 & Edad>50)
(ComEdad = Sueldo + 180);
if (Categoria = B && NumeroHijos>0)
(ComFam = Sueldo + NumeroHijos*60);


if (Categoria = B && NumeroHijos>5)
(Sueldo1 = Sueldo*5);
(Sueldo2 = Sueldo1/100);
(CompExt = Sueldo + Sueldo2 );

if (Categoria = C && NumeroHijos>3)
(Sueldo1 = Sueldo*5);
(Sueldo2 = Sueldo1/100);
(CompExt = Sueldo + Sueldo2 );

if (Horas>8)
(ComProd = Sueldo+70);

if (Horas<8)
(ComProd = Sueldo+30);

if (Categoria = A && Horas<8)
(DescLabo = Sueldo + Horas*40);

Sueldo= ComEdad + ComFam + CompExt + ComProd + DescLabo ;
/* Sueldo Neto */
SueldoBruto = Sueldo;
SueldoBruto1 = SueldoBruto;
Sueldo1 = Sueldo*5;
Sueldo2 = Sueldo1/100;
Sueldo3 = Sueldo-Sueldo2;
if ( SueldoBruto<700)
(Sueldo = SueldoBruto1*12);
(Sueldo1 = Sueldo/100);
(IRPF = SueldoBruto1 - Sueldo1);

if ( SueldoBruto>700 && SueldoBruto<1200)
(Sueldo = SueldoBruto1*15);
(Sueldo1 = Sueldo/100);
(IRPF = SueldoBruto1-Sueldo1);

if ( SueldoBruto>1200)
(Sueldo = SueldoBruto1*18);
(Sueldo1 = Sueldo/100);
(IRPF = SueldoBruto1 - Sueldo1);

SueldoNeto = SueldoBruto1 - Sueldo3 - IRPF ;

/* Parte final */

fflush(stdin);
printf("Datos generales: ");

printf("Nombre: %g ", NombreApellidos);

printf("Edad: %d ", Edad);

printf("Numero de Hijos: %d ", NumeroHijos);
printf("Categoria: %c ", Categoria);
printf("Dedicacion: %d ", Horas);

printf("Sueldo bruto: ");
printf("Sueldo Base: %d", Sueldo);
printf("Complemento de Edad: %d ", ComEdad);
printf("Complemento Familiar: %d", ComFam);
printf("Complemento Extraordinario: %d", CompExt);
printf("Complemento de Productividad: %d", ComProd);
printf("Descuento Laboral: %d", DescLabo);
printf("Sueldo Bruto: %d", SueldoBruto);

printf("Sueldo neto: ");
printf("Sueldo Bruto: %d", SueldoBruto);
printf("Seguridad social: %d", Sueldo3);
printf("IRPF: %d", IRPF);
printf("Sueldo Neto: %d", SueldoNeto);




return 0;
}
« Última modificación: 30 de Noviembre 2016, 19:45 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:pasar de programa a subprograma
« Respuesta #1 en: 29 de Noviembre 2016, 17:46 »
Hola lino.

Lo primero recomendarte que leas el siguiente enlace, donde te muestra como introducir código correctamente en tus mensajes, títulos, etc.

https://www.aprenderaprogramar.com/foros/index.php?topic=1460.msg7784#msg7784

Y no es necesarios que crees 3 hilos nuevos con el mismo contenido. Cuando halla alguien que pueda ayudarte lo hará sin falta de llenar el foro con el mismo hilo repetido muchas veces.

Saludos. ;D

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:pasar de programa a subprograma lenguajeC programacion en C
« Respuesta #2 en: 30 de Noviembre 2016, 19:47 »
Hola lino, aparte de lo indicado, recomendarte que mires el concepto de subprograma en el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=36&Itemid=60 e igualmente si te resulta necesario consulta http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".