Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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;

}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...