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;
}
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Problema ao atualizar archlinux nvidia [RESOLVIDO] (3)
O que você está ouvindo agora? [2] (186)