Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 26.03.2011, 15:09   #1
SeregaTihonov
Пользователь
 
Регистрация: 20.12.2010
Сообщений: 12
Репутация: 10
Радость !!!переделать структуру в классы

#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;
}
}
}

Последний раз редактировалось SeregaTihonov; 26.03.2011 в 15:11.
SeregaTihonov вне форума   Ответить с цитированием
Старый 26.03.2011, 15:10   #2
SeregaTihonov
Пользователь
 
Регистрация: 20.12.2010
Сообщений: 12
Репутация: 10
По умолчанию

помогите пожалуйста!!! в понедельник нужно сдать!!!
а то повторка!!!
SeregaTihonov вне форума   Ответить с цитированием
Старый 26.03.2011, 16:08   #3
Mandrivnyk
Software Developer
Профессионал
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Адрес: Stuttgart
Сообщений: 1,098
Репутация: 119

icq: 260063504
По умолчанию

Цитата:
Код:

if(chois==1)
{
reg();
}
if(chois==2)
{
bubod();
}
if(chois==3)
{
serch();
}
if(chois==4)
{
del();
}
if(chois==5)
{
break;
}
}

Оператор switch? Не, не слышал... (с)

По сабжу -- в С++ структура от класса отличается, по большому счету, только доступом по умолчанию. В классе он private, в структуре -- public.
__________________
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума   Ответить с цитированием
Старый 26.03.2011, 16:50   #4
onewho
Участник клуба
 
Регистрация: 29.09.2010
Адрес: С-Пб
Сообщений: 636
Репутация: 86

icq: 3424572
По умолчанию

ну если "на отъебись"

Код:

struct list {
char marka[20];
int hdd;
int ozu;
int date;
char monitor[20];
} s[MAX];

поменять на
Код:

class list {
public:
char marka[20];
int hdd;
int ozu;
int date;
char monitor[20];
} s[MAX];

и усё
onewho вне форума   Ответить с цитированием
Старый 27.03.2011, 02:57   #5
SeregaTihonov
Пользователь
 
Регистрация: 20.12.2010
Сообщений: 12
Репутация: 10
По умолчанию

Ну этоже только обьявление, по-моему в
классах printf и scanf заменяются на cout и cin?
SeregaTihonov вне форума   Ответить с цитированием
Старый 27.03.2011, 02:57   #6
Mandrivnyk
Software Developer
Профессионал
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Адрес: Stuttgart
Сообщений: 1,098
Репутация: 119

icq: 260063504
По умолчанию

Цитата:
Сообщение от SeregaTihonov Посмотреть сообщение
Ну этоже только обьявление, по-моему в
классах printf и scanf заменяются на cout и cin?
Вот блин! А мужики-то не знают... (с)

cout и cin -- объекты класса iostream, отвечающие за стандартный вывод и ввод.
подключай <iostream> -- и меняй.

ЗЫ Кстати, остальные инклуды тоже поменял бы -- программа, судя по всему, на С, поэтому и используется структура вместо класса, printf и scanf вместо cout и cin, и старые заголовки.
__________________
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переделать в классы DRELORD Помощь студентам 1 03.06.2010 12:46
переделать в классы DRELORD Помощь студентам 0 31.05.2010 22:23
Переделать код с процедуры в классы на С++ Tusichka Помощь студентам 0 30.05.2010 19:51
Добавление в структуру decompressed Помощь студентам 8 17.02.2010 22:38


20:33.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru