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

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

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

Что я делаю не так подскажите.
Листинг программы
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. /*1) створіть структуру Club з полями: name - назва клубу; city - місто, яке він представляє;
  6. * score - кількість набраних очок;*/
  7. struct Club
  8. {
  9. char cCity[255];
  10. char cName[255];
  11. char cScore[255];
  12. };
  13. int main(void)
  14. {
  15. struct Club sClub;
  16. signed int i;
  17. for ( i = 0; i < 255; i++ )
  18. {
  19. sClub.cCity[i] = 0;
  20. sClub.cName[i] = 0;
  21. sClub.cScore[i] = 0;
  22. }
  23. /* 2) створіть файл, в якій внесіть дані - майбутні значення полів структури Club
  24. * (кожне поле - з нового рядка, без пробілів!), кількість клубів - не менше 10
  25. * (розташувати у файлі в довільному порядку, не залежно від кількості очок);*/
  26. FILE *pClub;
  27. pClub = fopen ( "FileAllClubs.txt", "a+" ); //3) збережіть створений файл як текстовий;
  28. printf ( "Input name city: " );
  29. gets ( sClub.cCity );
  30. printf ( "Input name club: " );
  31. gets ( sClub.cName );
  32. printf ( "Input score club: " );
  33. gets ( sClub.cScore );
  34. fprintf ( pClub, "%s\n%s\n%s\n", &sClub.cCity[0], &sClub.cName[0], &sClub.cScore[0] );
  35. fclose ( pClub );
  36. for ( i = 0; i < 255; i++ )
  37. {
  38. sClub.cCity[i] = 0;
  39. sClub.cName[i] = 0;
  40. sClub.cScore[i] = 0;
  41. }
  42. /*4) введіть з клавіатури число N - кількість клубів,
  43. дані про які потрібно прочитати з файлу;*/
  44. signed int N = 0;
  45. printf ( "Input N: " );
  46. scanf ( "%d", &N );
  47. pClub = fopen ( "FileAllClubs.txt", "r+" );
  48. for ( i = 0; i < N; i++)
  49. {
  50. fgets ( sClub.cCity, 255, pClub );
  51. fgets ( sClub.cName, 255, pClub );
  52. fgets ( sClub.cScore, 255, pClub );
  53. puts ( sClub.cCity );
  54. puts ( sClub.cName );
  55. puts ( sClub.cScore );
  56. }
  57. fclose ( pClub );
  58. struct Club *aArrayClub = ( struct Club* ) malloc ( N * sizeof ( struct Club ) ); //5) виділіть динамічно пам’ять для масиву з n структур;
  59. if ( ( aArrayClub = ( struct Club* ) malloc ( N * sizeof ( struct Club ) ) ) == NULL )
  60. {
  61. printf ( "ERROR\n" );
  62. exit ( 1 );
  63. }
  64. for( i = 0; i < N; i++) //6) прочитайте у відповідний масив максимально можливу кількість даних про клуби;
  65. {
  66. aArrayClub[i].cCity = sClub.cCity;
  67. aArrayClub[i].cName = sClub.cName;
  68. aArrayClub[i].cScore = sClub.cScore;
  69. }
  70. /*7) здійснить сортування даного масиву за спаданням кількості очок клубів -
  71. першим елементом щоб стала структура, клуб якої має максимальну кількість очок,
  72. і далі - в порядку зменшення;Примітка: - з метою обміну структур місцями оголосіть
  73. додаткову аналогічну структуру, в яку тимчасово будете копіювати ті, що підлягають перестановці;
  74. доступ до елементів масиву структур здійснюйте за допомогою покажчиків!*/
  75. //8) дані відсортованого масиву виведіть до іншого текстового файлу (по можливості використовуючи форматування для кращої читабельності); перевірте файл на предмет правильного порядку розташування в ньому даних про клуби.
  76.  
  77. return 0;
  78. }

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

textual
Листинг программы
  1. aArrayClub[i].cCity = sClub.cCity;
  2. aArrayClub[i].cName = sClub.cName;
  3. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут