Fabiano Unser Postado Julho 3, 2022 Denunciar Share Postado Julho 3, 2022 Olá, estou com um problema em uma atividade que preciso fazer um busca em cadastros e tem alguma falha no código que não está retornando na tela. Se alguém puder dar uma ajuda. #include <stdio.h> #include <stdlib.h> #include <string.h> struct Vacinado{ char nome[50]; char cpf[15]; char vacina[30]; char data[10]; char lote[15]; }; struct Vacinado cadastroVacinado(){ struct Vacinado vac; printf("\nInforme o nome.\n"); fflush(stdin); gets(vac.nome); printf("Informe o CPF.\n"); fflush(stdin); gets(vac.cpf); printf("Informe a vacina.\n"); fflush(stdin); gets(vac.vacina); printf("Informe a data.\n"); fflush(stdin); gets(vac.data); printf("Informe o lote.\n"); fflush(stdin); gets(vac.lote); return vac; } void consultaVacinados(struct Vacinado vacinados2[999], int qtdVacinado2, char busca2){ int i; printf("Informa o cpf.\n"); fflush(stdin); scanf("%s", &busca2); for(i = 0; i < qtdVacinado2; i++){ if(vacinados2[i].cpf == busca2); printf("O CPF e: %s\n\n", vacinados2[i].cpf); (Está imprimindo na tela todos os cadastros realizados e não somente a busca) } } void main(){ struct Vacinado cadVacinado[999]; int op = 0; int contVacinado = 0; char busca [15]; do{ printf("1 - Cadastrar Vacina.\n"); printf("2 - Listar Aplicações.\n"); printf("3 - Consultar por CPF.\n"); printf("4 - Sair.\n"); scanf("%d", &op); switch(op){ case 1: { cadVacinado[contVacinado] = cadastroVacinado(); contVacinado++; break; }case 2: { listarVacinados(cadVacinado, contVacinado); break; }case 3: { consultaVacinados(cadVacinado, contVacinado, busca); break; }case 4:{ printf("Encerrando programa.\n"); break; } } }while(op !=4); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rewardzoom Postado Março 13, 2023 Denunciar Share Postado Março 13, 2023 On 7/3/2022 at 9:15 PM, Fabiano Unser said: do{ slope game printf("1 - Cadastrar Vacina.\n"); printf("2 - Listar Aplicações.\n"); printf("3 - Consultar por CPF.\n"); printf("4 - Sair.\n"); scanf("%d", &op); Eu cometi um erro nesta parte. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Fabiano Unser
Olá, estou com um problema em uma atividade que preciso fazer um busca em cadastros e tem alguma falha no código que não está retornando na tela. Se alguém puder dar uma ajuda.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Vacinado{
char nome[50];
char cpf[15];
char vacina[30];
char data[10];
char lote[15];
};
struct Vacinado cadastroVacinado(){
struct Vacinado vac;
printf("\nInforme o nome.\n");
fflush(stdin);
gets(vac.nome);
printf("Informe o CPF.\n");
fflush(stdin);
gets(vac.cpf);
printf("Informe a vacina.\n");
fflush(stdin);
gets(vac.vacina);
printf("Informe a data.\n");
fflush(stdin);
gets(vac.data);
printf("Informe o lote.\n");
fflush(stdin);
gets(vac.lote);
return vac;
}
void consultaVacinados(struct Vacinado vacinados2[999], int qtdVacinado2, char busca2){
int i;
printf("Informa o cpf.\n");
fflush(stdin);
scanf("%s", &busca2);
for(i = 0; i < qtdVacinado2; i++){
if(vacinados2[i].cpf == busca2);
printf("O CPF e: %s\n\n", vacinados2[i].cpf); (Está imprimindo na tela todos os cadastros realizados e não somente a busca)
}
}
void main(){
struct Vacinado cadVacinado[999];
int op = 0;
int contVacinado = 0;
char busca [15];
do{
printf("1 - Cadastrar Vacina.\n");
printf("2 - Listar Aplicações.\n");
printf("3 - Consultar por CPF.\n");
printf("4 - Sair.\n");
scanf("%d", &op);
switch(op){
case 1: {
cadVacinado[contVacinado] = cadastroVacinado();
contVacinado++;
break;
}case 2: {
listarVacinados(cadVacinado, contVacinado);
break;
}case 3: {
consultaVacinados(cadVacinado, contVacinado, busca);
break;
}case 4:{
printf("Encerrando programa.\n");
break;
}
}
}while(op !=4);
}
Link para o comentário
Compartilhar em outros sites
1 resposta 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.