Исправить ошибки в коде - C (СИ) (75818)
Формулировка задачи:
Листинг программы
- #include <stdio.h>
- #include <malloc.h>
- #define DEVICE_NAME_LEN 30
- #define CUSTOMER_NAME_LEN 40
- #define N 2
- // Структура для габаритов
- struct Dimensions {
- float Length, Height, Width;
- };
- // Структура для прибора
- struct MeasureDevice {
- char
- deviceName[DEVICE_NAME_LEN];
- struct Dimensions
- deviceDimensions;
- float
- devicePrice;
- };
- // Структура для заказчика
- struct Customer {
- char
- customerName[CUSTOMER_NAME_LEN];
- char
- address[50];
- };
- // Структура для заказа
- struct Order {
- char
- customerName[CUSTOMER_NAME_LEN];
- char
- deviceName[DEVICE_NAME_LEN];
- long int
- amount;
- };
- //основная функция программы
- int main() {
- struct MeasureDevice
- devices[N];
- for(int i=0; i<N; i++)
- {
- scanf("%s", &devices[i].deviceName);
- scanf("%f %f %f", &devices[i].deviceDimensions.Length, &devices[i].deviceDimensions.Height,
- &devices[i].deviceDimensions.Width);
- scanf("%f", &devices[i].devicePrice);
- }
- FILE* outFile;
- if ( ( outFile = fopen("devices.dat", "wb") ) == NULL ) {
- printf("Unable to open file\n");
- return 1;
- }
- fwrite(&devices, sizeof(MeasureDevice), N, outFile);
- fclose(outFile);
- return 0;
- }
Решение задачи: «Исправить ошибки в коде»
textual
Листинг программы
- scanf("%s", &devices[i].deviceName);
Объяснение кода листинга программы
- В данном коде используется функция scanf для ввода данных в программу.
- Функция scanf ожидает ввода строки, которую она сохраняет в переменной devices[i].deviceName.
- Переменная i представляет собой индекс в массиве, который увеличивается на 1 после каждого использования scanf.
- scanf требует указателя на переменную, в которую нужно ввести данные. В данном случае используется оператор & для передачи адреса переменной devices[i].deviceName в функцию scanf.
- После использования scanf, программа продолжает выполняться, и введенные данные сохраняются в массиве devices для дальнейшего использования.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д