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

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

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

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

13.03.2013, 12:43. Просмотров 212. Ответов 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++
ребят, не подкажете как скопировать строку из искомой, начиная с символа а и заканчивая символом б? #include &quot;stdafx.h&quot; #include...

Копирование строк - C++
Нужно сравнить две строки не учитывая пробелы. Ошибка где-то в копировании a1 в с1 #define _CRT_SECURE_NO_WARNINGS #include...

Копирование Строк - C++
В общем, я продолжаю разборки с С(++) и у меня снова вопрос, ответ на который ув. тов. Google не дал. Гад! Задача: даны три строки,...

копирование строк - C++
Как на языке Си скопировать из строки s1 в строку s2 n символов с k-ой позиции?

Копирование строк - C++
Всем доброго времени суток. У меня такой вопрос как можно копировать строка в строку не с заменой, а с добавлением в строку. например...

Копирование строк - C++
И опять столкнулся с проблемой. Описываю функцию, которая копирует k символов из строки str в строку s. Вот мой код: void...

копирование строк - C++
Скопировать из файла F1 в файл F2 все строки, кроме той строки, в которой больше всего гласных букв. Ну или просто скопировать строку...

Копирование строк - C++
У Страуструпа приведен такой пример для копирования одной строки в другую: void cpy (char* p, const char* q) { while...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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     Копирование строк в объектах
Ответ Создать тему
Опции темы

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