Ok, tenho esse programa, ele ta rodando lindo, mais tem um problema ele deveria gravar dados de 4 departamentos e 6 funcionarios e quando pedido gerar relatorio com os dados do funcionario de acordo com o setor.
Exemplo se setor 1 cabe 10 funcionarios a 2 reais hora, e setor 2, 20 funcionarios a 5 reais hora ( digitados pelo usuario, como ta no programa ), no final ele analisa o setor quantas horas extras e da o salario final do cara.
Bem como falei ta rodando mais apenas para 1 funcionario e 1 setor, sempre que coloco um vetor da erro.
Alguém poderia me ajudar a colocar um vetor funcional ??
segue codigo
****************************************
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*****ESTRUTURA*****/
struct departamento
{
char nomed[30];
float maxhoras, valorhora;
int codigo;
};
typedef struct departamento tipodepartamento;
struct funcionario
{
char nomef[30];
float bancohoras, horastrab;
int codigo, codigodep;
};
typedef struct funcionario tipofuncionario;
/*****PROTÓTIPOS DAS FUNÇÕES*****/
float receber(float n1, float n2, float n3);
/*****FUNÇÃO PRINCIPAL COM MENU*****/
int main()
{
int opc, i;
float totalhorastrab, totalreceber, v1, v2;
do
{
printf("Folha de Pagamento\n");
printf("\nPor favor digite a sua opcao\n\n");
printf("1 - Cadastrar Departamento\n");
printf("2 - Cadastrar Funcionario\n");
printf("3 - Folha de Pagamento por Funcionario\n");
Pergunta
brujah999
Ok, tenho esse programa, ele ta rodando lindo, mais tem um problema ele deveria gravar dados de 4 departamentos e 6 funcionarios e quando pedido gerar relatorio com os dados do funcionario de acordo com o setor.
Exemplo se setor 1 cabe 10 funcionarios a 2 reais hora, e setor 2, 20 funcionarios a 5 reais hora ( digitados pelo usuario, como ta no programa ), no final ele analisa o setor quantas horas extras e da o salario final do cara.
Bem como falei ta rodando mais apenas para 1 funcionario e 1 setor, sempre que coloco um vetor da erro.
Alguém poderia me ajudar a colocar um vetor funcional ??
segue codigo
****************************************
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*****ESTRUTURA*****/
struct departamento
{
char nomed[30];
float maxhoras, valorhora;
int codigo;
};
typedef struct departamento tipodepartamento;
struct funcionario
{
char nomef[30];
float bancohoras, horastrab;
int codigo, codigodep;
};
typedef struct funcionario tipofuncionario;
/*****PROTÓTIPOS DAS FUNÇÕES*****/
float receber(float n1, float n2, float n3);
/*****FUNÇÃO PRINCIPAL COM MENU*****/
int main()
{
int opc, i;
float totalhorastrab, totalreceber, v1, v2;
do
{
printf("Folha de Pagamento\n");
printf("\nPor favor digite a sua opcao\n\n");
printf("1 - Cadastrar Departamento\n");
printf("2 - Cadastrar Funcionario\n");
printf("3 - Folha de Pagamento por Funcionario\n");
printf("4 - Sair\n\n\nopcao:");
scanf("%d",&opc);
system("cls");
/***** ESTRUTURA DE CONTROLE - MENU*****/
switch (opc)
{
case 1:
tipodepartamento dep;
printf("\nNome do setor: ");
scanf("%s",&dep.nomed);
printf("\nNumero Departamento: ");
scanf("%d",&dep.codigo);
printf("\nNumero maximo de horas: ");
scanf("%d",&dep.maxhoras);
printf("\nValor hora do funcionario: ");
scanf("%f",&dep.valorhora);
break;
case 2:
tipofuncionario func;
printf("\nNome do Funcionario: ");
scanf("%s",&func.nomef);
printf("\nNumero do Funcionario: ");
scanf("%d",&func.codigo);
while(func.codigodep != dep.codigo)
{
printf("\nNumero do Departamento: ");
scanf("%d",&func.codigodep);
}
printf("\nQuantidade de horas trabalhadas: ");
scanf("%f",&func.horastrab);
break;
case 3:
totalhorastrab=func.horastrab;
totalreceber=receber(totalhorastrab,dep.maxhoras,dep.valorhora);
printf("Dados do Funcionario\n\n Nome: %s\n Departamento: %d\n Horas trabalhadas: %4.0f horas\n Total a Receber: R$%6.2f\n\n", func.nomef, func.codigodep, totalhorastrab, totalreceber);
break;
case 4:
printf("\nSAINDO...\n\n");
break;
default:
printf("\n\nOpcao invalida!!!\n\n");
break;
}
}
while(opc !=4);
}
/*****Função Total a Receber*****/
float hextra;
float receber (float n1, float n2, float n3)
{
if(n1<=n2)
return n3*n1;
else
{
hextra=n1-n2;
return (((n1-hextra)*n3)+((n3*1.5)*hextra));
}
}
******************************************************
vlw a ajuda 4.gif
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.