Выводит только одно значение, остальные не выводит c++

вопрос такой, если указываю характеристики компьютера выше, чем минимальные характеристики всех игр, то выводит только одну игру- которую может потянуть компьютер, а остальные не выводит (в данном случае 2-ю), хотя цикл вроде бы правильный и в теории должно выдавать всё, что имеется, сверяя с условиями

Само задание: 2) Вывести на экран названия всех компьютерных игр, которые могут быть установлены на заданном компьютере. Характеристики компьютера – частота процессора, объемы памяти RAM и HDD задаются с клавиатуры.

Проблема наверное где-то здесь:

int count = 0;
    for (int i = 0; i < N; i++) // 2 задание
    {
        if ((characteristics[i].cpu >= collection[i].min_cpu) && (characteristics[i].ram >= collection[i].min_ram )&& (characteristics[i].hdd >= collection[i].min_hdd))
 
 
        {
 
            printf("Compatible games:\n");
            printf("\n---------\n");
            printf("%s\n", collection[i].title);
            printf("\n---------\n");
            count++;
        }
    }

Полная программа:

       #include <stdio.h>
#include <locale> 
#include <cstdlib> 
#include <cstring> 
#include <Windows.h> 
 #define gets_s(x, len) fgets((x), (len) + 1, stdin)
using namespace std;
 
struct pc
{
    unsigned int cpu;
    unsigned int ram;
    unsigned int hdd;
};
 
struct game
{
    char title[100];
    char players[100];
    char platform[100];
    char genre[100];
    char developer[100];
    int year;
    unsigned int min_cpu;
    unsigned int min_ram;
    unsigned int min_hdd;
};
 
const int N = 2;
const int M = 1;
game collection[N];
pc characteristics[M];
 
int main()
{
    setlocale(LC_ALL, "eng");
    for (int i = 0; i < N; i++)
    {
        printf("\n\nEnter data for games №%d\n", i + 1);
        printf(" title - ");
        SetConsoleCP(1251);
        gets_s(collection[i].title, 99);
        SetConsoleCP(866);
 
        printf(" platform - ");
        SetConsoleCP(1251);
        gets_s(collection[i].platform, 99);
        SetConsoleCP(866);
 
        printf(" players- ");
        SetConsoleCP(1251);
        gets_s(collection[i].players, 99);
        SetConsoleCP(866);
 
        printf(" (genre) - ");
        SetConsoleCP(1251);
        gets_s(collection[i].genre, 99);
        SetConsoleCP(866);
 
        printf(" developer - ");
        SetConsoleCP(1251);
        gets_s(collection[i].developer, 99);
        SetConsoleCP(866);
 
 
        printf(" year- ");
        scanf("%d", &collection[i].year);
        getchar();
 
 
 
        printf(" (min_cpu - ");
        scanf("%u", &collection[i].min_cpu);
        getchar();
 
        printf(" min_ram - ");
        scanf("%u", &collection[i].min_ram);
        getchar();
 
        printf(" min_hdd - ");
        scanf("%u", &collection[i].min_hdd);
        getchar();
 
    }
 
 
 
    for (int i = 0; i < M; i++)
    {
        printf("\n\n Enter data for pc # %d\n", i + 1);
 
        printf(" min_cpu- ");
        scanf("%u", &characteristics[i].cpu);
        getchar();
 
        printf(" min_ram - ");
        scanf("%u", &characteristics[i].ram);
        getchar();
 
        printf(" min_hdd- ");
        scanf("%u", &characteristics[i].hdd);
        getchar();
 
    }
 
    int count = 0;
    for (int i = 0; i < N; i++) // 2 задание
    {
        if ((characteristics[i].cpu >= collection[i].min_cpu) && (characteristics[i].ram >= collection[i].min_ram )&& (characteristics[i].hdd >= collection[i].min_hdd))
 
 
        {
 
            printf("Compatible games:\n");
            printf("\n---------\n");
            printf("%s\n", collection[i].title);
            printf("\n---------\n");
            count++;
        }
    }
        if (count == 0) 
        {
        printf("\n---------\n");
        printf("Your specifications are not suitable for games. \n");
        printf("\n---------\n");
        }
 
 
    system("pause");
    return 0;
}

Ответы (0 шт):