[AJUDA] Criar cadastro de produtos em C.

1. [AJUDA] Criar cadastro de produtos em C.

pedro vitor
pedronardoni

(usa Ubuntu)

Enviado em 07/11/2016 - 17:48h

Olá, pessoal!
Sou aluno do curso de T.I. e atualmente estou com um projeto valendo nota na faculdade, onde nesse projeto temos que simular um sistema de compras online onde é feito o cadastramento de produtos (valores, nomes, código de barras) e o usuário terá que fazer compras, tendo a opção do carrinho de compras (add ou remover produtos), valor total, etc.
Gostaria de saber se é realmente possível fazer essa simulação usando comandos básicos como IF, WHILE, FOR, STRUCT e etc. Estou sem saber por onde começar e ficaria muito grato se voces me sugerissem ou me orientassem, preciso muito passar nessa disciplina e estou ficando desesperado, pois sou muito nível iniciante em programão em C.


  


2. Re: [AJUDA] Criar cadastro de produtos em C.

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 07/11/2016 - 17:57h

Sim, totalmente possível.

Se já aprendeu estruturas, pode agrupar o produto, utilizando struct:


typedef struct {
double valor;
unsigned cod_barra;
char nome [256];
unsigned quantidade;
} produto_t;


Depois disso poderá agrupar uma série de produtos em alguma estrutura, como um array, por exemplo, para gerar o estoque.

--
Uilian Ries
Linux Counter: 521986


3. Re: [AJUDA] Criar cadastro de produtos em C.

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/11/2016 - 18:22h

pedronardoni escreveu:

Olá, pessoal!
Sou aluno do curso de T.I. e atualmente estou com um projeto valendo nota na faculdade, onde nesse projeto temos que simular um sistema de compras online onde é feito o cadastramento de produtos (valores, nomes, código de barras) e o usuário terá que fazer compras, tendo a opção do carrinho de compras (add ou remover produtos), valor total, etc.
Gostaria de saber se é realmente possível fazer essa simulação usando comandos básicos como IF, WHILE, FOR, STRUCT e etc. Estou sem saber por onde começar e ficaria muito grato se voces me sugerissem ou me orientassem, preciso muito passar nessa disciplina e estou ficando desesperado, pois sou muito nível iniciante em programão em C.


Provavelmente terá de usar estrutura de dados simples, como uma lista.
Também alocação dinâmica.
Mas pode ser que não.

Se existirem muitos produtos compensa até usar estrutura.
Porque isto reduz o espaço de memória usado.

Se forem poucos produtos pode-se usar um array simples.
Cada elemento do array é uma struct de dados de produtos.
O que pode variar seja talvez o código de produto.
Pode ter ou não lugar fixo para cada produto no array, ou variar o código do produto no array.
De qualquer forma o que pode variar é a quantidade de produtos e o preço total de um grupo de mesmos produtos.

Outra coisa que deve ser registrada é o número do pedido e valor total do pedido.
Pode ser necessário um cadastro de usuários, uma outra struct própria.

Para gravar todos estes dados em disco será necessário dominar instruções de gravação em arquivos.

Resumindo: dá sim para usar comandos simples. Você pode acrescentar algo a mais se sentir necessário

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



4. Re: [AJUDA] Criar cadastro de produtos em C.

pedro vitor
pedronardoni

(usa Ubuntu)

Enviado em 07/11/2016 - 22:21h

uilianries escreveu:

Sim, totalmente possível.

Se já aprendeu estruturas, pode agrupar o produto, utilizando struct:


typedef struct {
double valor;
unsigned cod_barra;
char nome [256];
unsigned quantidade;
} produto_t;


Depois disso poderá agrupar uma série de produtos em alguma estrutura, como um array, por exemplo, para gerar o estoque.

--
Uilian Ries
Linux Counter: 521986


Sim, inclusive acho bem simples a ideia de struct. O array seria um vetor?? Como disse, ainda sou bem iniciante em C. O ideal é que eu possa encontrar os produtos por valor, nome ou codigo, ainda não pensei como farei isso.



5. Re: [AJUDA] Criar cadastro de produtos em C.

pedro vitor
pedronardoni

(usa Ubuntu)

Enviado em 07/11/2016 - 22:24h

listeiro_037 escreveu:

pedronardoni escreveu:

Olá, pessoal!
Sou aluno do curso de T.I. e atualmente estou com um projeto valendo nota na faculdade, onde nesse projeto temos que simular um sistema de compras online onde é feito o cadastramento de produtos (valores, nomes, código de barras) e o usuário terá que fazer compras, tendo a opção do carrinho de compras (add ou remover produtos), valor total, etc.
Gostaria de saber se é realmente possível fazer essa simulação usando comandos básicos como IF, WHILE, FOR, STRUCT e etc. Estou sem saber por onde começar e ficaria muito grato se voces me sugerissem ou me orientassem, preciso muito passar nessa disciplina e estou ficando desesperado, pois sou muito nível iniciante em programão em C.


Provavelmente terá de usar estrutura de dados simples, como uma lista.
Também alocação dinâmica.
Mas pode ser que não.

Se existirem muitos produtos compensa até usar estrutura.
Porque isto reduz o espaço de memória usado.

Se forem poucos produtos pode-se usar um array simples.
Cada elemento do array é uma struct de dados de produtos.
O que pode variar seja talvez o código de produto.
Pode ter ou não lugar fixo para cada produto no array, ou variar o código do produto no array.
De qualquer forma o que pode variar é a quantidade de produtos e o preço total de um grupo de mesmos produtos.

