Untitled
unknown
plain_text
2 years ago
2.0 kB
7
Indexable
#include <stdio.h> #include <string.h> #define MAX_TEXT 50 typedef struct { int year; char name[MAX_TEXT]; int platform; float price; }Game; int main() { char fileName[MAX_TEXT]; FILE* fbin; Game games; int filter = 0; int cantidadAno = 0; int anoIntroducido = 0; float precioIntroducido = 0; printf("Filename: "); fgets(fileName,MAX_TEXT,stdin); fileName[strlen(fileName)-1] = '\0'; printf("1. Filter by Year | 2. Filter by price\nSelect option: "); scanf("%d", &filter); if(filter == 1) { printf("Year: "); scanf("%d", &anoIntroducido); } else { printf("Price: "); scanf("%f", &precioIntroducido); } fbin = fopen(fileName, "rb"); if(NULL == fbin) { //error... printf("Error loading the file\n"); } else { //ok! fread(&games, sizeof(Game), 1, fbin); if(filter == 2) { printf("Games under %.2f euros\n", precioIntroducido); } while(!feof(fbin)) { if(filter == 2) { if(games.price <= precioIntroducido) { if(games.platform == 0) { printf("\t- %s (Switch)\n", games.name); }else { if(games.platform == 1) { printf("\t- %s (PS4)\n", games.name); } else { if(games.platform == 2) { printf("\t- %s (Xbox)\n", games.name); } } } } } else { if(games.year == anoIntroducido) { cantidadAno++; } } fread(&games, sizeof(Game), 1, fbin); } if(filter == 1) { printf("In the %d year about %d games were released\n", anoIntroducido, cantidadAno); } fclose(fbin); } return 0; }
Editor is loading...