Ir ao conteúdo
  • Cadastre-se
Luiz Felipe_724569

estou prescisando muito de ajuda em, struct, função em C, correção de um código

Recommended Posts

isso é o que tenho se alguem poder arrumar, pra mim

 

aqui esta a descrição

 


 

 


 

Programação I 

Prof.ª Adriana Neves dos Reis 

Projeto Final – Grau B 

A Copa-web, empresa de desenvolvimento de soluções para E-commerce, resolveu criar um sistema 

para controle de seu Departamento Pessoal. 

Para tanto, ela necessita cadastrar o salário de seus funcionários, de acordo com os cargos existentes 

na empresa, sendo eles: 

Código Cargo Salário 

1 Programador R$ 4.300,00 

2 Web designer R$ 3.500,00 

3 Analista R$ 5.600,00 

4 Arquiteto de Banco de Dados R$ 8.900,00 

5 Gerente R$ 10.250,00 

 

A empresa tem estrutura física para comportar no máximo 20 funcionários. O registro de cada um 

deles contém: matrícula, nome, e código do cargo. 

Assim, crie um programa em C que contenha uma função para mostrar um menu ao usuários, 

contendo as opções: 

1. Cadastrar cargos da empresa 

2. Cadastrar funcionários da empresa 

3. Mostrar um relatório contendo matricula, nome e salário dos funcionários da empresa 

4. Mostrar o valor pago aos funcionários que pertençam a um cargo informado pelo usuário 

5. Finalizar 

Para cada opção: 

1: Cada vez que essa opção for selecionada deverá ser chamada uma função, na qual o usuário poderá 

cadastrar quantos cargos ele desejar. Não esqueça que na empresa existem no máximo 5 cargos. Se o 

usuário tentar cadastrar mais de 5 cargos ou um cargo repetido, mostre uma mensagem de erro 

explicativa. 

2: Nesta opção, deverá ser chamada uma função para cadastrar o funcionário, sendo que a matrícula 

do mesmo não pode ser repetida, bem como o código do cargo deve corresponder a um cargo já 

cadastrado. Assim, seu programa deve validar a matrícula do funcionário, o código do cargo, e o  

 


 

número limite de funcionários da empresa. Em caso de inconsistência em qualquer uma dessas regras, 

mostre uma mensagem de erro explicativa. 

3: Você decide a melhor forma de implementar. 

4: Quando esta opção for selecionada, uma função deve ser chamada para realizar o somatório do 

salário de todos os funcionários que pertencem a um determinado cargo. Este cargo é informado pelo 

usuário (códigos entre 1 e 5) na função main, onde também deve ser exibido o somatório calculado 

pela função. 

 


 

#include  <stdio.h>

 

 

 

 

    struct info {

 

        char nome [20], cargo [10];

        int cod, matricula;

        float salario;

 

    };

 

 

int main (void){

 

        struct info  funcionarios [20];

        int ent,i, Tend=0;

        int mat = 201400,x=0 ;

 

        printf("\t\t\tBEM VINDO A E-commerce");

        printf("\n\nSELECIONE UMA OPCAO:");

        printf("\n1: PARA CADASTRAR FUNCIONARIOS.");

        printf("\n2: MOSTRAR RELATORIO DE FUNCIONARIOS.");

        printf("\n3: MOSTAR VALOR DA FOLHA DE PAGAMENTO.");

        printf("\n4: FINALIZAR E-commerce.\n");

 

        for (i=0; i<20; i++){

            funcionarios.matricula = mat;

            mat++;

        }

 

    while (Tend==0){

        scanf("%d",&ent);

       switch (ent){

 

       case 1 :

            system("cls");

            printf("DIGITE OS DADOS DADOS FUNCIONARIO");

 

            for (i=0; i<20; i++){

                system("cls");

                printf("\nNOME DO FUNCIONARIO:");

                    scanf("%s",&funcionarios.nome);

 

 

 

                printf("\nCODIGO DO CARGO:");

                    scanf("%d",&funcionarios.cod);

                switch (funcionarios.cod){

                    case 1 : funcionarios.salario = 4300;

                              x++;

                                 break;

                    case 2 : funcionarios .salario= 3500;

                                 x++;

                                  break;

                    case 3 : funcionarios.salario = 5600;

                                x++;

                                        break;

                    case 4 : funcionarios.salario = 8900;

                                x++;

                                        break;

                    case 5 : funcionarios.salario = 10250;

                                x++;

                                        break;

 

                    case 0 :

                        i=20;

                        break;

 

                   default :

                       printf("OPCAO DE CARGO NAO VALIDA POR FAVOR TENTE NOVAMENTE");

                       break;

 

                }

 

                system("cls");

                printf("\n1: PARA CADASTRAR FUNCIONARIOS.");

        printf("\n2: MOSTRAR RELATORIO DE FUNCIONARIOS.");

        printf("\n3: MOSTAR VALOR DA FOLHA DE PAGAMENTO.");

        printf("\n4: FINALIZAR E-commerce.\n");

 

            }

                break;

 

        case 2 :printf("\n\nRELATORIO DE FUNCIONARIOS:");

                    for (i=0; i<x ; i++){

                        printf("\n\nNOME:%s\nMATRICULA:%d\nSALARIO:%.2f",funcionarios.nome, funcionarios.matricula,funcionarios.salario);

 

                    }

 

                break;

        case 3:

 

                break;

        case 4 : Tend ++;

                break;

        default:

                system("cls");

                printf("OPCAO NAO VALIDA POR FAVOR TENTE NOVAMENTE");

                break;

 

 

        }

    }

    getchar();

    return 0;

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×