Переделать структуру в классы!!! - 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
- это константа, определяющая максимальное количество объектов в списке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д