Ir ao conteúdo

Posts recomendados

Postado

Olá, estou fazendo um trabalho em C e não consigo fazer com que a idade apareça na função de busca, sempre da o erro " subscripted value is neither array nor pointer nor vector" no printf onde mostra a idade.

#include<stdio.h>
#define SIZE 200
char nome[SIZE][50], email[SIZE][50];
int cpf[SIZE], op, Diax[2], Mesx[2], Anox[4], Dia[2], Mes[2], Ano[4], Idade[SIZE];

void cadastro();
void pesquisa();

int main(void){
    cadastro();
    pesquisa();
}
void cadastro(){
    static int linha;
    do{
            printf("\n\n Preencha as informações a seguir: \n");
        printf("Data diagnostico:\t");
        scanf("%d/%d/%d", &Diax[2], &Mesx[2], &Anox[4]);
        fflush(stdin);
        printf("Paciente:\t ");
        scanf("%s", &nome[linha]);
        fflush(stdin);
        printf("Cpf:\t");
        scanf("%d", &cpf[linha]);
        fflush(stdin);
        printf("nascimeto:\t");
        scanf("%d/%d/%d", &Dia[2], &Mes[2], &Ano[4]);
        fflush(stdin);
        int Idade =Anox[4]-Ano[4];
        printf("Idade: %d\n", &Idade[linha]);
        printf("Digite o Email:\t");
        scanf("%s", &email[linha]);
        printf("\nDigite 1 para continuar ou outro valor para sair\n");
        scanf("%d", &op);
        linha++;

    }while(op==1);
}
void pesquisa(){
    int cpfpesquisa;
    int i;
    do{
        printf("Digite 1 para pesquisar\n");
        scanf("%d", &op);
        switch(op){
            case 1:
                printf("\nDigite o CPF:");
                scanf("%d", &cpfpesquisa);
                for(i=0;i<SIZE;i++){
                if(cpf[i]==cpfpesquisa){
                    printf("\nNome: %s\nEmail: %s\nCPF: %d\nIdade: %d", nome[i], email[i], cpf[i], Idade[i]);
                }
            }
        break;
            default:
                printf("\nOpção Invalida");
        }
        printf("\nDigite 1 para continuar pesquisando");
        scanf("%d", &op);
    }while(op==1);
}

 

Postado

@Luc4ks , mas nessa parte aqui, idade realmente não é um array mesmo:

 

        int Idade =Anox[4]-Ano[4];
        printf("Idade: %d\n", &Idade[linha]);

 

Aliás, essas declarações de datas e as leituras não estão certas...

 

        scanf("%d/%d/%d", &Diax[2], &Mesx[2], &Anox[4]);

 

Aqui está tentando armazenar os números fora dos arrays, que vão de 0 a 1 e 0 a 3. Do modo que está montando, eles deviam ter o tamanho SIZE também e ler como os outros por linha, que aliás você não inicializou. E caso já aprendeu, use struct que vai facilitar sua vida também.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!