Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2013, 01:40   #1
MrRuslanBB
Пользователь
 
Регистрация: 07.02.2013
Сообщений: 12
Радость Класс Letter С++

Помогите пожалуйста написать класс Letter) Очень надо!))))))
Создать класс Letter, содержащий следующие элементы:
- поле «отправитель» Person*Sender;
- поле «получатель» Person*Receiver;
- поле «адрес» char*Adress;
- метод отправки письма int Send(); (если хотя бы одно поле не заполнено, то уведомить об ошибке – вернуть 1, иначе 0)
- метод получения адресной информации (ФИО1+ФИО2+адрес) char*GetInfo();
- конструктор с параметрами Letter(Person*sender, Person*receiver, char*Adress);

Немного что-то написал, но пока бред выходит!))

Код:
#include <iostream.h>
#include <string.h>
 
class Letter {
 Person*Sender;
 Person*Receiver;
 char*Adress;
 public;
  char*GetInfo();
  Letter(char*,char*,char*,char*,char*,char*,char*);
};
 
char*Letter::GetInfo(){
char*Result;
strcpy(Result, FirstName1);
strcpy(Result, " ");
strcpy(Result, LastName1);
strcpy(Result, " ");
strcpy(Result, Otchestvo1);
strcpy(Result, " ");
strcpy(Result, FirstName2);
strcpy(Result, " ");
strcpy(Result, LastName2);
strcpy(Result, " ");
strcpy(Result, Otchestvo2);
strcpy(Result, " ");
strcpy(Result, Adress);
strcpy(Result, " ");
return Result;
};
 
Letter::Letter(char*FN1, char*LN1, char*Ot1, char*FN2, char*LN2, char*Ot2, char*Adres) {
strcpy(FirstName, FN1);
strcpy(LastName, LN1);
strcpy(Otchestvo, Ot1);
strcpy(FirstName, FN2);
strcpy(LastName, LN2);
strcpy(Otchestvo, Ot2);
strcpy(Otchestvo, Adress);
};
 
void main(){
Letter Hum("Mikola", "Andrey", "Vladimirovich");
cout<<Hum.GetInfo();
}.

Последний раз редактировалось Stilet; 12.02.2013 в 09:29.
MrRuslanBB вне форума Ответить с цитированием
Старый 07.02.2013, 12:29   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Не понятно, что такое Person(пускай будет структура) . И еще я считаю, что лучше хранить не указатель на строку адреса, а ее копию.
Вот, разберитесь :
Код:
struct Person
{
    char firstname[80];
    char lastname[80];
};

class Letter {
    Person* sender;
    Person* receiver;
    char    adress[80];
public:
    Letter()
    {
        sender = 0;
        receiver = 0;
        strcpy(adress, "");
    }
    Letter(Person* s, Person *r, char *adr)
    {
        sender = s;
        receiver = r;
        strcpy(adress, adr);
    }

    char* GetInfo()
    {
        char temp[240];
        temp[0] = '\0';
        strcat(temp,sender->firstname);
        strcat(temp," ");
        strcat(temp,sender->lastname);
        strcat(temp,"   ");
        strcat(temp,receiver->firstname);
        strcat(temp," ");
        strcat(temp,receiver->lastname);
        strcat(temp,"   ");
        strcat(temp,adress);
        return temp;
    }

    int Send()
    {
        if(sender == 0 || receiver == 0 || strcmp(adress,"") == 0)
            return 1;

        //Отправление письма, куда ?

        return 0;
    }
};

int main()
{
    Person p1,p2;
    strcpy(p1.firstname,"Ivanov");
    strcpy(p1.lastname,"Petr");

    strcpy(p2.firstname,"Petrov");
    strcpy(p2.lastname,"Ivan");

    Letter l1,l2(&p1,&p2,"Gagarina, 16");

    printf("%d\n%d\n",l1.Send(),l2.Send());
    printf("%s\n",l2.GetInfo());

    return 0;
}
Hemul вне форума Ответить с цитированием
Старый 12.02.2013, 02:28   #3
MrRuslanBB
Пользователь
 
Регистрация: 07.02.2013
Сообщений: 12
Радость

Огромное вам спасибо))) Постараюсь разобраться))) !!!!)))))))
MrRuslanBB вне форума Ответить с цитированием
Старый 12.02.2013, 02:29   #4
MrRuslanBB
Пользователь
 
Регистрация: 07.02.2013
Сообщений: 12
Радость

Стати Person вот он:

Создать класс Person, содержащий следующие элементы:
- поле «имя» char*FirstName;
- поле «фамилия» char*LastName;
- поле «отчество» char*Otchestvo;
- метод получения (ФИО) char*GetFIO();
- конструктор с параметрами Person(char*FirstName, char*LastName, char*Otchestvo);

В классе Letter переопределить оператор! (унарный оператор класса), новое действие вернуть по адресу.

class Person {
char*FirstName;
char*LastName;
char*Otchestvo;
public:
char*GetFIO();
Person(char*,char*,char*); //konstruktor s parametrami
};

char*Person::GetFIO(){
char*Result;
strcpy(Result, FirstName);
strcpy(Result, " ");
strcpy(Result, LastName);
strcpy(Result, " ");
strcpy(Result, Otchestvo);
strcpy(Result, " ");
return Result;
};

Person::Person(char*FN, char*LN, char*Ot) {
strcpy(FirstName, FN);
strcpy(LastName, LN);
strcpy(Otchestvo, Ot);
};

void main(){
Person Hum("Podnebesny", "Ruslan", "Mikhailovich");
cout<<Hum.GetFIO();
}.
MrRuslanBB вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cоздать класс жидкость. определить конструкторы деструкторы и функцию печати. создать публик производный класс. (С++) Динар Габбасов Помощь студентам 0 28.05.2012 18:44
Добавить класс в проект2,похожий на класс из проекта1!оба проекта есть! xeops C# (си шарп) 0 15.05.2012 20:31
Программный letter spacing romazabelin JavaScript, Ajax 3 23.03.2012 11:27
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. Человек_Борща Общие вопросы Delphi 8 27.02.2012 23:24
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42