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

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

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

Листинг программы
  1. #include <stdio.h>
  2. #include <malloc.h>
  3. #define DEVICE_NAME_LEN 30
  4. #define CUSTOMER_NAME_LEN 40
  5. #define N 2
  6. // Структура для габаритов
  7. struct Dimensions {
  8. float Length, Height, Width;
  9. };
  10. // Структура для прибора
  11. struct MeasureDevice {
  12. char
  13. deviceName[DEVICE_NAME_LEN];
  14. struct Dimensions
  15. deviceDimensions;
  16. float
  17. devicePrice;
  18. };
  19. // Структура для заказчика
  20. struct Customer {
  21. char
  22. customerName[CUSTOMER_NAME_LEN];
  23. char
  24. address[50];
  25. };
  26. // Структура для заказа
  27. struct Order {
  28. char
  29. customerName[CUSTOMER_NAME_LEN];
  30. char
  31. deviceName[DEVICE_NAME_LEN];
  32. long int
  33. amount;
  34. };
  35. //основная функция программы
  36. int main() {
  37. struct MeasureDevice
  38. devices[N];
  39. for(int i=0; i<N; i++)
  40. {
  41. scanf("%s", &devices[i].deviceName);
  42. scanf("%f %f %f", &devices[i].deviceDimensions.Length, &devices[i].deviceDimensions.Height,
  43. &devices[i].deviceDimensions.Width);
  44. scanf("%f", &devices[i].devicePrice);
  45. }
  46. FILE* outFile;
  47. if ( ( outFile = fopen("devices.dat", "wb") ) == NULL ) {
  48. printf("Unable to open file\n");
  49. return 1;
  50. }
  51. fwrite(&devices, sizeof(MeasureDevice), N, outFile);
  52. fclose(outFile);
  53. return 0;
  54. }

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

textual
Листинг программы
  1. scanf("%s", &devices[i].deviceName);

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

  1. В данном коде используется функция scanf для ввода данных в программу.
  2. Функция scanf ожидает ввода строки, которую она сохраняет в переменной devices[i].deviceName.
  3. Переменная i представляет собой индекс в массиве, который увеличивается на 1 после каждого использования scanf.
  4. scanf требует указателя на переменную, в которую нужно ввести данные. В данном случае используется оператор & для передачи адреса переменной devices[i].deviceName в функцию scanf.
  5. После использования scanf, программа продолжает выполняться, и введенные данные сохраняются в массиве devices для дальнейшего использования.

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


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

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

6   голосов , оценка 3.833 из 5

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

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

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