Ir ao conteúdo
  • Cadastre-se

fiz essa programaçao em c++ so que ta dando erro alguem pode me ajudar


Posts recomendados

O programa deverá ler para cada carro: 

- sua placa com 7 caracteres; - e a multa recebida que pode ser: - (1) Leve, soma 2 pontos; 

- (2) Média, soma 3 pontos; 

- (3) Grave, soma 5 pontos; 

- (4) Gravíssima, 7 pontos; 

A leitura de multas termina quando digitar a multa 0(zero). 

A leitura de placas termina quando digitar a placa 999. Escrever o total de pontos obtidos pelas multas. 

Mudar a cor da letra e fundo da tela. 

Fórmula: 

TotalPontos = leve+média+grave+gravíssima.

 

 

#include<stdio.h> 
#include<conio.h> 
#include<string.h> 

int main() 

char Placas[100][10]; 
int Multas[100][4]={0}; 
int i,n,aux=1,total; 


printf("Digite a Placa do veiculo:\n"); 
fflush(stdin); 

for(i=0;gets(Placas) && strcmp(Placas,"999")!=0;i++) 


for(;aux!=0;) 

printf("\n1 - Leve (2) pontos \n2 - Media (3) pontos\n3 - Grave (5) pontos\n4 - Gravissima (7) pontos\n0 - Sair\n");
scanf("%d",&aux); 
switch(aux) 

case 1: 
Multas[0]+=2; 
printf("Multa Atribuida 2 pontos\n"); 
break; 
case 2: 
Multas[1]+=3; 
printf("Multa Atribuida 3 pontos\n"); 
break; 
case 3: 
Multas[2]+=5; 
printf("Multa Atribuida 5 pontos\n"); 
break; 
case 4: 
Multas[3]+=7; 
printf("Multa Atribuida 7 pontos\n"); 
break; 



aux=1; 
printf("Digite a Placa do veiculo:\n"); 
fflush(stdin); 


printf("\n**Placas e suas Respectivas Multas**\n"); 
for(n=0;n<i;n++) 

total=Multas[n][0]+Multas[n][1]+Multas[n... 
printf("\nMultas da placa: %s\nTotal:\nLeve(%d)\nMedia(%d)\nGrave(%... de Pontos Finais = %d\n\n",Placas[n],Multas[n][0],Multas[n]... 

getch(); 
}

Link para o comentário
Compartilhar em outros sites

Cara, a primeira coisa que você tem que decidir é se esta usando C ou C++.

Um programa desse em C vai ficar incrivelmente complexo porque você tem que manipular estruturas dinâmicas de memória (Listas), ou tabelas de espalhamento (Hash)

Note que  uma placa são 3 letras e 4 números, assim  você tem que considerar que existem placas de  AAA-0000 a ZZZ-9999,ou seja para a séria AAA você tem 10 mil placas, para a serie AAB mais 10 mil, para a série AAC outros 10 mil.

 São   175.760.000,0 possíveis placas,

Como cada placa consome pelo menos 5 bytes, 1 byte para cada letra e mais 2 bytes para um valor inteiro( int), teremos que uma estrutura estática consumirá mais de 0,8 Gigabytes ( (175.760.000 x 5)/1024^3) = 0,82 Gb. quase um 1 Gb para manter uma estrutura que ficara 99% vazia.

 

Uma abordagem estática resultará em um incrível desperdício de memória RAM, causando uma sobrecarga no sistema operacional que ira alocar memória virtual e prejudicando as demais tarefas que estejam rodando no sistema.

 

 

Em C++ existe o container multimap que mantem uma estrutura indexada dinâmica em memória passeada em multiplas, chaves e um valor.

 

http://en.cppreference.com/w/cpp/container/multimap

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!