Переделать структуру в классы!!! - 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, который содержит следующие переменные:
- marka - массив символов, в котором, вероятно, хранится название устройства.
- hdd - переменная типа int, вероятно, хранит информацию о жестком диске.
- ozu - переменная типа int, возможно, отвечает за ёмкость оперативной памяти.
- date - переменная типа int, вероятно, хранит дату создания объекта.
- monitor - массив символов, возможно, содержит информацию о мониторе.
Также в коде определен массив объектов класса
listтипаs[MAX], гдеMAX- это константа, определяющая максимальное количество объектов в списке.