Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com C++


brujah999

Pergunta

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

  • 0

Por favor, organize seu código em um bloco

.
Ou poste no site www.codepad.org.
E também informe qual foi o erro e se puder, informe seu compilador.

Pelo que vi, todos os dados estão armazenados na struct departamento, o resto do código não li.
Mas pra mim basta declarar um objeto matriz, nesse caso cada elemento da matriz será um departamento:

departamento Departamento[10];
Nesse caso, você declarou 10 departamentos. Para acessar cada um, use o modelo Departamento[x].variável, exemplo:
Departamento[5].maxhoras = 10; //Definimos que a variável maxhoras do Departamento[5] é igual a 10

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...