Jump to content
  • 0
afonso_gui

ERRO NO DEV !!! iso c++ forbids comparison between pointer and integer

Question

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define SIZE 200
#include<locale.h>
#include<conio.h>
#include <time.h>
char nome [50];
char email [50];
int  cpf ;
int op;
char ap;
void cadastro();
void pesquisa();
void lista();
int main (void){
    setlocale(LC_ALL, "Portuguese");
    
    do{
        system("cls");
        printf("                       MENU             \n\n");
        printf("\t  I - incluir uma nova pessoa\n");
        printf("\t  B - buscar uma pessoa pelo nome\n");
        printf("\t  L - listar todas as pessoas\n");
        printf("\tESC - para sair do cadastro\n");
        ap = getche();
        
        switch(ap) {
            
            case 'I':
                cadastro();
                break;
            
            case 'B':
                pesquisa();
                break;
            
            case 'L':
                lista(); 
                break;
            
            case 27:
                printf("tchau");
                break;
            
            default:
                printf("opção inválida");
                break;                
        }
    }while(ap!=27);
    
}
void lista(){
    int i;
    for(i=0;i<SIZE;i++){
        if(cpf>0){
            printf("\nome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
        }else{
            break;
        }
        
    }
}
void cadastro(){
    
    static int linha;
    do{
        printf("\ndigite o nome: ");
        scanf("%s", &nome[linha]);
        printf("\ndigite o email: ");
        scanf("%s", &email[linha]);
        printf("\ndigite o cpf: ");
        scanf("%d", &cpf[linha]);
        printf("\nDigite 1 para continuar ou outro valor para sair");
        scanf ("%d", &op);
        linha++;
    }while (op==1);    
}
void pesquisa(){
    char nomepesquisa;
    int i;
    do{
                printf("\nDigite o nome:");
                scanf("%s", &nomepesquisa);
                for(i=0;i>SIZE;i++){
                    if(nome==nomepesquisa){
                        printf("\nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                    }
                }
            printf("\nDigite 1 para continuar pesquisando");
            scanf("%d", &op);            
        }while(op==1);
        
    }
 

Estou com um problema neste código. estou começando agora na parte de programação e não entendo muito.

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define SIZE 200
#include<locale.h>
#include<conio.h>
#include <time.h>
char nome [50];
char email [50];
int  cpf ;
int op;
char ap;
void cadastro();
void pesquisa();
void lista();
int main (void){
    setlocale(LC_ALL, "Portuguese");
    
    do{
        system("cls");
        printf("                       MENU             \n\n");
        printf("\t  I - incluir uma nova pessoa\n");
        printf("\t  B - buscar uma pessoa pelo nome\n");
        printf("\t  L - listar todas as pessoas\n");
        printf("\tESC - para sair do cadastro\n");
        ap = getche();
        
        switch(ap) {
            
            case 'I':
                cadastro();
                break;
            
            case 'B':
                pesquisa();
                break;
            
            case 'L':
                lista(); 
                break;
            
            case 27:
                printf("tchau");
                break;
            
            default:
                printf("opção inválida");
                break;                
        }
    }while(ap!=27);
    
}
void lista(){
    int i;
    for(i=0;i<SIZE;i++){
        if(cpf>0){
            printf("\nome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
        }else{
            break;
        }
        
    }
}
void cadastro(){
    
    static int linha;
    do{
        printf("\ndigite o nome: ");
        scanf("%s", &nome[linha]);
        printf("\ndigite o email: ");
        scanf("%s", &email[linha]);
        printf("\ndigite o cpf: ");
        scanf("%d", &cpf[linha]);
        printf("\nDigite 1 para continuar ou outro valor para sair");
        scanf ("%d", &op);
        linha++;
    }while (op==1);    
}
void pesquisa(){
    char nomepesquisa;
    int i;
    do{
                printf("\nDigite o nome:");
                scanf("%s", &nomepesquisa);
                for(i=0;i>SIZE;i++){
                    if(nome==nomepesquisa){
                        printf("\nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                    }
                }
            printf("\nDigite 1 para continuar pesquisando");
            scanf("%d", &op);            
        }while(op==1);
        
    }

 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Não se compara string com operador de comparação. Usa-se a função strcmp.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By IgorExtreme
      Olá estou com problema nesta questão: "Escreva um programa que leia e armazene em um vetor os dados de 30 pessoas. Estes dados são o nome da pessoa, sua idade, e os nomes completos do pai e da mãe. A seguir, o programa deve identificar (e mostrar os índices) das pessoas que estão relacionadas por um parentesco avô-neto e irmão-irmão. No caso dos irmãos, deve ser informado ainda qual é o mais novo dos dois." O código é esse
      #include<stdio.h> #include<string.h> #define NUM 4 struct pessoa { char nome[20]; char mae[20]; char pai[20]; int idade; }; main() { struct pessoa vetorPessoas[NUM]; int i; printf("Digite os dados de %d pessoas:\n", NUM); for (i = 0; i < NUM; i++) { printf("Digite o nome da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].nome); printf("%s\n", vetorPessoas[i].nome); printf("Digite o nome da mae da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].mae); printf("%s\n", vetorPessoas[i].mae); printf("Digite o nome do pai da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].pai); printf("%s\n", vetorPessoas[i].pai); printf("Digite a idade da pessoa %d: ", i); fflush(stdin); scanf("%d", &vetorPessoas[i].idade); printf("%d\n", vetorPessoas[i].idade); if(!strcmp(vetorPessoas[0].pai, vetorPessoas[1].nome)){ printf("%s e avo de %s\n", vetorPessoas[1].pai, vetorPessoas[0].nome); } if(!strcmp(vetorPessoas[2].pai, vetorPessoas[3].nome)){ printf("%s e avo de %s\n", vetorPessoas[3].pai, vetorPessoas[2].nome); } } /*if(!strcmp(vetorPessoas[i].pai, vetorPessoas[i].nome)){ printf("%s e pai de %s\n", vetorPessoas[i].pai, vetorPessoas[i].pai); }*/ if(!strcmp(vetorPessoas[0].pai, vetorPessoas[1].pai)){ printf("Eles sao irmaos\n"); if(vetorPessoas[0].idade > vetorPessoas[1].idade){ printf("%s mais velho\n", vetorPessoas[0].idade); } else{ printf("%s e mais novo\n", vetorPessoas[1].idade); } } if(!strcmp(vetorPessoas[2].pai, vetorPessoas[3].pai)){ printf("Eles sao irmaos\n"); if(vetorPessoas[2].idade > vetorPessoas[3].idade){ printf("%s mais velho\n", vetorPessoas[2].idade); } else{ printf("%s e mais novo\n", vetorPessoas[3].idade); } } } O problema é que ele mostra quase tudo menos a parte se tal irmão é mais velho que o outro
    • By ricardo Oliv3ira
      Um cano cilíndrico de raio R1 vai ser usado para guardar outros dois canos de raio R2 e R3. Caso os dois últimos canos caibam dentro do primeiro, seu programa deve imprimir “Coube”. Caso contrário imprima “Não coube”.
      #include <stdio.h> int main(void) { float R1,R2,R3; printf("digite o 1º tamanho:"); scanf("%f",R1); printf("digite o 2º tamanho"); scanf("%f",R2); printf("digite o 3º tamanho"); scanf("%f",R3); if(R2,R3<R1){ printf("Coube"); } else(R2,R3>R1){ printf("Não Coube"); } return 0; }  
    • By Hodol
      Boa tarde, estou começando a programar e ainda não sei qual linguagem de programação eu devo iniciar. Me de uma luz, Obrigado!
    • By lucascastoria
      Procuro um profissional para desenvolver um sistema de compra em phyton.
      Interessados, favor me contatar pois explicarei melhor.
      Obrigado
    • By dimoreira
      Boa noite programadores, estou a procura de um profissional que desenvolva um site simples, que tem apenas que me mostrar os resultados em tempo real da pagina de resultados da bet 365. Mas especificamente do futebol virtual. Vou mandar em anexo uma foto pra ter como base.   O modelo mais simples possivel é somente para acompanhar os resultados em tempo real sem ter q esta acessando o site da bet.


×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.