estou aki precisando de uma ajudinha, eu fiz esse codigo em c++, mas não tá rodando e não consigo encontrar o erro de jeito algum, será que poderiam me ajudar a encontrar esse erro?
é o seguinte to fazendo um programa que armazene dados em txt, porem fiz um programinha simples que so armazenava um dado apenas e rodou, mas quando acresentei mais de um dado não rodou.
Pergunta
Guest Geovane
olá amigos
estou aki precisando de uma ajudinha, eu fiz esse codigo em c++, mas não tá rodando e não consigo encontrar o erro de jeito algum, será que poderiam me ajudar a encontrar esse erro?
é o seguinte to fazendo um programa que armazene dados em txt, porem fiz um programinha simples que so armazenava um dado apenas e rodou, mas quando acresentei mais de um dado não rodou.
merc = rodou
já
merc,quant,val,preço = não rodou
o que eu faço:
desde já agradeço
abraços
code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define lim 30
//=============================================================================
void insere(char merc[lim],int quant[lim],int val[lim],int preço[lim],int senha)
{
FILE *fd; //declaração de um ponteiro do tipo arquivo
fd = fopen("Farmacia","a");//abre o arquivo farmárcia com anexação
fprintf(fd, "%s\n", merc); //escreve mercadoria numa linha de fd
fprintf(fd, "%d\n", quant); //escreve quantidade numa linha de fd
fprintf(fd, "%d\n", val); //escreve validade numa linha de fd
fprintf(fd, "%d\n", preço); //escreve preço numa linha de fd
fprintf(stdout, "\n\n\t\t!!!PRODUTO(S) INCLUIDO(S) COM SUCESSO !!!\n");//escreve na tela
fclose(fd);//fecha o arquivo
getchar(); getchar(); //limpa o buffer e espera o usuario pressionar uma tecla
}
//=============================================================================
void pesquisa(char pesq[])
{
FILE *fd;
char linha[lim];
int checa=0;
fd = fopen("Farmacia","r");
while ((fscanf(fd,"%s",linha))!=EOF)
if (!strcmp(linha,pesq))
{
printf("\n\t CADASTRO ENCONTRADO>>> ");
fscanf(fd,"\n");
checa=1;
}
else
fscanf(fd,"\n\n");
if (checa==0) printf("CADASTRO INEXISTENTE ! TENTE NOVAMENTE!\n");
getchar(); getchar();
fclose(fd);
}
//=============================================================================
void exclusao(char excl[])
{
FILE *fd;
char linha[lim];
int checa=0;
char resp;
fd = fopen("Farmacia","r");
while ((fscanf(fd,"%s",linha))!=EOF)
if (!strcmp(linha,excl))
{
printf("\n\t CADASTRO ENCONTRADO>>> ");
printf("\t\tDESEJA REALMENTE EXCLUIR (%s) DA LISTA? S/N");
if (resp == 'S' || 's')
//delete(linha)
printf("CADASTRO EXCLUIDO COM SUCESSO!!!");
else
printf("VOLTANDO...");
fscanf(fd,"\n");
checa=1;
}
else
fscanf(fd,"\n\n");
if (checa==0) printf("CADASTRO INEXISTENTE ! TENTE NOVAMENTE!\n");
getchar(); getchar();
fclose(fd);
}
//=============================================================================
int main(void)
{
int op,senha;
char merc[lim];
int quant[lim];
int val[lim];
int preço[lim];
while (op!=4)
{
printf(" ************************************************************************\n");
printf(" * *\n");
printf(" * <<< MENU DE OPCOES >>> *\n");
printf(" * *\n");
printf(" *======================================================================*\n");
printf(" * 1 - Incluir MERCADORIAS; *\n");
printf(" * 2 - LISTAGEM; *\n");
printf(" * 3 - Excluir MERCADORIAS; *\n");
printf(" * 4 - ENCERRAR; *\n");
printf(" ************************************************************************\n");
switch (op)
{
case 1: {
{
printf("\t INFORME O MEDICAMENTO: ");
scanf("%s",merc);
insere(merc,senha);
}
{
printf("\t INFORME A QUANTIDADE: ");
scanf("%d",quant);
insere(quant,senha);
}
{
printf("\t INFORME A DATA DE VALIDADE: ");
scanf("%d",val);
insere(val,senha);
}
}
printf("\t INFORME O PREÇO");
scanf("%d",preço);
insere(preço,senha);
}
} break;
//===========================================================
case 2: {
printf("\t INFORME O MEDICAMENTO A PESQUIZAR: ");
scanf("%s", merc);
pesquisa(merc);
} break;
//===========================================================
case 3: {
printf("\t INFORME O MEDICAMENTO QUE DESEJA EXCLUIR: ");
scanf("%s", merc);
exclusao(merc)
} break;
//===========================================================
case 4: {
printf("\t !!! PROGRAMA FINALIZANDO !!!");
} break;
//===========================================================
default: {
printf("\t OPCAO INVALIDA!");
getchar(); getchar();
}
}
}
return(0);
}
//=============================================================================
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.