Untitled
unknown
plain_text
3 years ago
2.0 kB
12
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...