School-Coding-Cpp/sfusi/es02_foschini_binaryfile.c

65 lines
1.3 KiB
C

/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 16/04/2025
es02:
Scrivi un programma che utilizzi il file dell'esercizio precedente per
leggere i numeri del lotto e che, data una coppia di numeri, verifichi
se questa corrisponde ad un ambo.
*/
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MIN_VALUE 0
#define MAX_VALUE 99
void leggiNumeri(FILE * file);
void verificaAmbo(FILE * file);
int main(void) {
srand(time(NULL));
FILE * file = fopen("file.bin", "rb");
if (file != NULL) {
leggiNumeri(file);
rewind(file);
verificaAmbo(file);
fclose(file);
} else {
perror("Error (source)");
}
return 0;
}
void leggiNumeri(FILE * file) {
int numeri;
while (fread(&numeri, sizeof(int), 1, file) == 1) {
printf("%d ", numeri);
}
printf("\n");
}
void verificaAmbo(FILE * file) {
int numeri;
int n1 = rand() % (MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE;
int n2 = rand() % (MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE;
while (fread(&numeri, sizeof(int), 1, file) == 1) {
if (numeri == n1 || numeri == n2) {
printf("Coppia di numeri: %d %d\nLa coppia corrisponde ad un ambo.", n1, n2);
return;
}
}
printf("Coppia di numeri: %d %d\nLa coppia NON corrisponde ad un ambo.", n1, n2);
}