Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
moreno765

Programação usando o turbo c

Posts recomendados

Estou tentando fazer um programa rodar no turbo c mais não consigo gostaria que alguem me ajuda-se desde já agradeço!!!!!

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

struct cadastro_ramal

{

char funcionario[50];

char setor[50];

int ramal;

};

void main()

{

cadastro_ramal;

int opcao;

char numramal[81];

char fim;

double pesquisa;

int ok;

FILE *arquivo;

do

{

printf("MENU - CADASTRO DE RAMAL");

printf("\n 1 - CADASTRAR RAMAL");

printf("\n 2 - PESQUISAR RAMAL");

printf("\nEntre com a opcao: ");

scanf("opcao");

if(opcao==1)

{

if((arquivo=fopen("ficha", "ab+"))==NULL)

{

printf("ERRO! Nao foi possivel abrir o arquivo.");

}

printf("\n\nENTRE COM OS DADOS DO RAMAL");

printf("\nFuncionario......: ");

gets(ramal.funcionario);

printf("Setor............: ");

gets(ramal.setor);

printf("Ramal........: ");

gets(numramal);

ramal.ramal=atof(numramal);

fwrite(&ramal, sizeof(cadastro_ramal), 1, arquivo);

printf("\nDeseja fazer outra operacao? (S ou N): ");

scanf("fim");

fclose(arquivo);

}

if(opcao==2)

{

if((arquivo=fopen("ficha", "rb"))==NULL)

{

printf("ERRO! Nao foi possivel abrir o arquivo.");

}

printf("\nEntre com o Ramal para pesquisar: ");

fclose pesquisa;

ok=1;

while(fread(&ramal, sizeof(cadastro_ramal), 1, arquivo)!=0)

{

if(pesquisa==ramal.ramal)

{

printf("\nFuncionario......: " ramal.funcionario);

printf("\nSetor............: " ramal.setor);

printf("\nRamal............: " ramal.ramal);

ok=0;

printf("\nDeseja fazer outra operacao? (S ou N): ");

scanf("fim");

}

}

if(ok==1)

{

printf("RAMAL NAO CADASTRADO\n");

printf("\nDeseja cadastrar? (S ou N): ");

scanf("fim");

}

fclose(arquivo);

}

}while (fim != 'n' && fim != 'N');

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja só, esse scanf("opcao"); ta errado o certo seria scanf("%d",&opcao);

gets(ramal.funcionario); de onde você tirou esse ramal? ele nao foi declarado

t+ feliz ano novo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andre muito obrigado feliz ano novo pra você tb!!!esse programa eu já peguei ele pronto na internet,acho que ele foi programado pra rodar em c++, mas eu estou tentando adapta-lo para rodar em c, corrigir os erros que você falou mas ele ta dando 4 erros nos gets, no ramal=numramal; e no fclose pesquisa;. Desde já agradeço!!!!!!!

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

struct cadastro_ramal

{

char funcionario[50];

char setor[50];

int ramal;

};

void main()

{

int cadastro_ramal;

int opcao;

char numramal[81];

char fim;

double pesquisa;

int ok;

FILE *arquivo;

do

{

printf("MENU - CADASTRO DE RAMAL");

printf("\n 1 - CADASTRAR RAMAL");

printf("\n 2 - PESQUISAR RAMAL");

printf("\nEntre com a opcao: ");

scanf("%d,&opcao");

if(opcao==1)

{

if((arquivo=fopen("ficha", "ab+"))==NULL)

{

printf("ERRO! Nao foi possivel abrir o arquivo.");

}

printf("\n\nENTRE COM OS DADOS DO RAMAL");

printf("\nFuncionario......: ");

gets(funcionario);

printf("Setor............: ");

gets(setor);

printf("Ramal........: ");

gets(numramal);

ramal=numramal;

fwrite(&ramal, sizeof(cadastro_ramal), 1, arquivo);

printf("\nDeseja fazer outra operacao? (S ou N): ");

scanf("%d,&fim");

fclose(arquivo);

}

if(opcao==2)

{

if((arquivo=fopen("ficha", "rb"))==NULL)

{

printf("ERRO! Nao foi possivel abrir o arquivo.");

}

printf("\nEntre com o Ramal para pesquisar: ");

fclose pesquisa;

ok=1;

while(fread(&ramal, sizeof(cadastro_ramal), 1, arquivo)!=0)

{

if(pesquisa==ramal.ramal)

{

printf("\nFuncionario......: ",funcionario);

printf("\nSetor............: ", setor);

printf("\nRamal............: ", ramal);

ok=0;

printf("\nDeseja fazer outra operacao? (S ou N): ");

scanf("%d,&fim");

}

}

if(ok==1)

{

printf("RAMAL NAO CADASTRADO\n");

printf("\nDeseja cadastrar? (S ou N): ");

scanf("%d,&fim");

}

fclose(arquivo);

}

}while (fim != 'n' && fim != 'N');

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é que char funcionario[50]; char setor[50]; int ramal; sao membros de uma estrutura, então você tem que declarala

faça:

cadastro_ramal cadastroRamal;

dai nos erros

cadastroRamal.funcionario

etc...

assim ó

eu coloquei comentario no que eu mudei

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct cadastro_ramal
{
char funcionario[50];
char setor[50];
int ramal;
};

int main()
{
struct cadastro_ramal cadastroRamal; //aqui
int opcao;
int numramal; //aqui
char fim;
double pesquisa;
int ok;
FILE *arquivo;

do
{
printf("MENU - CADASTRO DE RAMAL");
printf("\n 1 - CADASTRAR RAMAL");
printf("\n 2 - PESQUISAR RAMAL");
printf("\nEntre com a opcao: ");
scanf("%d",&opcao); //aqui

if(opcao==1){
if((arquivo=fopen("ficha", "ab+"))==NULL)
printf("ERRO! Nao foi possivel abrir o arquivo.");

printf("\n\nENTRE COM OS DADOS DO RAMAL");
printf("\nFuncionario......: ");
fflush(stdin);
fgets(cadastroRamal.funcionario, 50, stdin);
printf("Setor............: ");
fgets(cadastroRamal.setor, 50, stdin);
printf("Ramal........: ");
scanf("%d",&numramal);
cadastroRamal.ramal=numramal; //aqui

//fwrite(&cadastroRamal.ramal, sizeof(cadastro_ramal), 1, arquivo); ta errado, repense
printf("\nDeseja fazer outra operacao? (S ou N): ");
scanf("%d",&fim);
fclose(arquivo);
}
if(opcao==2){
if((arquivo=fopen("ficha", "rb"))==NULL){
printf("ERRO! Nao foi possivel abrir o arquivo.");
}
printf("\nEntre com o Ramal para pesquisar: ");
fclose(arquivo);
ok=1;

//fread(&cadastroRamal.ramal, sizeof(cadastro_ramal), 1, arquivo)!=0
//idem ao fwrite repense depois
while(1)
{
if(pesquisa==cadastroRamal.ramal){
printf("\nFuncionario......: %s", cadastroRamal.funcionario);
printf("\nSetor............: %s", cadastroRamal.setor);
printf("\nRamal............: %s", cadastroRamal.ramal);
ok=0;
printf("\nDeseja fazer outra operacao? (S ou N): ");
scanf("%c",&fim); //aqui
break;//tire depois de arrumar o fwrite
}
}

if(ok==1){
printf("RAMAL NAO CADASTRADO\n");
printf("\nDeseja cadastrar? (S ou N): ");
scanf("%d",&fim);
}
fclose(arquivo);
}
}while (fim != 'n' && fim != 'N');
return 0;
}

tá compilavel, mas ainda não vai ler e gravar certinho, pois tem erro de lógica, agora pense :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Andre muito obrigado agora da pra eu desenrolar, vou tentar corrigir os erros de lógica valeu mesmo abraço!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...