Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
F.Fontes

Programa Linguagem C

Recommended Posts

Sou iniciante na linguagem c, estou com dúvidas nesse programa. É um cadastro de dados. Eu consigo cadastrar os dados, mas não consigo consultar ( a consulta é feita pela variável tipo char "placa" ), se alguém puder me auxiliar...

#include<stdio.h>

typedef struct

{

char placa[10],cor[10],tipo[5];

int ano;

}tipo_veiculos;

tipo_veiculos veiculos;

FILE *p_veiculos;

main()

{

int menu,continuar,sair,alterar,confirmar;

char consultar[10];

p_veiculos=fopen("teste_veiculos.bin","a+b");

do

{

system("cls");

printf("\t\t\t\tTela de Menu");

printf("\n\nOcorr%cncia com veiculos",136);

printf("\n\nOp%c%ces",135,228);

printf("\n\n1-Cadastrar Veiculos");

printf("\n2-Consultar Veiculos");

printf("\n3-Listagem de todos os Veiculos");

printf("\n0-Sair");

printf("\n\nDigite a op%c%co desejada: ",135,198);

fflush(stdin);

scanf("%d",&menu);

if(menu!=0)

{

switch(menu)

{

case 1:

do

{

system("cls");

printf("\t\t\t\tCadastro");

printf("\n\nOcorr%cncia com Veiculos",136);

printf("\n\nCadastro de Veiculo");

printf("\n\nPlaca: ");

scanf("%s",&veiculos.placa);

fflush(stdin);

printf("\n\nCor: ");

scanf("%s",&veiculos.cor);

printf("\n\nAno: ");

scanf("%d",&veiculos.ano);

printf("\n\nTipo (FURTO/ROUBO): ");

scanf("%s",&veiculos.tipo);

fseek(p_veiculos, 0, SEEK_END);

fwrite(&veiculos, sizeof(tipo_veiculos), 1, p_veiculos);

printf("\nCadastrado com sucesso");

printf("\n\nCadastrar outro (1-Sim / 0-N%co): ",198);

scanf("%d",&continuar);

}while(continuar==1);break;

case 2:

do

{

system("cls");

printf("\t\t\t\tConsultar");

printf("\n\nConsultar Veiculo");

printf("\n\nPlaca do Veiculo que deseja consular: ");

scanf("%s",&consultar);

printf("\n_________________________________________________");

printf("\nPlaca Cor Ano Tipo");

printf("\n_________________________________________________");

rewind(p_veiculos);

do

{

fread(&veiculos, sizeof(tipo_veiculos), 1, p_veiculos);

if (consultar==veiculos.placa)

printf("\n%s %-8s %d %s",veiculos.placa,veiculos.cor,veiculos.ano,veiculos.tipo);

}while( feof(p_veiculos)==0 && consultar!=veiculos.placa);

if(consultar!=veiculos.placa) printf("\n\nVeiculo n%co cadastrado",198);

printf("\n_________________________________________________");

printf("\n\nConsultar outro Veiculo (1-Sim / 0-N%co): ",198);

scanf("%d",&continuar);

}while(continuar==1); break;

case 3:

system("cls");

printf("\t\t\t\tRelat%crio Geral",162);

printf("\n\nListagem Geral");

printf("\n_________________________________________________");

printf("\nPlaca Cor Ano Tipo");

printf("\n_________________________________________________");

rewind(p_veiculos);

do

{

fread(&veiculos, sizeof(tipo_veiculos), 1, p_veiculos);

if(feof(p_veiculos)==0)

printf("\n%s %-8s %d %s",veiculos.placa,veiculos.cor,veiculos.ano,veiculos.tipo);

}while(feof(p_veiculos)==0);

printf("\n_________________________________________________");

printf("\nTecle enter para retornar ao menu...");

getche(); break;

default: printf("\nOp%c%co inv%clida",135,198,160);sleep(2000); break;

}//switch

}//if

}while(menu!=0);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fontes,

Para fazer comparação entre strings, use a função strcmp(). Em C, você não pode comparar strings dessa maneira direta.

LNW

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • LNW,

    Obrigado pela dica, funcionou perfeitamente com a função strcmp().

    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






    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

    ×