Enviado em 15/09/2021 - 17:51h
Alguém sabe me dizer por que isso ta acontecendo ? a Placa está puxando o modelo pro lado quando vai imprimir.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct { /*//definindo a estrutura*/
char marca[30];
char ano[7];
char placa[7];
char modelo[20];
} ficha_cadastral;
void sair(){
printf("\n\t****Saindo da listagem de veículos****\n");
}
int main() {
int i,j;
int continuar=1;
ficha_cadastral veiculos[4];
do{
printf("1: Inserir um veículo:\n");
printf("2: Veículos por modelo:\n");
printf("3: Listar veículos:\n");
printf("4: Filtrar veículos por ano de fabricação\n");
printf("5: Digitar o ano de fabricação:\n");
printf("0: Para sair :\n");
scanf("%d", &continuar);
getchar();
switch(continuar){
case 1:
for(i=1; i<4; i++){
printf("\nDigite a marca do veículo:\n");
scanf("%s", &*veiculos[i].marca);
printf("\nDigite o ano do veículo:\n");
scanf("%s", &*veiculos[i].ano);
printf("\nDigite a placa do veículo:(No modelo XXX-YYYY)\n");
scanf("%s", &*veiculos[i].placa);
printf("\nDigite o modelo do veículo:\n");
scanf("%s", &*veiculos[i].modelo);
}
getchar();
break;
case 2:
printf("\nVeículos em ordem de modelo:\n");
for(i=1; i<4; i++){
for(j=i+1;j<4;j++){
if(strcoll(veiculos[i].modelo , veiculos[j].modelo) > 0 ){
veiculos[0]=veiculos[i];
veiculos[i]=veiculos[j];
veiculos[j]=veiculos[0];
}
}
}
for(i=1;i<4;i++){
printf("\nMarca: %s \nAno: %s \nPlaca: %s \nModelo: %s\t\n",veiculos[i].marca,veiculos[i].ano,veiculos[i].placa,veiculos[i].modelo);
}
break;
case 3:
for(i=1;i<4;i++){
printf("Veículos: \n");
for(i=1;i<4;i++){
for(i=j+1;j<4;j++){
if(strcoll(veiculos[i].marca , veiculos[j].marca)>0){
veiculos[0]=veiculos[i];
veiculos[i]=veiculos[j];
veiculos[j]=veiculos[0];
}
}
}
for(i=1;i<4;i++){
printf("\nMarca: %s \n",veiculos[i].marca);
printf("\nAno: %s \n",veiculos[i].ano);
printf("\nPlaca: %s \n",veiculos[i].placa);
printf("\nModelo: %s \n",veiculos[i].modelo);
}
break;
case 4:
for(i=4;i<4;i++){
printf("Veículos por Ano: \n");
for(i=1;i<4;i++){
for(i=j+1;j<4;j++){
if(strcoll(veiculos[i].ano, veiculos[j].ano)>0){
veiculos[0]=veiculos[i];
veiculos[i]=veiculos[j];
veiculos[j]=veiculos[0];
}
}
}
}
for(i=1;i<4;i++){
printf("\nMarca:%s \n",veiculos[i].marca);
printf("\nAno: %s \n",veiculos[i].ano);
printf("\nPlaca: %s \n",veiculos[i].placa);
printf("\nModelo: %s \n",veiculos[i].modelo);
}
break;
case 5:
break;
case 0:
sair();
break;
default:
printf("Essa opção não existe\n");
}
}
}while(continuar);
return 0;
}
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (0)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)
warsaw parou de funcionar após atualização do sistema (solução) (10)