Buscar

PIM IV 2020

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIP EaD
Projeto Integrado Multidisciplinar IV
Cursos Superiores de Tecnologia
PROJETO SISTEMA C PARA HOSPITAIS
Unip EaD (Polo Rangel)
2020
UNIP EaD
Projeto Integrado Multidisciplinar IV
Cursos Superiores de Tecnologia
PROJETO SISTEMA C PARA HOSPITAIS
Nome(s) completo(s) do(s) aluno(s):Gabriel Oliveira Almeida
RA(s):2043393
Curso:Análise e Desenvolvimento de Sistema 
Semestre:2º
Orientador: Prof. Marcelo Santos
Unip EaD (Polo Rangel)
2020
Resumo
Neste projeto irei trazer uma solução de um sistema em linguagem C, com intuito de ser um protótipo de um sistema de informação de cadastro de dados, com armazenamento de informação em arquivo, com gravação e leitura do arquivo. Argumentarei sobre a lógica adotada na criação do programa, bem como os métodos e ferramentas adotados para o desenvolvimento do projeto.
Detalharei os comandos utilizados, as lógicas e os procedimentos utilizados para alcançar os objetivos propostos pela disciplina.
Palavras-chave: Linguagem C, Sistema de informação, Covid-19
Abstract
In this project I will bring a system solution in C language, with the intention of being a prototype of a data registration information system, with information storage in file, with recording and reading of the file. I will argue about the logic adopted in the creation of the program, as well as the methods and tools adopted for the development of the project.
Keywords:Language C, Information system, Covid-19
SUMÁRIO
1. Introdução ....…………………………………………………….…….…… 6
2. Conclusão………………………………………………………………….20
Referências………………………………………………………………...21
1. Introdução
A pandemia global mudou a visão de todos durante este ano de 2020, e isso afetou a vida de todos, como uma forma de atribuir a realidade de hoje com o objetivo de ensino acadêmico a disciplina a qual este projeto é voltado, visa que devemos criar um programa em linguagem C, que funcione como um cadastro de registro de dados de pacientes em um hospital.
O sistema precisar alcançar alguns objetivos, tais objetivos abaixo, foram retirados diretamente do material disponível na disciplina:
“O objetivo do projeto será desenvolver um sistema em C (utilizando o codeblocks – disponível de forma gratuita no seguinte link: http://www.codeblocks.org/) que será utilizado pelos hospitais para cadastrar os pacientes que forem diagnosticados com covid-19 e carecem de um acompanhamento e monitoramento. Ao receber o diagnóstico positivo os profissionais da saúde devem realizar o login no sistema (informando o usuário e a senha) e informar os dados pessoais do paciente, como Nome, CPF, Telefone, Endereço (Rua, Número, Bairro, Cidade, Estado e CEP), Data de Nascimento e E-mail, data do diagnóstico e informar alguma comorbidade do paciente (diabetes, obesidade, hipertensão, tuberculose, outros) que serão salvos em um Arquivo (a principal vantagem de um arquivo é que as informações armazenadas podem ser consultadas a qualquer momento). Após o cadastro, o sistema deverá calcular a idade e verificar se o paciente possui alguma comorbidade e se pertence ao grupo de risco (maiores de 65 anos). Caso o paciente pertença ao grupo de risco o sistema deverá salvar em um arquivo de texto o CEP e a idade do paciente para que essa informação possa ser enviada para a central da Secretaria da Saúde da cidade.”
Trecho retirado Manual PIM IV 2020 - Portal EAD UNIP 
Resumindo os objetivos de forma mais organizada:
· Desenvolver um sistema em linguagem C.
· O programa deve possuir uma rotina de login, com usuário e senha.
· Deverá ter uma estrutura de cadastro com os dados dos pacientes.
· Dados dos pacientes precisam ser salvos em arquivo dedicado, para poder ser lido a qualquer momento.
· Uma função que após o cadastro verifica se o paciente cadastrado está no grupo de risco.
Com o escopo do projeto e os objetivos estipulados poderei traçar uma lógica de funcionamento do programa para desenvolvimento do projeto. Devido ao projeto necessitar de um sistema de login, não é estipulado no texto do manual, mas assumo, que da mesma forma que será necessário um arquivo para conter os dados dos paciente, será necessário um arquivo para conter os dados das senhas e dos usuários, sei que não é uma forma segura de se fazer, mas para melhor funcionamento deste projeto farei desta forma.
Abaixo podemos ver um fluxograma, com a ideia básica de como o funcionamento do programa deverá seguir.
Figura 1 - Fluxograma funcionamento básico.
Fonte: Criado pelo autor.
Após o inicio do programa, será feito a verificação se existe o arquivos de senhas no diretório do programa, caso exista ele irá passar para a próxima etapa, caso não, irá criar o arquivo e passar para a próxima etapa.
Seguindo a verificação do arquivo entra a função de login, a qual irá ser feita a verificação dos usuários e senhas, e se a função for satisfatório prosseguirá para o programa em sim, caso não, irá se repetir dentro de um laço de repetição a qual a única saída será com as credenciais corretas sendo digitadas.
O primeiro objetivo a ser alcançado por esse projeto é tratar esses dados, como gravá-los e como ler eles de uma forma que nos ajude a alcançar o nosso objetivo. Tratarei desses temas no próximo tópico.
2. Estrutura de dados
Com a necessidade de termos que salvar os dados em arquivo, precisamos gravar esses dados de forma ordenada, para que possamos retirá-los e diferenciá-los, conforme a necessidade.
Um comando de fácil utilização é o FPRINTF(), que nos dá a possibilidade de apontar para um fluxo de saída, como um arquivo, e gravar nele dados como caracteres, valores inteiros. Uma forma simples de compreender é que, posso usar esse comando para gravar em um arquivo de texto, a sequência de uma cadeia de caracteres, utilizando os mesmos comando usados na função PRINTF(), que usamos para escrever textos na tela do console, aqui no caso a saída desses textos seria o arquivo de texto.
 O comando FSCANF(), faz a leitura dos dados em arquivos até um delimitador,e pode ser repetido a partir do último ponto lido, até o final do arquivo. Com isso podemos usar as suas características para o nosso uso. O delimitador usado por esse comando é o pulo de linha(“\n”), com isso conseguimos ler todos os caracteres em sequência até a função identificar o pulo de linha, logo podemos ler uma linha por vez do arquivo. Dado o exemplo de uma estrutura de dados em um arquivo:
Variavel1Variavel2
Variavel3Variavel4
Variavel5Variavel6
Como podemos ver, cada linha contém cadeias de caracteres que indicam duas variáveis, um pulo de linha e mais duas variáveis, o comando FSCANF() faz a leitura até o pulo de linha, na sua primeira instância ele iria ler:
Variavel1Variavel2
Na sua segunda instância ele iria ler:
Variavel3Variavel4
E assim sucessivamente até ele chegar a final do arquivo e o retorno do comanda ser nulo.
Mas com isso precisamos de uma solução para separar os dados, ler eles juntos não é o bastante, precisamos de uma forma de separá-los. A solução que encontrei foi utilizando o comando STRCHR(), que retorna um ponteiro para a primeiro encontro de delimitador estipulado, dentro de uma cadeia de caracteres.
Seguindo os exemplos anteriores e assumindo que o formato do arquivo está da seguinte maneira:
Variavel1;Variavel2
Variavel3;Variavel4
Variavel5;Variavel6
Ao fazer a leitura da linha teremos:
Variavel1;Variavel2
E ao aplicar o comando STRCHR(), utilizando o delimitador de ponto e vírgula(“;”), teremos como retorno:
;Variavel2
E retorno é um ponteiro para a parte da memória que contém a primeira instância do carácter delimitador, dentro de uma cadeia de caracteres, assim podendo manipular esse ponto e ajustar esse dados e valores a como bem entendermos.
Para exemplificar vou traçar alguns exemplos,mostrando a ordem do processo:
1 - Precisamos gravar no arquivo o registro a ser lido seguindo a estrutura de, “Variavel1;Variavel2\n”, neste exemplo usarei o seguinteregistro:
Figura 2 - Exemplo função fprintf()
Fonte: Criado pelo autor.
2 - Ao usar o comando FSCANF(), apontando para o arquivo que tem o registro anterior, ele irá ter a leitura:
Figura 3 - Exemplo função fscanf()
Fonte: Criado pelo autor.
Saída:
Figura 4 - Exemplo saída fscanf()
Fonte: Criado pelo autor.
3 - Se alocar a um ponteiro o retorno de STRCHR(), utilizando o delimitador de ponto e vírgula(“;”) teremos a saída:
Figura 5 - Exemplo função strchr()
Fonte: Criado pelo autor.
Saída:
Figura 6 - Exemplo saída função strchr()
Fonte: Criado pelo autor.
4 - É muito importante notar o seguinte fator, o retorno da função STRCHR() é um ponteiro para o ponto de um vetor de caracteres já existente ou seja, a primeira posição do vetor do ponteiro vai ser um ponto de um vetor já existente. Utilizando o caso anterior como exemplo:
Figura 7 - Exemplo de cadeia de vetores
Fonte: Criado pelo autor.
A saída:
Figura 8 - Exemplo da saída de cadeia de vetores
Fonte: Criado pelo autor.
Nesse caso o caractere de ponto e vírgula(“;“), se repete porque, o ponteiro[0], é o carácter na posição [3] do vetor da variável texto, e assim sucessivamente. Ao alterar ou manipular os valores do ponteiro, estarei alterando os vetores da variável texto também. 
Com isso eu consigo manipular o ponto desejado para transmitir os apenas os dados que eu quero.
Dando continuidade no exemplo.
5 - Agora com o ponteiro apontando para a posição do vetor que quero manipular, posso remover o delimitador de ponto e vírgula(“;”) ao mesmo tempo manipulando o vetor para separar as duas variáveis, fazendo o seguinte procedimento:
Figura 9 - Exemplo de manipulação de vetores
Fonte: Criado pelo autor.
Com a primeira expressão, “ponteiro[0] = ‘\0’;” , estou removendo o delimitador de ponto e vírgula(“;”), e substituindo pelo argumento \0. Esse argumento é interpretado pelos compiladores como o final de uma sequência de caracteres, ou seja, estou finalizando a sequência da variável texto, no ponto que uma nova sequência inicia, mas ao utilizar comandos de impressão ou atribuição de dados, o compilador irá ignorar as próximas posições dos vetores, passando apenas a primeira cadeia de caracteres que contém a primeira variável do conjunto.
A segunda expressão, “ponteiro++;” , move a posição do vetor do ponteiro para a próxima posição. Seguindo o exemplo a seguir:
Figura 10 - Exemplo da função strchr() com manipulação de vetor.
Fonte: Criado pelo autor.
A saída seria:
Figura 10 - Exemplo de saída da função strchr() com manipulação de vetor.
Fonte: Criado pelo autor.
Com isso conseguimos separar a primeira variável das demais, podendo alocar ela a outra variável ou utilizá-la em outros comandos. Utilizando essa manipulação de vetores de uma cadeia de caracteres, e utilizando variáveis auxiliares, podemos ir “recortando” variável por variável, desde que ela siga a estrutura de dados impostas nessa lógica, e assim poderei ir populando um arquivo, com uma estrutura de variáveis, dispostamente organizadas, a qual posso fazer a leitura conforme a necessidade estipulada. Com uma solução para gravar os dados e fazer a leitura deles, e a separação deles, devo começar a trabalhar na lógico do programa em si, sendo a função de login, a primeira, que irá aparecer para o usuário.
3. Login
O sistema de login existe para prevenir que pessoas não autorizadas possam acessar os dados dos sistemas, utilizando credenciais de acesso, normalmente usando duas cadeias de caracteres que precisam ser conferidas e caso elas forem iguais a uma cadeia que possua no banco de dados, libera acesso para uso do sistema, caso não confira, a função se repetirá indefinidamente até as credenciais corretas sejam colocadas, impedindo assim o acesso não autorizado ao sistema. Com a lógica de poder gravar em um arquivo linhas com os dados estruturados, podemos salvar em cada linha do arquivo com credenciais de usuário e senha, as cadeias de caracteres que deverão ser equivalentes, e fazer uma repetição que rode todas as linhas do arquivo, compare cada uma delas até identificar alguma que seja igual aos dados digitados pelo usuário, ou, que chegue até o final do arquivo sem identificar, e não libere o sistema. Se manter isso em um laço de repetição a onde a única saída é a comparação dos caracteres digitados serem iguais a uma sequência de registro previamente gravado em um arquivo, temos um sistema rudimentar de login. Para garantir que o sistema funciona, podemos verificar no começo do sistema se o arquivo de senha existe, e criar ele populando com um dado inicial para uso, conforme apresentado na figura 1 anteriormente. 
Com isso em mente podemos criar uma lógica de processos.
Figura 11 - Fluxograma função de login.
Fonte: Criado pelo autor.
Seguindo os passos da função, primeiro precisamos abrir o arquivo que contém os dados da senha, após isso, coletamos os inputs do usuário com o usuário e senha dele e fazemos a primeira leitura do arquivo.
Essa leitura irá retornar um valor, que ou será os dados previamente gravados no arquivo, ou será um retorno de nulo informando que o fim do arquivo chegou, caso retorne o fim do arquivo, será fechado a conexão com arquivo, e iniciara um novo ciclo do processo. Caso a função retorne com valores de usuário e senha, passará para o próximo passo que irá comparar os dados digitados pelo usuário com os dados coletados no arquivo. Se a comparação for bem sucedida a função acaba e o laço de repetição termina, liberando acesso ao resto do sistema, caso a comparação falhe, uma nova leitura será feita no arquivo, coletando novos dados para comparação, até que o arquivo termine ou ache dados equivalentes ao digitado.
Todo o conceito da função de login aproveita a possibilidade de um loop infinito para impedir que o programa siga para os próximas etapas do código impedindo acesso ao conteúdo do programa.
Exemplo do funcionamento do login:
Figura 12 - Exemplo login com sucesso.
Fonte: Criado pelo autor.
Figura 13 - Exemplo falha de login.
Fonte: Criado pelo autor.
Após conseguir entrar no sistema com usuário e senha corretos é liberado o acesso ao menu principal, que dará opção ao usuário usufruir das ferramentas do sistema.
4. Menu Principal
O menu principal vai ser o ponto central do sistema, a qual dele irá ter opções para as outras funções do sistema, servirá como uma tela inicial para a navegação do usuário dando acesso às ferramentas que o sistema irá fornecer.
O funcionamento básico será escrever na tela do console as opções seguidas de números, e após isso a escuta do input do usuário com a opção desejada do menu, a qual irá chamar a respectiva função selecionada, e ao final da função irá se repetir o ciclo até a opção de fechar o sistema seja selecionado, dando uma saída do sistema. Todo o funcionamento estará dentro de um laço de repetição que irá se manter, dando apenas uma saida dele, e após todo retorno de função retornará para a repetição que apresentará a tela novamente, e uma nova escolha a ser feito pelo usuário.
Segue abaixo um fluxograma da lógica descrita.
Figura 14 - Fluxograma Menu Principal.
Fonte: Criado pelo autor.
Figura 15 - Tela de menu principal.
Fonte: Criado pelo autor.
5. Cadastros de dados
Tanto a função de realizar o cadastro do paciente quanto o cadastro de senha segue um processo lógico simples:
1 - Abri-se o arquivo a ser usado como repositório. 
2 - Coleta os inputs do usuário.
3 - Armazena os inputs em variável local.
4 - Exporta os dados das variáveis para o arquivo.
5 - Fecha o arquivo.
A única exceção nesse caso e no cadastro de usuário e senha que será usado no sistema, é necessário confirmar se a senha digitada não foi digitada errada, então é só solicitado para re-digitar a senha, e comparar se as duas digitações estão iguais, caso estejam é gravado no arquivo os dados. Como tratado anteriormente esses dados estão seguindo o padrão estipulado, onde cada variável gravada segue uma ordem determinada e os dados são separadas pelo símbolo de ponto e vírgula(“;”), um exemplo da estruturade senha no arquivo gravado seria:
unip;1234
administrador;senha2020
Segue abaixo a lógica de funcionamento dos cadastros:
Figura 16 - Fluxograma lógica cadastrol.
Fonte: Criado pelo autor.
Figura 17 - Fluxograma lógica de cadastro de senha.
Fonte: Criado pelo autor.
Para facilitar o cadastro e manter organizado os arquivos foi criado um estrutura de dados que contém os dados necessários para o cadastro do paciente, contendo todos os campos necessário estipulada pelo objetivo do projeto. Segue abaixo exemplo da estrutura:
Figura 18 - Estrutura de dados Registro.
Fonte: Criado pelo autor.
Pode se ver pela imagem que existem duas estrutura de dados, uma chamada endereco e outra chamada registro. O registro endereco auxilia na organização dos dados do endereço do paciente e facilita na escrita do código, e o registro de nome registro é o que será usado para conter os dados do paciente para, também, facilitar na escrita do código e na gravação dos dados. Assim ficando fácil para declarar variáveis auxiliares onde não é necessário re-digitar todos os campos repetidamente.
No caso da senha, também tem uma estrutura de dados para facilitar no caso como mostra imagem abaixo:
Figura 19 - Estrutura de dados senha.
Fonte: Criado pelo autor.
6. Função checaidade()
Essa função é usada para identificar se o cadastro realizado possui os dados de risco, se ele possui alguma comorbidade ou se tem idade maior que 65 anos.
A lógica utilizada é simples:
1 - Soma-se a data do diagnóstico, multiplicando o ano do diagnóstico por 356, o mês do diagnóstico por 30 e o dia do diagnóstico por 1 e subtrai esse valor da soma da data do nascimento, que é dado pela multiplicação do ano do nascimento por 356, do mês do nascimento por 30 e do dia do nascimento por 1.
2 - O valor da operação anterior é realizado a divisão por 356, que será um valor aproximado da idade do paciente.
3 - Usando o resto da divisão da idade, pode-se chegar aos meses, dividindo o resto por 30, e o resto dos meses seria os dias, estipulando o tempo de vida total do paciente.
Com um valor da idade do paciente, pode-se verificar se ele está em grupo de risco, e caso esteja se faz necessário exportar o arquivo com os dados do cliente.
Todos esses dados serão passados na chamada da função que solicita uma variável do tipo registro, variável essa que foi criada para manter os dados do paciente organizados.
Segue abaixo fluxograma da lógica da função.
Figura 20 - Fluxograma função checaidade().
Fonte: Criado pelo autor.
Caso o paciente possua idade avançada ou uma comorbidade, será exportando os dados dele para um arquivo de nome Risco.txt, que conterá os dados dele conforme solicitado pelos objetivos do projeto. Segue exemplo:
7. Função imprime
Essa função serve para a mostrar os registros gravados no arquivo de cadastro de paciente na tela do console, de uma forma ordenada e organizada. Um exemplo da tela:
A lógica é bem simples também, como tratado anterior, temos a opções de ler uma linha por vez do arquivo, e separar as variáveis com as delimitações, toda o processo dessa função é ler uma linha por vez, separar as variáveis alocar elas em uma variável auxiliar e escrever na tela do console, com uma formatação mais detalhada e os campos corretos. Isso se dá ao fato do processo tratado anteriormente, gravando as variáveis em uma ordem organizada, e realizar a impressão dessas variáveis na mesma ordem, podemos ter controle dos dados e afins.
Segue abaixo fluxograma com a lógica básica do processo:
Figura 21 - Fluxograma função imprime.
Fonte: Criado pelo autor.
8. Método de desenvolvimento
Desde a revolução tecnológica sempre houve a necessidade de ter um processo eficiente para desenvolver um software, com o objetivo em ter um software de qualidade com o menor uso de recurso possível e da forma mais rápida possível. No decorrer dos anos os métodos ágeis de desenvolvimento vieram a ganhar destaque na sua capacidade de desenvolvimento mais direto e próximo ao usuário, sendo um deles bastante utilizado o método Scrum.
O método Scrum consiste em dividir ciclos de atividades com objetivos definidos e um prazo de entrega, após o término do ciclo, é avaliado os objetivos completados, e o desenvolvimento do ciclo, tentando ajustar o próximo ciclo de forma a ser mais eficiente. O grande centro do Scrum é uma comunicação direta com a equipe tendo conhecimento das dificuldades diárias da equipa e das necessidades do cliente. Com esse método é possível ter um controle dos objetivos necessários e o acompanhamento do desenvolvimento por completo, com foco em uma entrega de boa qualidade e rápida.
Por mais que o método foi destinado primeiramente, para equipes de desenvolvimento, as práticas adotadas nele podem ser aplicadas para desenvolvedores solos. Traçando os objetivos iniciais, estipulando um tempo para a produção deles, e avaliando após o término do tempo as dificuldades no processo, facilita a identificação dos problemas e das principais pedras no caminho do desenvolvedor, além de conseguir manter um controle sobre o processo total, facilitando o planejamento futuro e a entrega com uma boa qualidade.
9. Conclusão
Com esse projeto demonstro que é possível fazer um sistema rudimentar de cadastro com as ferramentas apresentadas e as soluções sugeridas. No manual da matéria não é pré-estabelecido o uso de uma estrutura lógica de dados, como fila, pilha ou árvore, apenas é solicitado que os dados sejam salvos em arquivo, e não é detalhado o uso do arquivo, apenas é informado que deve ser utilizado para consultas futuras, a qual eu concluí que deveria ser usado como uma base de dados de consultas, a qual o programa irá utilizar para realizar as consultas aos cadastros realizados, com esse entendimento foi possível tratar o desenvolvimento como foi apresentado aqui. 
As estruturas fundamentais poderiam ser incorporadas ao projeto, mas seria redundante, por que elas trabalham alocando na memória os dados, para depois transmitir para o arquivo, nesse projeto apresentei uma solução que pula essa etapa, e aloca os resultados diretamente ao arquivo, liberando uso da memória, sem correr o risco do uso excessivo dela ou manipulação errada da mesma, além de acarretar na necessidade de poder consultar os dados, como informado no objetivo, toda a consulta dos dados pode ser dado pelo programa como solicitado, não se corre o risco de fechar o programa e ter perda dos dados durante o processo, a cada novo registro realizado ele é transferido para o arquivo.
	O sistema possui um sistema de login que irá validar os dados digitados, conforme objetivo do projeto, tomei a liberdade de incorporar a solução do cadastro junto a esse, dando a opção de cadastrar novos logins e senhas.
Com isso concluo que todos os objetivos apresentados no Manual do PIM IV, foram alcançados conforme as soluções apresentados a esse projeto.
REFERÊNCIAS
Site StackOverFlow, Referente a salvar variáveis em arquivos, último acesso: 14/11/2020.
<https://stackoverflow.com/questions/31844296/c-saving-variables-in-files>
Site Universidade de Utah, Paper referente entrada e saída de dados com arquivos em C, último acesso: 14/11/2020.
<https://www.cs.utah.edu/~germain/PPS/Topics/C_Language/file_IO.html>
Fórum de discussão Clube do Hardware, referente a gravamento de estrutura em arquivos,
último acesso: 14/11/2020.
<https://www.clubedohardware.com.br/topic/1118980-gravar-struct-em-arquivotxt/>
Blog Alexandre Magno, referente a Scrum e Scrum Solo, último acesso: 14/11/2020.
<https://alexandremagno.net/2014/03/scrum-solo/#:~:text=%E2%80%9CScrum%20%C3%A9%20baseado%20em%20pequenas,softwares%20desenvolvidos%20por%20programadores%20solos>
Site Wikipedia, Referente a metódo Scrum, último acesso: 14/11/2020.
<https://pt.wikipedia.org/wiki/Scrum_(desenvolvimento_de_software)>

Continue navegando