string – Como armazenar respostas dos meus scanf/gets em C

Preciso realizar esse sistema para faculdade, sendo essas funcionalidades essenciais:
O sistema deverá oferecer, ao usuário, as seguintes funcionalidades:

  • Listar os veículos cadastrados;

  • Inserir um novo veículo;

  • Listar os veículos filtrando-se por ano de fabricação;

  • Listar os veículos com o ano de fabricação acima de um certo valor especificado pelo usuário.

  • Listar os veículos filtrando-se pelo modelo.

O sistema deverá armazenar os veículos ordenados pelo ano de fabricação, ou seja, ao inserir um novo veículo, este deve ser inserido em ordem crescente de ano de fabricação.

O que não consigo fazer é salvar as respostas de cadastro do veículo, por exemplo, o usuário vai realizar um cadastro de um carro, não consigo saber onde e como salvar e como resgatar as respostas em forma de lista. Outra coisa que não consigo é limitar as respostas em 10 veículos no máximo.

Segue o código fonte abaixo:

struct cadastro{
    char marca(30);
    char modelo(30);
    char placa (9);
}veiculos (10);

int main(void) {
    
    setlocale(LC_ALL, "Portuguese");
    int digitado;
    int valor;
    
     
    printf("O que deseja realizar?: ");
    printf("nDigite 1 para Listar os Veículos já cadastradosnDigite 2 inserir um novo veículonDigite 3 para ver os anos de fabricação dos veículos cadastradosnDigite 4 para ver um veículo do preço que desejarnDigite 5 para ver os modelos dos veículos.nn");
    scanf("%d", &digitado);
    
    if(digitado == 2){  
    int i;
    for(i=0;i<1;i++){
        printf("nDigite a marca do carro: nn");
        fscanf("%s", &veiculos(i).marca);
        setbuf(stdin,NULL);
        printf("nDigite o modelo e ano do carro: nn");
        fgets(veiculos(i).modelo);
        setbuf(stdin,NULL);
        printf("nDigite a placa do carro(Ex: ABC-0123): nn");
        fscanf("%s", &veiculos(i).placa);
        getchar();
        
    }
    for(i=0;i<1;i++){
        printf("nCarro da marca: %s, do modelo/ano: %s, com a placa: %s adicionado à lista!n",veiculos(i).marca,veiculos(i).modelo,veiculos(i).placa);
    }
        }else if(digitado == 1){
        printf("nCarro da marca: %s, do modelo/ano: %s, com a placa: 
        %s",veiculos(0).marca,veiculos(0).modelo,veiculos(0).placa);
        }else if(digitado == 3){
        printf("Anos dos veículos listados: %i", veiculos(0).modelo);
        }else if(digitado == 5){
    printf("Aqui estão os modelos dos carros: %s", veiculos(0).modelo);
}else if(digitado == 4){
    printf("Digite um valor: ");
    scanf("%d", &valor);
    if(valor < 10000){
        printf("Ano: %d", veiculos(0).modelo<2010);
    }else{
        printf("Ano: %d", veiculos(0).modelo>2010);
        setbuf(stdin,NULL);
    }
}
system('PAUSE');
return 0;
}