Исправить ошибки в приведенном коде - C (СИ)

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

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

Листинг программы
  1. #include <stdio.h>
  2. struct list
  3. {
  4. char name[20];
  5. char sport[20];
  6. char year[20];
  7. char arena[20];
  8. char mass[20];
  9. char address[20];
  10. };
  11. zamena (struct list mas[],char x[], int i, int j)
  12. {
  13. int i1;
  14. if ( strcmp(x[i], x[j+1]) > 0 )
  15. {
  16. for(i1=0; i1<20; i1++)
  17. {
  18. char temp = mas[j].name[i1];
  19. mas[j].name[i1] = mas[j+1].name[i1];
  20. mas[j+1].name[i1] = temp;
  21. temp = mas[j].sport[i1];
  22. mas[j].sport[i1] = mas[j+1].sport[i1];
  23. mas[j+1].sport[i1] = temp;
  24. temp = mas[j].year[i1];
  25. mas[j].year[i1] = mas[j+1].year[i1];
  26. mas[j+1].year[i1] = temp;
  27. temp = mas[j].arena[i1];
  28. mas[j].arena[i1] = mas[j+1].arena[i1];
  29. mas[j+1].arena[i1] = temp;
  30. temp = mas[j].mass[i1];
  31. mas[j].mass[i1] = mas[j+1].mass[i1];
  32. mas[j+1].mass[i1] = temp;
  33. temp = mas[j].address[i1];
  34. mas[j].address[i1] = mas[j+1].address[i1];
  35. mas[j+1].address[i1] = temp;
  36. }
  37. }
  38. }
  39. main()
  40. {
  41. int i,j;
  42. char num;
  43. struct list mas[4]={{"Zvezda","fight","1990","2","300","Zvezdnay 21"},
  44. {"Iskraa","swim","1987","3","500","Shlefonenko 19"},
  45. {"Dinamo","footbal","1985","1","200","Naftizinovskaya 15"},
  46. {"Unost'","run","1994","4","100","Zabygorskaya 9t"}};
  47. for(i=0; i<4; i++)
  48. {
  49. printf("%i.%s %9s %8s %6s %5s %5s\n",i+1 ,mas[i].name, mas[i].sport, mas[i].year, mas[i].arena, mas[i].mass, mas[i].address);
  50. }
  51. printf("\n");
  52. printf("_________________________________________________________________\n");
  53. printf("Sortirovat' po:\n");
  54. printf("1.Name\n");
  55. printf("2.Sport\n");
  56. printf("3.Years\n");
  57. printf("4.Arena\n");
  58. printf("5.Mass\n");
  59. printf("6.Address\n");
  60. printf("\n");
  61. printf("Enter number:");
  62. scanf("%s",&num);
  63. char temp;
  64. switch(num)
  65. {
  66. case('1'):
  67. {
  68. printf("You choose: Name\n");
  69. printf("\n");
  70. int i,j,i1;
  71. for( i = 0; i < 4; i ++)
  72. for( j = 0; j < 4 - i- 1; j ++)
  73. zamena(mas , mas.name , i , j) ;
  74. break;
  75. }
  76. case('2'):
  77. {
  78. printf("You choose: Sport\n");
  79. printf("\n");
  80. int i,j,i1;
  81. for( i = 0; i < 4; i ++)
  82. for( j = 0; j < 4 - i- 1; j ++)
  83. zamena(mas,mas.sport , i , j) ;
  84. break;
  85. };
  86. case('3'):
  87. {
  88. printf("You choose: Years\n");
  89. printf("\n");
  90. int i,j,i1;
  91. for( i = 0; i < 4; i ++)
  92. for( j = 0; j < 4 - i- 1; j ++)
  93. for( i = 0; i < 4; i ++)
  94. for( j = 0; j < 4 - i- 1; j ++)
  95. zamena(mas,mas.year, i, j) ;
  96. break;
  97. };
  98. case('4'):
  99. {
  100. printf("You choose: Arena\n");
  101. printf("\n");
  102. int i,j,i1;
  103. for( i = 0; i < 4; i ++)
  104. for( j = 0; j < 4 - i- 1; j ++)
  105. zamena(mas,mas.arena, i, j) ;
  106. break;
  107. };
  108. case('5'):
  109. {
  110. printf("You choose: Mass\n");
  111. printf("\n");
  112. int i,j,i1;
  113. for( i = 0; i < 4; i ++)
  114. for( j = 0; j < 4 - i- 1; j ++)
  115. zamena(mas,mas.mass, i, j) ;
  116. break;
  117. }
  118. case('6'):
  119. {
  120. printf("You choose: Address\n");
  121. printf("\n");
  122. int i=0,j,i1;
  123. for( i = 0; i < 4; i ++)
  124. for( j = 0; j < 4 - i- 1; j ++)
  125. zamena(mas,mas.address, i, j) ;
  126. break;
  127. }
  128. }
  129. printf("_________________________________________________________________\n");
  130. for(i=0; i<4; i++)
  131. {
  132. printf("%i.%s %9s %8s %6s %5s %5s\n",i+1 ,mas[i].name, mas[i].sport, mas[i].year, mas[i].arena, mas[i].mass, mas[i].address);
  133. }
  134. printf("\n");
  135. }

Решение задачи: «Исправить ошибки в приведенном коде»

textual
Листинг программы
  1. char num;
  2. ...
  3. scanf("%s", &num);
  4. ...
  5. switch(num) {
  6.     case('1'):
  7. ...

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

  1. Объявлена переменная типа char с именем num.
  2. В цикле происходит чтение значения переменной num с помощью функции scanf, в которую передается форматный спецификатор %s.
  3. Значение переменной num используется в операторе switch для определения действия, которое нужно выполнить в зависимости от введенного значения.
  4. В случае '1' выполняются действия, указанные после case, в которых, возможно, обрабатывается ошибка.

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


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

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

10   голосов , оценка 4 из 5

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

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

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