Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viciado

struct

Recommended Posts

Qual os problemas desse codigo que não compila

 

#include <stdio.h>
#include <stdlib.h>
struct estados
	   {
			  char nome[30];
			  int num_veiculos;
			  int num_acidentes;
			  }dados[15];  
void indice();
void percentual();
void media();
int main()
{
  int i;
  for(i=0;i<15;i++){
					printf("Informe o nome do estado \n");
					scanf("%s",&dados[i].nome);
					printf("Informe o numero de veiculos \n");
					scanf("%d",&dados[i].num_veiculos);
					printf("Informe o numero de acidentes \n");
					scanf("%d",&dados[i].num_acidentes);
					}
  indice();
  percentual();
  media();
  system("PAUSE");	
  return 0;
}
void indice(){
	 char nome1[30], nome2[30];
	 int maior = dados[0].num_acidentes;
	 int menor = dados[0].num_acidentes;
	 int i;
	 for(i=0;i<15;i++){
					   if(dados[i].num_acidentes > maior){
												maior = dados[i].num_acidentes;
												nome1 = dados[i].nome;
												}
												}
	 printf("O estado com mais acidentes e: \n %s com %d acidentes \n",nome1, maior);
	 for(i=0;i<15;i++){
					   if(dados[i].num_acidente < menor){
												menor = dados[i].num_acidentes;
												nome2 = dados[i].nome;
												}
												}
	 printf("O estado com mais acidentes e: \n %s com %d acidentes \n",nome2, menor);
}
void percentual(){
	 int i
	 float total = 0;
	 for(i=0;i<15;i+){
					  total = total + dados[i].num_veiculos;
					  }
	 for(i=0;i<15;i++){
					   printf("%s \n",dados[i].nome);
					   float perc = (dados[i].num_veiculos * 100) / total;
					   printf("%f % veiculos \n",perc);
					   }
}
void media(){
	 int i;
	 float total = 0;
	 for(i=0;i<15;i++){
					   total = total + dados[i].acidentes;
					   }
	 for(i=0;i<15;i++){
					   printf("%s \n",dados[i].nome);
					   float media = (dados[i].acidentes * 100) / total;
					   printf("%f media de acidentes \n");
					   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

tirei os erros:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct estado
	   {
			  char nome[30];
			  int num_veiculos;
			  int num_acidentes;
			  };  
			  
estado dados[15];
void indice();
void percentual();
void media();
int main()
{
  int i;
  for(i=0;i<15;i++){
					printf("Informe o nome do estado \n");
					scanf("%s",&dados[i].nome);
					printf("Informe o numero de veiculos \n");
					scanf("%d",&dados[i].num_veiculos);
					printf("Informe o numero de acidentes \n");
					scanf("%d",&dados[i].num_acidentes);
					}
  indice();
  percentual();
  media();
  system("PAUSE");	
  return 0;
}
void indice(){
	 char nome1[30], nome2[30];
	 int maior = dados[0].num_acidentes;
	 int menor = dados[0].num_acidentes;
	 int i;
	 for(i=0;i<15;i++){
					   if(dados[i].num_acidentes > maior){
												maior = dados[i].num_acidentes;
												strcpy(nome1,dados[i].nome);
												}
												}
	 printf("O estado com mais acidentes e: \n %s com %d acidentes \n",nome1, maior);
	 for(i=0;i<15;i++){
					   if(dados[i].num_acidentes < menor){
												menor = dados[i].num_acidentes;
												strcpy(nome2,dados[i].nome);
												}
												}
	 printf("O estado com mais acidentes e: \n %s com %d acidentes \n",nome2, menor);
}
void percentual(){
	 int i;
	 float total = 0;
	 for(i=0;i<15;i++){
					  total = total + dados[i].num_veiculos;
					  }
	 for(i=0;i<15;i++){
					   printf("%s \n",dados[i].nome);
					   float perc = (dados[i].num_veiculos * 100) / total;
					   printf("%f % veiculos \n",perc);
					   }
}
void media(){
	 int i;
	 float total = 0;
	 for(i=0;i<15;i++){
					   total = total + dados[i].num_acidentes;
					   }
	 for(i=0;i<15;i++){
					   printf("%s \n",dados[i].nome);
					   float media = (dados[i].num_acidentes * 100) / total;
					   printf("%f media de acidentes \n");
					   }
}
coisas como:

falta de ponto e virgula..

nome de variavel da struct sendo chamado no programa por outro nome..

e trocar '=' por strcpy, no caso de strings.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

viciado, o compilador te avisa em qual linha está o erro e qual o motivo, não consigo entender qual a dificuldade nisso "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.