Переделать структуру в классы!!! - C (СИ)

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

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

/*в классы вообще не вьеду. вообще не пойму как с ними работать. нужно переделать эту структуру в классы. помогите пожалуйта.*/
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#define MAX 2//кол-во компьютеров для регистрации
    int i;
    //сама структура
    struct list {
                char marka[20];
                int hdd;
                int ozu;
                int date;
                char monitor[20];
                } s[MAX];//список стуктур
    //функция регистрации
    void reg()
    {
        for(i=0;i<MAX;i++)
        {
            printf("\n Nomer zapisi: %d\n",i);
            printf("\n Vvedite marku computera:  ");
            scanf("%s",&s[i].marka);
            printf("\n Vvedite tip monitora:     ");
            scanf("%s",&s[i].monitor);
            printf("\n Vvedite razmer HDD (v gigabaytax):  ");
            scanf("%d",&s[i].hdd);
            printf("\n Vvedite razmer OZU (v gigabaytax):  ");
            scanf("%d",&s[i].ozu);
 
            printf("\n Vvedite god vipuska:  ");
            scanf("%d",&s[i].date);
            printf("\a");//звуковой сигнал для удобства
        }
    }
    void bubod()
    {
        for(i=0;i<MAX;i++)
        {
            printf("\n Nomer zapisi %d\n",i);
            printf("\n Marka: %s\n",s[i].marka);
            printf("\n HDD: %d\n",s[i].hdd);
            printf("\n OZU: %d\n",s[i].ozu);
            printf("\n Data: %d\n",s[i].date);
            printf("\n Model monitora: %s\n",s[i].monitor);
            printf("\n");
        }
    }
 
    void serch()
    {
        int chois; // выбор действия.
        int tupint; // переменная для int.
        char tupchar[20];//переменная для char.
        printf("Vvedite svoystvo, po kotoromu budet vipolniatsia poisk\n");
        printf("1 - Nomer zapisi\n\n");
        printf("2 - HDD\n");
        printf("3 - OZU\n");
        printf("4 - God vipuska\n");
        printf("5 - Model monitora\n");
        printf("6 - Marka\n");
        scanf("%d",&chois);
        printf("Vvedite deystviye\n");
        if(chois==5 || chois==6)
        {
            scanf("%s",&tupchar);
        }
        else
        {
            scanf("%d",&tupint);
        }
 
        for(i=0;i<MAX;i++)
        {
        if(chois==1)
        {
            if(i==tupint)
            {
                printf("Nomer zapisi %d\n",i);
                printf("Marka: %s\n",s[i].marka);
                printf("HDD: %d\n",s[i].hdd);
                printf("OZU: %d\n",s[i].ozu);
                printf("Data: %d\n",s[i].date);
                printf("Model monitora: %s\n",s[i].monitor);
                printf("\n");
            }
        }
        if(chois==2)
        {
            if(s[i].hdd==tupint)
            {
                printf("Nomer zapisi %d\n",i);
                printf("Marka: %s\n",s[i].marka);
                printf("HDD: %d\n",s[i].hdd);
                printf("OZU: %d\n",s[i].ozu);
                printf("Data: %d\n",s[i].date);
                printf("Model monitora: %s\n",s[i].monitor);
                printf("\n");
            }
        }
        if(chois==3)
        {
            if(s[i].ozu==tupint)
            {
                printf("Nomer zapisi %d\n",i);
                printf("Marka: %s\n",s[i].marka);
                printf("HDD: %d\n",s[i].hdd);
                printf("OZU: %d\n",s[i].ozu);
                printf("Data: %d\n",s[i].date);
                printf("Model monitora: %s\n",s[i].monitor);
                printf("\n");
            }
        }
        if(chois==4)
        {
            if(s[i].date==tupint)
            {
                printf("Nomer zapisi %d\n",i);
                printf("Marka: %s\n",s[i].marka);
                printf("HDD: %d\n",s[i].hdd);
                printf("OZU: %d\n",s[i].ozu);
                printf("Data: %d\n",s[i].date);
                printf("Model monitora: %s\n",s[i].monitor);
                printf("\n");
            }
        }
        if(chois==5)
        {
            if(!strcmp(s[i].monitor,tupchar))
            {
                printf("Nomer zapisi %d\n",i);
                printf("Marka: %s\n",s[i].marka);
                printf("HDD: %d\n",s[i].hdd);
                printf("OZU: %d\n",s[i].ozu);
                printf("Data: %d\n",s[i].date);
                printf("Model monitora: %s\n",s[i].monitor);
                printf("\n");
            }
        }
        if(chois==6)
        {
            if(!strcmp(s[i].marka,tupchar))
            {
                printf("Nomer zapisi %d\n",i);
                printf("Marka: %s\n",s[i].marka);
                printf("HDD: %d\n",s[i].hdd);
                printf("OZU: %d\n",s[i].ozu);
                printf("Data: %d\n",s[i].date);
                printf("Model monitora: %s\n",s[i].monitor);
                printf("\n");
            }
        }
    }
}
 
    void del()
    {
        int chois2;
        char d[1];
 
        printf("Vvedite nomer zapisi dlya udaleniya!\n");
        scanf("%d",&chois2);
        for(i=0;i<MAX;i++)
        {
            if(i==chois2)
            {
                strcpy(s[i].marka,d);//strcpy(s1,s2) Копирование s2 в s1  
                strcpy(s[i].monitor,d);//strcpy(s1,s2) Копирование s2 в s1  
                s[i].hdd=0;
                s[i].ozu=0;
                s[i].date=0;
 
            }
        }
    }

    main()
    {
        int chois;
        for(; ;)/*здесь бесконечный for " не знаю почему смайл выдаёт"*/
        {
            printf("\n *** Viberite deystvie *** :\n");
            printf("\n 1 - Vvesti spisok.\n");
            printf("\n 2 - Vivesti spisok na ekran.\n");
            printf("\n 3 - Ispolzovat spisok.\n");
            printf("\n 4 - Udalit spisok.\n");
            printf("\n 5 - Exit.\n");
            printf("\n * Vvedite vibrannoe deystvie :  ");
            scanf("%d",&chois);
            puts("\n=======================================");
            if(chois==1)
            {
                reg();
            }
            if(chois==2)
            {
                bubod();
            }
           if(chois==3)
           {
                serch();
           }
           if(chois==4)
           {
                del();
           }
           if(chois==5)
           {
               break;
           }
        }
    }

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

textual
Листинг программы
class list {
public:
                                char marka[20];
                                int hdd;
                                int ozu;
                                int date;
                                char monitor[20];
                                } s[MAX];//список классов

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

В представленном коде определен класс list, который содержит следующие переменные:

  1. marka - массив символов, в котором, вероятно, хранится название устройства.
  2. hdd - переменная типа int, вероятно, хранит информацию о жестком диске.
  3. ozu - переменная типа int, возможно, отвечает за ёмкость оперативной памяти.
  4. date - переменная типа int, вероятно, хранит дату создания объекта.
  5. monitor - массив символов, возможно, содержит информацию о мониторе. Также в коде определен массив объектов класса list типа s[MAX], где MAX - это константа, определяющая максимальное количество объектов в списке.

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


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

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

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