Програма с использованием структуры - C (СИ)

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

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

Програма с использованием структуры. Сведения о автомобиль состоят из его марки, номера, цвета, фамилии владельца: а) подсчитать количество автомобилей заданной марки; б) подсчитать количества автомобилей каждой марки;

Решение задачи: «Програма с использованием структуры»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <Windows.h>
 
struct Auto {
    char Model[16];
    char Number[8];
    char Color[10];
    char Name[16];
};
 
int main() {
 
    int i, j, counter = 0;
    char EnteredModel[16] = { '\0' };
    struct Auto MyAuto[5] = { { "Audi",   "x007x", "blue",  "Alexander" },
    { "Ford",   "x777x", "red",   "Andrey" },
    { "Porsche","a000b", "white", "Oleg" },
    { "Audi",   "x007x", "blue",  "Sergey" },
    { "Audi",   "f666f", "black", "Daniel" } };
    int modelCounted[5] = { 0 };
 
    printf("Enter the number of the interested model: ");
    scanf("%s", &EnteredModel);
 
    for (i = 0; i < 5; i++) {
        if (i == 0) {
            printf("#####################################################\n");
            printf("#Model           #Number  #Color     #Name          #\n");
            printf("#####################################################\n");
        }
        if (strcmp(MyAuto[i].Model, EnteredModel) == 0) {
            printf("%-17s%-9s%-11s%-17s\n", MyAuto[i].Model, MyAuto[i].Number, MyAuto[i].Color, MyAuto[i].Name);
        }
    }
 
    printf("\n");
    for (j = 0; j < 5; j++) {
        if (!modelCounted[j]) 
        {
            for (i = 0; i < 5; i++) {
                if (strcmp(MyAuto[i].Model, MyAuto[j].Model) == 0) {
                    counter++;
                    modelCounted[i] = 1;  // Mark car as counted
                }
            }
            printf("%s = %d\n", MyAuto[j].Model, counter);
            counter = 0;
        }
    }
    printf("\n");
 
    system("pause");
    return 0;
}

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

  1. Программа считывает количество интересующих моделей автомобилей и сохраняет его в переменной EnteredModel.
  2. Затем программа выводит информацию о каждой модели автомобиля в массиве структур Auto с помощью цикла for.
  3. Если модель автомобиля совпадает с введенной моделью, программа выводит информацию об этой модели автомобиля.
  4. После вывода информации о каждой модели автомобиля программа выводит количество каждой модели автомобиля с помощью двух вложенных циклов for и оператора if.
  5. В конце программы автомобиль запрашивается нажатием любой клавиши и программа завершается.

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


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

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

9   голосов , оценка 3.556 из 5
Похожие ответы