Assignment to expression with array type - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Что я делаю не так подскажите.
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
/*1) створіть структуру Club з полями: name - назва клубу; city - місто, яке він представляє;
 * score - кількість набраних очок;*/
 
struct Club
{
    char cCity[255];
    char cName[255];
    char cScore[255];
};
 
int main(void)
{
    struct Club sClub;
    signed int i;
 
    for ( i = 0; i < 255; i++ )
    {
        sClub.cCity[i] = 0;
        sClub.cName[i] = 0;
        sClub.cScore[i] = 0;
    }
 
/* 2) створіть файл, в якій внесіть дані - майбутні значення полів структури Club
 * (кожне поле - з нового рядка, без пробілів!), кількість клубів - не менше 10
 * (розташувати у файлі в довільному порядку, не залежно від кількості очок);*/
 
    FILE *pClub;
    pClub = fopen ( "FileAllClubs.txt", "a+" ); //3) збережіть створений файл як текстовий;
 
    printf ( "Input name city: " );
    gets ( sClub.cCity );
    printf ( "Input name club: " );
    gets ( sClub.cName );
    printf ( "Input score club: " );
    gets ( sClub.cScore );
 
    fprintf ( pClub, "%s\n%s\n%s\n", &sClub.cCity[0], &sClub.cName[0], &sClub.cScore[0] );
    fclose ( pClub );
 
    for ( i = 0; i < 255; i++ )
    {
        sClub.cCity[i] = 0;
        sClub.cName[i] = 0;
        sClub.cScore[i] = 0;
    }
 
    /*4) введіть з клавіатури число N - кількість клубів,
    дані про які потрібно прочитати з файлу;*/
 
    signed int N = 0;
    printf ( "Input N: " );
    scanf ( "%d", &N );
 
    pClub = fopen ( "FileAllClubs.txt", "r+" );
    for ( i = 0; i < N; i++)
    {
        fgets ( sClub.cCity, 255, pClub );
        fgets ( sClub.cName, 255, pClub );
        fgets ( sClub.cScore, 255, pClub );
 
        puts ( sClub.cCity );
        puts ( sClub.cName );
        puts ( sClub.cScore );
    }
 
    fclose ( pClub );
 
    struct Club *aArrayClub = ( struct Club* ) malloc ( N * sizeof ( struct Club ) ); //5) виділіть динамічно пам’ять для масиву з n структур;
 
    if ( ( aArrayClub = ( struct Club* ) malloc ( N * sizeof ( struct Club ) ) ) == NULL )
    {
        printf ( "ERROR\n" );
        exit ( 1 );
    }
 
    for( i = 0; i < N; i++) //6) прочитайте у відповідний масив максимально можливу кількість даних про клуби;
    {
        aArrayClub[i].cCity = sClub.cCity;
        aArrayClub[i].cName = sClub.cName;
        aArrayClub[i].cScore = sClub.cScore;
 
    }
 
/*7) здійснить сортування даного масиву за спаданням кількості очок клубів -
першим елементом щоб стала структура, клуб якої має максимальну кількість очок,
і далі - в порядку зменшення;Примітка: - з метою обміну структур місцями оголосіть
додаткову аналогічну структуру, в яку тимчасово будете копіювати ті, що підлягають перестановці;
доступ до елементів масиву структур здійснюйте за допомогою покажчиків!*/
 
//8) дані відсортованого масиву виведіть до іншого текстового файлу (по можливості використовуючи форматування для кращої читабельності); перевірте файл на предмет правильного порядку розташування в ньому даних про клуби.

   return 0;
}

Решение задачи: «Assignment to expression with array type»

textual
Листинг программы
aArrayClub[i].cCity = sClub.cCity;
aArrayClub[i].cName = sClub.cName;
aArrayClub[i].cScore = sClub.cScore;

Объяснение кода листинга программы

  1. В данном коде происходит присваивание значений переменным типа массив с использованием индекса i.
  2. aArrayClub - название массива, в который производятся присваивания.
  3. i - индекс, используемый для обращения к элементам массива aArrayClub.
  4. sClub - название структуры, значения которой присваиваются элементам массива aArrayClub.
  5. cCity - название поля структуры sClub, значение которого присваивается соответствующему элементу массива aArrayClub.
  6. cName - название поля структуры sClub, значение которого присваивается соответствующему элементу массива aArrayClub.
  7. cScore - название поля структуры sClub, значение которого присваивается соответствующему элементу массива aArrayClub.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5