Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Item de escolha 9.
- Neste item é executada a opção 9 : Pesquisa pelo carro mais recente de determinada marca
- */
- #include <stdio.h>
- #include <string.h>
- void MarcaPorAno(char marc[]) //função secundária do item, pesquisa da marca
- {
- //variáveis necessárais para a função
- char matricula[10], marca[15], modelo[25], matr[10], mod[25];
- int ano, dono, cod, cilindrada, i=0, n=0, ano2, dono2, cod2, cil2;
- //variáveis de ficheiros e abertura destes
- FILE *carros; FILE *historico;
- carros = fopen("Carros.txt", "a+");
- historico = fopen("Histórico.txt", "a+");
- while(!feof(carros))//pesquisa linha por linha até ao fim do ficheiro
- {
- //atribuição de valores às variáveis
- fscanf(carros, "%s %s %s %d %d %d %d", matricula, marca, modelo, &ano, &dono, &cod, &cilindrada);
- if(stricmp(marc, marca) == 0) //comparar se a marca dada pelo utilizador é igual à marca do carro desta linha
- if(ano > n) //se o ano desta linha é maior que o ano do ultimo carro encontrado
- {
- //atribuição destes valores a variáveis auxiliares
- n=ano;
- strcpy(matr, matricula);
- strcpy(mod, modelo);
- ano2=ano;
- dono2=dono;
- cod2=cod;
- cil2=cilindrada;
- }
- }
- //se n diferente de 0, ou seja pelo menos um carro foi encontrado
- if(n)
- {
- //mostragem de resultados
- printf("O carro mais recente da marca %s e:\n", marc);
- printf("%s\t%s\t%s\t%d\t%d\t%d\t%d", matr, marc, mod, ano2, dono2, cod2, cil2);
- printf("\n=========================================================\n\n");
- }
- else
- {
- printf("\nNao encontrado carros com marca %s.", marc);
- printf("\n=========================================================\n\n");
- }
- //escritura no ficheiro histórico a função executada e fechar ficheiros
- fprintf(historico, "Procura pelo carro mais recente da marca %s (%s as %s)\n", marc, __DATE__, __TIME__);
- fclose(carros);
- fclose(historico);
- }
- void Escolha9()//função principal do item
- {
- //variável para pedir valores
- char marca[10];
- //pedir valores
- printf("Insira a marca pela qual quer pesquisar o carro mais recente: ");
- scanf("%s", marca);
- MarcaPorAno(marca);
- }
Advertisement
Add Comment
Please, Sign In to add comment