-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d73f1bb
commit 80ce36e
Showing
14 changed files
with
339 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
all: compilar | ||
|
||
compilar: main.o paises.o | ||
gcc build/paises.o build/main.o build/gerais.o -o controleestoque.bin `pkg-config --libs mysqlclient` | ||
|
||
main.o: src/main.c | ||
gcc -c src/main.c -o build/main.o | ||
|
||
paises.o: src/paises.c src/diretivas_conexao.h | ||
gcc -c src/paises.c -o build/paises.o | ||
|
||
gerais.o: src/gerais.c | ||
gcc -c src/gerais.c -o build/gerais.o | ||
|
||
clean: | ||
rm -rf build/*.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,93 @@ | ||
# Sistema de controle de estoque | ||
# Sistema de Controle de Estoque | ||
|
||
Controle de estoque desenvolvido na linguagem C | ||
Controle de estoque desenvolvido na linguagem de programação C. | ||
Ferramenta utilizada para o ensino de programação no curso de Sistemas de Informação. | ||
|
||
# Ferramentas utilizadas | ||
|
||
Os projetos foram desenvolvidos utilizando apenas o *gedit*. | ||
|
||
# Como compilar o projeto? | ||
|
||
Para compilar é necessário apenas emitir o comando: | ||
|
||
*make* | ||
|
||
# Como rodar o projeto? | ||
|
||
Basta executar o arquivo binário gerado chamado *controleestoque.bin* no diretório principal do projeto. | ||
|
||
*./controleestoque.bin* | ||
|
||
# Dúvidas de como usar o GitHub? | ||
|
||
Assista os vídeos | ||
|
||
* https://www.youtube.com/watch?v=UMhskLXJuq4 | ||
* https://www.youtube.com/watch?v=neDiLHwXSVo | ||
|
||
# Contribuidores | ||
|
||
Ronneesley Moura Teles (Orientador) | ||
|
||
Alexandre Ferreira Lopes | ||
|
||
Ana Luiza Gomes de Souza | ||
|
||
Ana Paula Teodoro de Matos | ||
|
||
Andreia Alves de Souza Silva | ||
|
||
Andressa Viana Soares | ||
|
||
Antonelly Parreira Batista | ||
|
||
Antonio de Matos Tavares | ||
|
||
Bruno de Souza Qualhato | ||
|
||
Bruno Geovane Barros Alves | ||
|
||
Carlos Henrique Oliveira Antunes | ||
|
||
Clenilson Crisóstomo Sobrinho | ||
|
||
Daniel de Paula Rodrigues | ||
|
||
Darvesson Ferreira da Silva | ||
|
||
Denis Vitoriano Martins | ||
|
||
Eduardo Monteiro Andrade | ||
|
||
Gabriel Costa Silva | ||
|
||
Gilson Soares de Sousa | ||
|
||
João Crisostomo de Siqueira Neto | ||
|
||
Juliana Maciel Gomes | ||
|
||
Laila Cristina Pereira | ||
|
||
Leonardo Cordeiro de Souza Silva | ||
|
||
Luana Queirós Faria | ||
|
||
Marco Aurélio Rodrigues Pereira | ||
|
||
Matheus Henrique Passos de Oliveira | ||
|
||
Patricia Pereira de Mesquita | ||
|
||
Pedro Henrique Magalhaes de Oliveira | ||
|
||
Ruan Miller Mendes Lima Fonseca | ||
|
||
Samuel Rocha de Carvalho | ||
|
||
Vítor Henrique Rezende Feliciano | ||
|
||
Wagner Martins Rocha | ||
|
||
Welliton dos Santos Silva |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
create database if not exists controleestoque; | ||
|
||
use controleestoque; | ||
|
||
create table paises ( | ||
id int auto_increment primary key, | ||
nome varchar(100) not null | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
create user 'admin_ce'@'localhost' | ||
identified by 'controleestoque'; | ||
|
||
grant all on controleestoque.* to 'admin_ce'@'localhost'; |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#ifndef DIRETIVAS_CONEXAO_H | ||
#define DIRETIVAS_CONEXAO_H | ||
|
||
#define SERVIDOR_BD "localhost" | ||
#define USUARIO_BD "admin_ce" | ||
#define SENHA_BD "controleestoque" | ||
#define NOME_BD "controleestoque" | ||
#define PORTA_BD 3306 | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#include "gerais.h" | ||
|
||
/** | ||
* Limpa a tela | ||
* Autor: Ronneesley Moura Teles | ||
* Data: 15/08/2017 | ||
*/ | ||
void limparTela(){ | ||
system("clear"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#ifndef GERAIS_H | ||
#define GERAIS_H | ||
|
||
#include <stdlib.h> | ||
|
||
/** | ||
* Limpa a tela | ||
*/ | ||
void limparTela(); | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#include <stdio.h> | ||
#include "paises.h" | ||
#include "gerais.h" | ||
|
||
/** | ||
* Mostra o menu principal do sistema | ||
* Autor: Ronneesley Moura Teles | ||
* Data: 15/08/2017 | ||
*/ | ||
void mostrarMenuPrincipal(){ | ||
int opcao; //Opção a ser escolhida no menu | ||
|
||
do { | ||
limparTela(); | ||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
printf("| SISTEMA DE CONTROLE DE ESTOQUE |\n"); | ||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
|
||
printf("1) Cadastro de países\n"); | ||
printf("2) Cadastro de estados\n"); | ||
printf("3) Cadastro de cidades\n"); | ||
printf("4) Cadastro de clientes\n"); | ||
printf("5) Cadastro de produtos\n"); | ||
printf("6) Cadastro de fornecedores\n"); | ||
printf("7) Cadastro de representantes\n"); | ||
printf("8) Cadastro de funcionários\n"); | ||
printf("9) Sair\n\n"); | ||
|
||
printf("Digite a opção desejada: "); | ||
scanf("%d", &opcao); getchar(); | ||
|
||
switch (opcao){ | ||
case 1: mostrarListagemPaises(); break; | ||
case 9: | ||
printf("Até a próxima vez!\n"); | ||
break; | ||
default: | ||
printf("Opção inválida!\n"); | ||
} | ||
} while (opcao != 9); | ||
} | ||
|
||
/** | ||
* Função principal do programa | ||
*/ | ||
int main(){ | ||
mostrarMenuPrincipal(); | ||
|
||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
#include "paises.h" | ||
|
||
/** | ||
* Lista todos os países cadastrados no banco de dados | ||
* Autor: Ronneesley Moura Teles | ||
* Data: 15/08/2017 | ||
*/ | ||
void mostrarListagemPaises(){ | ||
limparTela(); | ||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
printf("| LISTAGEM DE PAÍSES |\n"); | ||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
printf("| ID | NOME |\n"); | ||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
|
||
//Cria a variável de conexão com o MySQL | ||
MYSQL mysql; | ||
mysql_init(&mysql); | ||
|
||
//Efetua a conexão | ||
if (mysql_real_connect(&mysql, SERVIDOR_BD, USUARIO_BD, SENHA_BD, NOME_BD, PORTA_BD, NULL, 0)){ | ||
//Executa o comando de consulta | ||
if (mysql_query(&mysql, "select id, nome from paises order by nome") == 0){ | ||
//Obtém o resultado | ||
MYSQL_RES *resultado = mysql_store_result(&mysql); | ||
|
||
//Cria uma variável para guardar a linha | ||
MYSQL_ROW linha; | ||
int *id; | ||
char *nome; | ||
while ( (linha = mysql_fetch_row(resultado)) ){ | ||
//Obtém cada coluna na órdem | ||
*id = atoi(linha[0]); | ||
nome = linha[1]; | ||
|
||
//Imprime cada linha | ||
printf("| %10d | %-100s |\n", *id, nome); | ||
} | ||
|
||
//Libera os resultado e fecha a conexão | ||
mysql_free_result(resultado); | ||
mysql_close(&mysql); | ||
} else { | ||
printf("%s\n", mysql_error(&mysql)); //Exibe a mensagem de erro | ||
} | ||
} else { | ||
printf("Falha ao conectar no banco de dados: %s\n", mysql_error(&mysql)); //Exibe a mensagem de erro ao conectar | ||
} | ||
|
||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
|
||
printf("Deseja cadastrar um novo país? (S/N) "); | ||
char resposta = getchar(); getchar(); | ||
|
||
if (resposta == 'S' || resposta == 's'){ | ||
mostrarCadastroPaises(); | ||
} | ||
} | ||
|
||
/** | ||
* Apresenta o cadastro de países | ||
* Autor: Ronneesley Moura Teles | ||
* Data: 15/08/2017 | ||
*/ | ||
void mostrarCadastroPaises() { | ||
Pais p; | ||
|
||
limparTela(); | ||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
printf("| CADASTRO DE PAÍSES |\n"); | ||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
|
||
printf("| NOME: "); | ||
fgets(p.nome, sizeof(p.nome), stdin); | ||
|
||
printf("|-------------------------------------------------------------------------------------------------------------------|\n"); | ||
|
||
printf("Deseja realmente criar o país? (S/N) "); | ||
char resposta = getchar(); getchar(); | ||
|
||
if (resposta == 'S' || resposta == 's'){ | ||
inserirPais(p); | ||
} | ||
} | ||
|
||
/** | ||
* Função responsável pela inserção de um país no banco de dados | ||
* Autor: Ronneesley Moura Teles | ||
* Data: 15/08/2017 | ||
*/ | ||
void inserirPais(Pais p){ | ||
//Inicializa a variável de conexão com o MySQL | ||
MYSQL mysql; | ||
mysql_init(&mysql); | ||
|
||
//Conecta no banco de dados | ||
if (mysql_real_connect(&mysql, SERVIDOR_BD, USUARIO_BD, SENHA_BD, NOME_BD, PORTA_BD, NULL, 0)){ | ||
//Cria o comando SQL para envio | ||
char sql[500]; | ||
snprintf(sql, 500, "insert into paises(nome) values('%s')", p.nome); | ||
|
||
//Envia o comando e analisa a resposta | ||
if (mysql_query(&mysql, sql) == 0){ | ||
mysql_close(&mysql); //Encerra a conexão | ||
|
||
printf("País cadastrado com sucesso\n"); //Exibe mensagem de sucesso | ||
} else { | ||
printf("%s\n", mysql_error(&mysql)); //Exibe a mensagem de erro | ||
} | ||
} else { | ||
printf("Falha ao conectar no banco de dados: %s\n", mysql_error(&mysql)); //Exibe a mensagem de erro ao conectar | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#ifndef PAISES_H | ||
#define PAISES_H | ||
|
||
#include <stdio.h> | ||
#include <mysql/mysql.h> | ||
#include "diretivas_conexao.h" | ||
#include "gerais.h" | ||
|
||
/** | ||
* Estrutura para representar um pais | ||
*/ | ||
typedef struct { | ||
int id; | ||
char nome[100]; | ||
} Pais; | ||
|
||
/** | ||
* Lista todos os países cadastrados no banco de dados | ||
*/ | ||
void mostrarListagemPaises(); | ||
|
||
/** | ||
* Apresenta o cadastro de países | ||
*/ | ||
void mostrarCadastroPaises(); | ||
|
||
/** | ||
* Função para inserção de um país no banco de dados | ||
*/ | ||
void inserirPais(Pais p); | ||
|
||
#endif |