Outra coisa que deve ser registrada é o número do pedido e valor total do pedido.
Pode ser necessário um cadastro de usuários, uma outra struct própria.

Para gravar todos estes dados em disco será necessário dominar instruções de gravação em arquivos.

Resumindo: dá sim para usar comandos simples. Você pode acrescentar algo a mais se sentir necessário

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Sim, eu estava pensando em poucos produtos então decidi que vão ser capinhas de celular, pra ficar uma coisa bem simples mesmo. Quanto a alocar espaço não sei como fazer. E sim, o programa terá que ser dividido em classes, arquivos .c e .h, ainda estou vendo alguns videos pra poder saber como faz, porque na faculdade não ficou muito claro. Voce tem algumas dicas que possa me dar, por favor? Desde já, obg



6. Re: [AJUDA] Criar cadastro de produtos em C.

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 07/11/2016 - 23:24h

pedronardoni escreveu:

uilianries escreveu:

Sim, totalmente possível.

Se já aprendeu estruturas, pode agrupar o produto, utilizando struct:


typedef struct {
double valor;
unsigned cod_barra;
char nome [256];
unsigned quantidade;
} produto_t;


Depois disso poderá agrupar uma série de produtos em alguma estrutura, como um array, por exemplo, para gerar o estoque.

--
Uilian Ries
Linux Counter: 521986


Sim, inclusive acho bem simples a ideia de struct. O array seria um vetor?? Como disse, ainda sou bem iniciante em C. O ideal é que eu possa encontrar os produtos por valor, nome ou codigo, ainda não pensei como farei isso.


Comece com algo simples, utilizando um array, como:


produto_t estoque [100];
produto_t carrinho [10];


Isso quer dizer que você terá um estoque com até 100 produtos e um carrinho com até 10 produtos. Baseado que isto é apenas um exercício, esses limites devem servir.

Vocẽ ainda pode criar um menu, simulando a loja, como:

[1] - Listar produtos
[2] - Listar carrinho
[3] - Finalizar compra
[4] - Cancelar compra



--
Uilian Ries
Linux Counter: 521986


7. Re: [AJUDA] Criar cadastro de produtos em C.

pedro vitor
pedronardoni

(usa Ubuntu)

Enviado em 08/11/2016 - 20:30h

Pessoal, vocês poderiam me ajudar me dando sugestões de como fazer busca por produtos já cadastros através do código do produto????


8. Re: [AJUDA] Criar cadastro de produtos em C.

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 08/11/2016 - 21:56h

Chutando que cada produto vai possui um nome único, você pode iterar sobre cada elemento do array e comparar nome do produto.
Poderá utilizar um laço for para a iteração.
Você pode utilizar a função strncmp (compara dois conjuntos de caracteres de tamanho N) para encontrar produtos de mesmo nome.
Você ainda pode ter mais informações sobre ela, pelo comando: man strncmp


--
Uilian Ries
Linux Counter: 521986


9. Re: [AJUDA] Criar cadastro de produtos em C.

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/11/2016 - 04:01h

Você precisa pesquisar por substrings dentro de uma string.
Isto pode ser útil para usar parte de um nome de um produto.
Porque pode-se não saber como é o nome completo e detalhado no cadastro.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



10. Re: [AJUDA] Criar cadastro de produtos em C.

pedro vitor
pedronardoni

(usa Ubuntu)

Enviado em 17/11/2016 - 02:55h

Pessoal, alguem poderia me ajudar por favor com a modularização do codigo?? como eu faço pra dividir em arquivos.c e .h classes etc??? tipo na minha main eu chamo uma função que ta salvada em outro arquivo .h ou .c


11. Re: [AJUDA] Criar cadastro de produtos em C.

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 17/11/2016 - 09:17h

O arquivo de header fica com as declarações de funções, como uma interface, enquanto a implementação fica no arquivo fonte.

Exemplo:


// foo.h
typedef struct {
int bar;
} foo_t;

void foo_print(foo_t foo);



// foo.c
#include "foo.h"
#include <stdio.h>

void foo_print(foo_t foo) {
printf("FOO: %d\n", foo.bar);
}



// main.c
#include "foo.h"

int main() {
foo_t foo = {42};
foo_print(foo);
return 0;
}


A saída do programa será 42.

Para compilar o programa, utilize a seguinte linha no gcc: $gcc main.c foo.c. Isso resultará num arquivo executável, de nome a.out.
Veja que eu não incluí o header na linha do gcc, pois o mesmo já está incluído nos arquivos main.c e foo.c.
A função foo_print foi declarada no arquivo foo.h, mas só foi implementada no arquivo foo.c.

Se quiseres se aprofundar um pouco mais sobre a etapa de compilação, o Paulo tem uma resposta muito boa e clara, sobre este assunto, neste post: https://www.vivaolinux.com.br/topico/C-C++/Bliblioteca-ou-header

--
Uilian Ries
Linux Counter: 521986


12. Re: [AJUDA] Criar cadastro de produtos em C.

pedro vitor
pedronardoni

(usa Ubuntu)

Enviado em 27/11/2016 - 13:52h

Alguem sabe como eu posso fazer pra entrar com um arquivo txt de produtos do tipo da minha struct que eu criei??



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts