Я пытаюсь создать программу, которая попросит пользователя ввести имя (предполагается, что каждое имя будет содержать 30 символов или меньше). Затем он найдет популярность названия с 1921 по 2010 год и распечатает график и график. Затем программа спросит пользователя, хотят ли они сделать еще один анализ и повторить этот процесс.C: проблема с пониманием этого файла/инструкция на основе структуры
Существует около 7 различных функций, которые необходимо использовать для этой программы, но у меня возникли проблемы с пониманием двух функций, которые мне нужно использовать.
Функция 1:
int getRawData(FILE* fp,struct NameRecord records[],int currSize);`
функции передается указатель на файл, который уже открыт для чтения. Каждая строка в этом файле будет иметь вид (имена являются полностью капитализируются в файле):
год, NAME, частота
Функция также передается массив NameRecord структур (записей) и количество записей в этом массиве (currSize). эта функция будет считывать данные из файла в массив, помещая его в конец массива (первая запись из файла будет помещена в массив [currSize]). Функция будет возвращать общее количество записей в массиве после чтения в файле.
struct NameRecord{
char name[31];
int year;
int frequency;
}
Теперь я не уверен, если это означает, что мне нужно создать новый массив в функции, которая принимает запись из файла или, если это что-то совсем другое, и я не читала инструкцию . правильно (файл в этом случае malebabynames.csv)
вторая функция:
void setYearTotals(struct NameRecord records[], int size, int yearRangeTotal[]);
функция передается массив NameRecords (записей) и размер это массив (размер). Также передается массив под названием yearRangeTotal , который будет использоваться для хранения общей численности населения за данный год .
yearRangeTotal[0] holds the total population between 1921 to 1925 yearRangeTotal[1] holds the total population between 1926 to 1930 yearRangeTotal[2] holds the total population between 1931 to 1935 ... yearRangeTotal[17] holds the total population between 2006 to 2010