Ir ao conteúdo

C Erro de Array e Strctut


Ir à solução Resolvido por Flávio Pedroza,

Posts recomendados

Postado

Estou tendo dois erros, que não estou conseguindo declarar variáveis do tipo da minha struct e outro erro que não conheço

#include <stdio.h>
  
struct candidatos{
    int  numCandidato;
    char nomeCandidado[10];
    char partidoCandidato[3];
    char cargoCandidato[1];
     int votos;
    float porcentagem;
};
struct candidatos listar[11];

int main(){
    //CANDIDATO 01
  	listar[0].numCandidato = 111;
	strcpy(listar[0].nomeCandidado, "ABC");
	strcpy(listar[0].partidoCandidato, "ABC");
	strcpy(listar[0].cargoCandidato, "ABC");
	listar[0].votos = 0;
}
/////NÃO COLOQUEI TODOS OS CANDITADOS P  FICAR GRANDE, porém TEM 11 CANDIDATOS...

int iniciarVotacao(){
	
	struct candidatos presidente; 
	struct candidatos deputado;
	int votoPresidente = 0;
	int votoDeputado = 0;
	int i = 0;
	
	presidente.nomeCandidado = 0; //°1 erro
	deputado.numCandidato = 0; // erro
	
	printf("Número do candidato para a Presidência => ");
	scanf("%d", &votoPresidente);
	printf("\nNúmero do candidato para Deputado => ");
	scanf("%d", &votoDeputado);
	
	for(i = 0 ; i < 11 ; i++){
			if(listar[i].numCandidato == votoPresidente && listar.numCandidato < 50){
				presidente = listar[i];
			}// 2° erro acontece
			if(listar[i].numCandidato == votoPresidente && listar.numCandidato > 1000){
				deputado = listar[i];
			}
	} 	

[Error] assignment to expression with array type

[Error] request for member 'numCandidato' in something not a structure or union

 

  • Obrigado 1
  • Solução
Postado
int iniciarVotacao(){
	
	struct candidatos presidente; 
	struct candidatos deputado;
	int votoPresidente = 0;
	int votoDeputado = 0;
	int i = 0;
	
	//presidente.nomeCandidado = 0; //nomeCanditato é do tipo string, nao pode atribuir inteiro 
	presidente.nomeCandidado[0]='\0'; //isso faz com que a string fique em branco (nula);
	deputado.numCandidato = 0; // erro
	
	printf("Número do candidato para a Presidência => ");
	scanf("%d", &votoPresidente);
	printf("\nNúmero do candidato para Deputado => ");
	scanf("%d", &votoDeputado);
	
	for(i = 0 ; i < 11 ; i++){
			if(listar[i].numCandidato == votoPresidente && listar[i].numCandidato < 50){ //faltou o [i]
				presidente = listar[i];
			}// 2° erro acontece
			if(listar[i].numCandidato == votoPresidente && listar[i].numCandidato > 1000){//faltou o [i]
				deputado = listar[i];
			}
	} 	

 

  • Curtir 1
  • Obrigado 1

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!