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);
}