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;
}
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Falha com leitor de digitais no Ubuntu: sugestões? (0)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (1)