Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
#1

Копирование строк в объектах - C++

13.03.2013, 12:43. Просмотров 205. Ответов 1
Метки нет (Все метки)

В методе DeleteMessage() я хочу удалить сообщение путём копирования в него строк из следующего сообщения,ну то есть сдвигая всё это,не понимаю что не правильно,но при выводе сообщения в которое скопировали получается не понятно что
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// labar.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
class TMessage
{
public:
    char Topic[30];
    char Author[30];
    char Text[250];
};
 
class TTopic
{
public:
    TMessage* AddMessage(char* topic,char* author,char* text);
    void GetMessage(TMessage*);
    void DeleteMessage(TMessage* p,int q);
};
TMessage* TTopic::AddMessage(char* topic,char* author,char* text)
{   
   TMessage* p=new TMessage;
    strcpy(p->Topic,topic);
    strcpy(p->Author,author);
    strcpy(p->Text,text);
    return p;
}
void TTopic::GetMessage(TMessage*p)
{
    cout<<"TOPIC - "<<p->Topic<<'\n'
          <<"AUTHOR - "<<p->Author<<'\n'
          <<"TEXT - "<<p->Text<<endl;
    
}
void TTopic::DeleteMessage(TMessage *p,int q)
{
    
strcpy(p[q].Topic,p[q+1].Topic);
strcpy(p[q].Author,p[q+1].Author);
strcpy(p[q].Text,p[q+1].Text);
        
}
void main()
{
    int* i=0;
    TTopic top; //объявляем тему
    TMessage* p[2];   //объявляем массив сообщений
        p[0]=top.AddMessage("kniga","Stiven King","parapapa");
        p[1]=top.AddMessage("kniga","Stiven","parapapa");
    top.GetMessage(p[0]);
    top.GetMessage(p[1]);
    top.DeleteMessage(*p,0);
    cout<<"----------------------\n";
     top.GetMessage(p[0]);
    delete p[0];
    delete p[1];
    getch();
}
Миниатюры
Копирование строк в объектах  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 12:43     Копирование строк в объектах
Посмотрите здесь:

Копирование Строк C++
C++ Копирование строк
C++ копирование строк
C++ копирование строк
C++ Копирование строк с файла
C++ копирование строк
Копирование строк C++
Копирование строк C++
Конкатенация строк в объектах C++
C++ Копирование строк
C++ Копирование определенных строк
C++ копирование строк, производительность

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
srg_btl
34 / 34 / 2
Регистрация: 21.02.2013
Сообщений: 90
13.03.2013, 13:00     Копирование строк в объектах #2
Рабочий:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
 
using namespace std;
class TMessage
{
public:
    char Topic[30];
    char Author[30];
    char Text[250];
};
 
class TTopic
{
public:
    TMessage* AddMessage(const char* topic, const char* author, const char* text);
    void GetMessage(TMessage*);
    void DeleteMessage(TMessage** p,int q);
};
TMessage* TTopic::AddMessage(const char* topic, const char* author, const char* text)
{   
   TMessage* p=new TMessage;
    strcpy(p->Topic,topic);
    strcpy(p->Author,author);
    strcpy(p->Text,text);
    return p;
}
void TTopic::GetMessage(TMessage*p)
{
    cout<<"TOPIC - "<<p->Topic<<'\n'
          <<"AUTHOR - "<<p->Author<<'\n'
          <<"TEXT - "<<p->Text<<endl;
    
}
void TTopic::DeleteMessage(TMessage** p,int q)
{
    
strcpy(p[q]->Topic,p[q+1]->Topic);
strcpy(p[q]->Author,p[q+1]->Author);
strcpy(p[q]->Text,p[q+1]->Text);
        
}
int main()
{
    int* i=0;
    TTopic top; //объявляем тему
    TMessage* p[2];   //объявляем массив сообщений
        p[0]=top.AddMessage("kniga","Stiven King","parapapa");
        p[1]=top.AddMessage("kniga","Stiven","parapapa");
    top.GetMessage(p[0]);
    top.GetMessage(p[1]);
    top.DeleteMessage(p,0);
    cout<<"----------------------\n";
     top.GetMessage(p[0]);
    delete p[0];
    delete p[1];
    return 0;
}
Yandex
Объявления
13.03.2013, 13:00     Копирование строк в объектах
Ответ Создать тему
Опции темы

Текущее время: 09:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru