Marcelo Posted June 21, 2012 at 01:46 AM Report #464509 Posted June 21, 2012 at 01:46 AM A loja de informática BitByte pretende um programa para ajudar a gerir o seu stock de produtos. Para o efeito basta uma aplicação em modo de texto, que permita manter um registo do material em stock e do vendido. A aplicação deve usar os seguintes dados: Fornecedores Cada fornecedor é descrito por: Número de fornecedor; Nome; Contribuinte; Morada [máx. 500 caracteres]; Comentários [máx. 500 caracteres] Produtos Cada produto é descrito por: Referência [até 6 caracteres alfanuméricos]; Nome; Descrição; Quantidade em stock; Fornecedor [número] Vendas As vendas são registadas por um programa de faturação externo. O programa de faturação gera um ficheiro de texto, com campos separados por ponto e vírgula, em que cada linha corresponde a uma venda de um produto, no formato: Data [formato Ano/mês/dia];Referência do produto;Quantidade Cada produto pode aparecer mais do que uma vez no ficheiro. Funcionamento do programa O programa deve apresentar as seguintes funcionalidades: 1) Gerir fornecedores. Deve ser possível ver fornecedores, alterar dados e introduzir novos. 2) Gerir produtos. Deve ser possível ver os produtos, alterar dados e introduzir novos produtos. 3) Ver relatórios de vendas. Deve ser possível ver as vendas, por produto e por fornecedor, entre duas datas introduzidas pelo utilizador. 4) Controlo de stocks. O programa deve permitir ver as quantidades em stock de cada produto, filtrando ou não por fornecedor. 5) Notas de encomenda. Para gerar uma nota de encomenda, o utilizador deve escolher o fornecedor e o período para o qual quer encomendar. O programa deve então gerar uma lista de todos os produtos desse fornecedor e calcular quanto deve ser vendido no período em causa. Por exemplo, se o período for de 2 meses e nos últimos 2 meses foram vendidos 50 computadores, o programa deve sugerir que sejam encomendados mais 50. (Podem ser usados métodos mais eficazes, mas este é perfeitamente aceitável). O relatório deve ser mostrado no ecrã e gravado num ficheiro de texto, com os campos separados por ponto e vírgula. Por favor ajudem me!! Ja fiz isto: #include<stdio.h> #include<string.h> char *MainMenu[] = { "1.Inserir Registo", "2.Alterar Registo", "3.Apagar Registo", "4.Listar Registo", "5.Pesquisas", "0.Sair", NULL */Acabaram as opcoes*/ }; FILE *fp; /*Variavel global pois e util ao longo do programa*/ typedef struct {int ano,mes,dia;} Data; struct_Fornecedores { int numero_fornecedor[10]; char nome[50]; int contribuinte[9]; char morada[500]; char comentario[500]; }; struct_Produtos { float referencia[6]; char nome[50]; char descricao[500]; int quantidade_stock[500]; int numero_fornecedor[10]; }; struct_vendas { int Data; char referencia_do_produto[6]; int quantidade_stock; };
HappyHippyHippo Posted June 21, 2012 at 05:13 AM Report #464515 Posted June 21, 2012 at 05:13 AM neste fórum existe imensas pessoas que, pela simples sensação de realização de entre ajuda, perdem tempo para ajudar a tirar dúvidas das pessoas. no entanto, por saberem (porque já passaram pelo processo normal de aprendizagem) o que é melhor para alguém que está a começar, não resolvem enunciados de ninguém. se tiveres uma dúvida concreta teremos todos o gosto em explicar e/ou corrigir, caso contrário, o post é normalmente ignorado. o código que apresentaste não tem absolutamente nada a não ser um conjunto de definições. se estás a perguntar se estas definições de estruturas são suficientes/correctas para resolver o enunciado, então digo-te já que não, porque basta dizer que não faz sentido teres array's de int para guardar um número do registo. 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pmg Posted June 21, 2012 at 08:04 AM Report #464521 Posted June 21, 2012 at 08:04 AM Ja fiz isto: Vais no bom caminho ... Tenho duas sugestões: a) Não uses variáveis globais, mesmo quando são uteis ao longo do programa. Tirando casos muito excepcionais, é preferível (embora origine funções com mais parametros) não as usar. b) porque é que Data é um typedef e as outras estruturas não são? Mete todas as estruturas com o mesmo esquema (eu prefiro não usar typedef). c) também podes indentar as estruturas "como se fossem código" What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Marcelo Posted June 21, 2012 at 11:09 AM Author Report #464555 Posted June 21, 2012 at 11:09 AM (edited) Vais no bom caminho ... Tenho duas sugestões: a) Não uses variáveis globais, mesmo quando são uteis ao longo do programa. Tirando casos muito excepcionais, é preferível (embora origine funções com mais parametros) não as usar. b) porque é que Data é um typedef e as outras estruturas não são? Mete todas as estruturas com o mesmo esquema (eu prefiro não usar typedef). c) também podes indentar as estruturas "como se fossem código" Muito obrigado vou ja agora modificar essas coisas. Posso ja pedir ao utilizador as informacoes nao posso? Edited June 21, 2012 at 11:09 AM by Marcelo
polska Posted June 21, 2012 at 11:41 AM Report #464559 Posted June 21, 2012 at 11:41 AM Uma coisa, por exemplo, "Referência [até 6 caracteres alfanuméricos]" , não faz sentido pores um vector de float como fizeste: float referencia[6]; Se 6 números nunca ultrapassam a capacidade de um float.. a não ser que mais tarde queiras alterar caracteres dessa mesma referência.. Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.
pmg Posted June 21, 2012 at 12:25 PM Report #464567 Posted June 21, 2012 at 12:25 PM Posso ja pedir ao utilizador as informacoes nao posso? Poder podes, mas (acho que) não é a maneira habitual de fazer as coisas. O normal é meteres dados "à pata" no ficheiro e testar outras funcionalidades antes de escrever o código para interacção com o utilizador. Quando escreves a parte de interacção com o utilizador podes não reparar que precisas de alterar as estruturas ... e quando fores fazer as outras funcionalidades tens que voltar atrás e alterar a parte já feita. Se deixares essa parte para o fim ela sai bem logo à nascença. Mas faz à tua maneira! What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Marcelo Posted June 21, 2012 at 01:10 PM Author Report #464569 Posted June 21, 2012 at 01:10 PM (edited) Nao percebo nada disto pessoal desculpem!! Edited June 21, 2012 at 09:29 PM by Marcelo LP adicionada ao GeSHi
HappyHippyHippo Posted June 21, 2012 at 02:05 PM Report #464582 Posted June 21, 2012 at 02:05 PM acho isso de compilar er não aparecer nada muito estranho. se não soubesse parece que tens alguma coisa na tua compilação que te anda a redireccionar o stdout para um ficheiro ou algo parecido. tenta fazer estes teste: - cria uma aplicação nova mas agora tenta por só um "hello, world" usando a função puts. - alterar a aplicação anterior para usar a função fputs IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Flinger Posted June 21, 2012 at 02:20 PM Report #464587 Posted June 21, 2012 at 02:20 PM (edited) EDIT: NVM, já alterou... Edited June 21, 2012 at 02:21 PM by Flinger
Marcelo Posted June 21, 2012 at 02:28 PM Author Report #464592 Posted June 21, 2012 at 02:28 PM nvm???
Flinger Posted June 21, 2012 at 02:45 PM Report #464599 Posted June 21, 2012 at 02:45 PM Nevermind....
Marcelo Posted June 21, 2012 at 02:57 PM Author Report #464610 Posted June 21, 2012 at 02:57 PM Nevermind.... nao sei onde possa estar isso...
Rubemlrm Posted June 21, 2012 at 04:31 PM Report #464647 Posted June 21, 2012 at 04:31 PM nao sei onde possa estar isso... NVM e uma expressão que quer dizer deixa la 😉 não tem a haver com o código.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now