Como fazer um pequeno sistema de departamento pessoal?

29/10/2021

8

C++

Faça em C/C++, um sistema para o departamento pessoal de uma empresa. O sistema deve possuir um menu principal através do qual o usuário pode escolher a opção que deseja. As operações (opções do menu principal) são:



1.) Inclusão de um novo funcionário: Neste caso, deve-se entrar com o código, o nome, o endereço e o número de dependentes do funcionário. Em seguida, deve-se entrar com a relação de projetos nos quais o funcionário trabalha (código, nome e número de horas trabalhadas por semana em um projeto). Cada funcionário pode trabalhar em, no máximo, 5 projetos diferentes. Não existem funcionários com o mesmo código.

2.) Inclusão de novos projetos para um funcionário: Neste caso, deve-se entrar com o código do funcionário para o qual se deseja acrescentar novos projetos. Então, o sistema deve apresentar os dados do funcionário e a relação de projeto nos quais ele já trabalha. Em seguida, deve-se entrar com os novos projetos a serem incluídos (código, nome e número de horas trabalhadas por semana no projeto). Se o funcionário não existe, deve ser apresentado uma mensagem de erro.



Pessoal, desculpem pedir esse monte de coisa, mas estou simplesmente perdido em listas encadeadas, tô fazendo facul de sistemas e o EAD tá me matando😥. Enfim, qualquer ajuda tô aceitando, se puderem me mostrar como fazer essas duas ficarei muito grato. Por enquanto estou com essa estrutura básica(C++):**

    #include <iostream>
    #include <windows.h>
    
    #define MAXTAM 5
    #define INICIO 1
    
    typedef int TChave;
    
    typedef struct TCelula_str *TApontador; 
    
    typedef struct {
    	TChave codigo; // codigo do projeto 
    	char nome[30]; // nome do projeto 
    	int horas; // numero de horas trabalhas no projeto 
    } TProjeto;
    
    typedef struct {
    	TProjeto item [MAXTAM];
    	int primeiro;
    	int ultimo;
    } TListaSequencial;
    
    typedef struct { 
    	TChave numero; // codigo do funcionario
    	char endereco [40]; // endereco do funcionario
    	int dependentes; // numero de dependentes do funcionario
    	TListaSequencial projetos; // Lista Sequencial que guarda os projetos nos quais o funcionario trabalha
    } TFuncionario;
    
    typedef struct TCelula_str {
    	TFuncionario item;
    	TApontador prox;
    } TCelula;
    
    typedef struct {
    	TApontador primeiro ;
    	TApontador ultimo;
    } TListaEncadeada;
     
    using namespace std;
    
    // Funções(parâmetros)
    void menu();
    void CriaListaVazia (TListaEncadeada * lista);
    
    
    int main() {
      UINT CPAGE_UTF8 = 65001;
      UINT CPAGE_DEFAULT = GetConsoleOutputCP();
      SetConsoleOutputCP(CPAGE_UTF8);
      TListaEncadeada lista;
      CriaListaVazia (&lista);
      int op;
      
       do {
            menu();
            cout << "Escolha a opção: ";
            cin >> op;
            system("cls");
            switch(op) {
                case 1:
                    break;
                case 2:
                    break;
                case 3: 
                    break;
                case 4:
                    break;
                case 5:
                    break;
                case 6:
                    break;
                case 7:
                    cout << "Volte sempre!" << endl;
                    system("pause");
                    break;
            }
        } while(op != 7);
    
      return 0;
    }
    
    void menu() {    
         system("color 0B");
         cout<<"  \n        ����������������������������������������������������������������";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        �                     DEPARTAMENTO PESSOAL                     �";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        ����������������������������������������������������������������";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        � 1 - INCLUIR NOVO FUNCIONÁRIO                                 �";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        � 2 - INCLUIR NOVO PROJETO                                     �";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        � 3 - EXCLUIR PROJETO                                          �";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        � 4 - EXCLUIR FUNCIONÁRIO                                      �";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        � 5 - CONSULTAR FUNCIONÁRIO                                    �";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        � 6 - IMPRIMIR CONTRA-CHEQUE                                   �";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        � 7 - SAIR                                                     �";
         cout<<"  \n        �                                                              �";
         cout<<"  \n        ����������������������������������������������������������������\n\n";
    }
    
    void CriaListaVazia (TListaEncadeada * lista) {
        lista->primeiro = new TCelula;
        lista->ultimo = lista->primeiro;
        lista->primeiro->prox = NULL;
    }
    
    int VerificaListaVazia (TListaEncadeada lista) {
        return (lista.primeiro == lista.ultimo);
    }
Makaveli Don

Makaveli Don

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar