
Enviado em 23/02/2015 - 18:16h
Boa tarde,#include <stdio.h>
#include <stdlib.h>
typedef struct produto{
int codigo;
char nome[50];
int estoque;
float preço;
}sp;
int main()
{
FILE *produto;
sp um;
um.codigo = 10000;
int i, num, opção, quantidade, totalproduto[100],;
char linha[100], linhap[1000], , pesquisa[160], descrição[1000];
printf("Escolha uma opção:\n\n[1]Cadastro\n[2]Venda\n[3]Sair\n");
scanf("%d", &opção);
if (opção == 1)
{
printf("\nEscolha uma de cadastro:\n[1]Cadastrar produto\n[2]Pesquisar produto\n[3]Altera/Excluir as informações cadastradas\n");
scanf("%d", &num);
switch (num)
{
case 1:printf("\nCadastro selecionado\n");
printf("\nQuantos produtos serão cadasatrados:\n");
scanf("%d", &um.estoque);
if (um.estoque > 50 || um.estoque == 0){
printf("Impossivel cadastrar essa quantidade\n");
exit(1);
}
else
{
produto = fopen("produto.txt", "w");
if (produto == NULL){
printf("Impossivel abrir o arquivo\n");
exit(1);
}
fprintf(produto, "Produtos no estoque:\n\n");
fprintf(produto,"\nProduto estoque preço codigo\n");
for (i = 0; i < um.estoque; i++)
{
while (getchar() != '\n'); //limpar buffer
printf("\nDigite os produtos para cadastro:\n");
gets_s(um.nome);
while (getchar() != '\n');
printf("\nInforma a quantidade:\n");
scanf("%d", &totalproduto);
while (getchar() != '\n');
printf("\nDigite a descrição produtos para cadastro:\n");
gets(descrição);
while (getchar() != '\n');
printf("\nDigite o preço:\n");
scanf("%f", &um.preço);//como cast para double
fputs(um.nome, produto);
fprintf(produto, " %d", *totalproduto);
fprintf(produto, " %f", um.preço);//como cast para double
fprintf(produto, " %d", (um.codigo + i));
fprintf(produto, "\n\n");
fprintf(produto, "Descrição:\n\n");
fputs(descrição, produto);
fprintf(produto, "\n\n");
}
um.codigo++;
}
fclose(produto);
exit(0);
case 2:printf("\nPesquisa selecionado\n");
printf("Qual produto a ser pesquisado:\n");
scanf("%s", &pesquisa);
produto = fopen("produto.txt", "r");
if (produto == NULL){
printf("Impossivel abrir o arquivo\n");
exit(1);
}
i = 0;
while ((linhap[i] = fgetc(produto)) != EOF){
if (linhap[i] != pesquisa[i]){
while ((fgets(linha, sizeof(linha), produto)) != pesquisa){
puts(linha);
system("pause");
exit(0);
}
}
else
printf("\nNão existe este produto\n");
exit(1);
}
i++;
fclose(produto);
case 3:printf("\nAltera/Excluir as informações de produto selecionado\n");
printf("\nEscolha uma opção:\n[1]Adicionar novos produtos\n[2]Excluir produtos\n[3]Alterar produto\n");
scanf("%d", &num);
switch (num)
{
case 1:printf("\nAdicionar novos produtos selecionado\n");
case 2:printf("\nExcluir produtos selecionado\n");
case 3:printf("\nAlterar produto selecionado\n");
default:printf("\nOpção invalida\n");
break;
}
default:printf("\nOpção invalida\n");
break;
}
}
return 0;
}
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (1)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









