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

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

Войти
Регистрация
Восстановить пароль
 
pun4er
6 / 6 / 1
Регистрация: 06.10.2010
Сообщений: 122
#1

Проблема с выводом строки - C++

26.09.2011, 15:06. Просмотров 324. Ответов 3
Метки нет (Все метки)

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include<iostream>
#include<string>
#include<conio.h>
#define SIZE 100
using namespace std;
 
class Adress
{
    char fam[SIZE];
    char street[SIZE];
    int dom, kv;
    public:
    void set_fam(char *fam1);
    char get_fam();
    void set_street(char *street1);
    char get_street();
    void set_dom(int dom1);
    int get_dom();
    void set_kv(int kv1);
    int get_kv();
    void show();
};
 
void Adress::set_fam(char *fam1)
{
    strcpy(fam,fam1);
}
 
char Adress::get_fam()
{
    return *fam;
}
 
void Adress::set_street(char *street1)
{
    strcpy(street,street1);
}
 
char Adress::get_street()
{
    return *street;
}
 
void Adress::set_dom(int dom1)
{
    dom=dom1;
}
 
int Adress::get_dom()
{
    return dom;
}
 
void Adress::set_kv(int kv1)
{
    kv=kv1;
}
 
int Adress::get_kv()
{
    return kv;
}
 
void Adress::show()
{
    cout<<"\nAdress Programm";
    cout<<"\nSurname is "<<get_fam();
    cout<<"\nStreet is "<<get_street();
    cout<<"\nHouse number is "<<get_dom();
    cout<<"\nApartment number is "<<get_kv();
    cout<<"\nPress Enter for quit...";
}
void main()
{
    Adress ob;
    ob.set_fam("Ivanov");
    ob.set_street("Lenina");
    ob.set_dom(1);
    ob.set_kv(10);
    ob.show();
    getch();
}
Целые числа выводит нормально, а фамилию и улицу выводит только 1й символ, проблемма где то в объявлении наверное, я запутался, помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2011, 15:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблема с выводом строки (C++):

Структура и класс string. Проблема с выводом строки. - C++
Такая проблема: объявляю структуру с классом string: struct exam { std::string name; ... }; Затем объявляю...

Проблема с выводом - C++
Здравствуйте.Приношу извинения за банальный вопрос,но ,к сожалению, никак не могу разобраться самостоятельно. Проблема: -Код: ...

Проблема с выводом времени - C++
есть код рабочий,проблема с выводом времени,выводит в цикле,как сделать,чтоб одним числом выводился? #include &lt;iostream&gt; #include...

Проблема с выводом строк - C++
вот фрагмент проги: printf(&quot; vvedite faringeto cels\n&quot;); scanf(&quot;%f&quot;,&amp;cels2); fareng2 = cels2*9.0f/5+32.0f; а вот...

Проблема с выводом кириллицы на экран - C++
Друзья, у меня вопрос заключен в следующем, вот код: #include &lt;iostream&gt; using namespace std; struct Test{ char name; }; ...

Проблема с выводом bitmap-ов на принтер... - C++
Вобчем, дело такое. берем любой экранный DC например форму. берем любой битмап - например из ресурсов берем самый стандартный...

3
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
26.09.2011, 15:12 #2
C++
1
2
3
4
const char* Adress::get_fam()
{
        return fam;
}
по аналогии делай и get_street
1
pun4er
6 / 6 / 1
Регистрация: 06.10.2010
Сообщений: 122
26.09.2011, 15:15  [ТС] #3
Благодарю, работает
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
26.09.2011, 15:39 #4
А вообще, я бы сделал как-то так (со своими костылями для автоматического определения геттеров-сеттеров):
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
#include <iostream>
#include <string>
 
#define FIELD(type, name) \
private:          \
type        name;     \
public:           \
void set_ ## name (const type& name ## _param)  \
{                       \
    name = name ## _param;          \
}                       \
type get_ ## name () const          \
{                       \
    return name;                \
}                       \
private:                    \
 
 
class address
{
public:
    address(const std::string& _name = std::string(),
        const std::string& _street = std::string(),
        size_t _house_no = size_t(),
        size_t _apartment_no = size_t())
    : name(_name), street(_street), house_no(_house_no),
      apartment_no(_apartment_no) 
    {
    }
 
    FIELD(std::string, name)
    FIELD(std::string, street)
    FIELD(size_t, house_no)
    FIELD(size_t, apartment_no)
};
 
std::ostream& operator << (std::ostream& os, const address& addr)
{
    os << addr.get_name() << std::endl;
    os << addr.get_house_no() << " " << addr.get_street()
       << ", Apt. " << addr.get_apartment_no() << std::endl;
 
    return os;
}
 
int main()
{
    address addr("J. Doe", "Endless", 13, 666);
    std::cout << addr;
        
    return 0;
}
0
26.09.2011, 15:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2011, 15:39
Привет! Вот еще темы с ответами:

Проблема с вводом-выводом из файлов - C++
Только изучаю данную тематику, и нарвался на подобное - при попытке компилить, находит одну ошибку, и начинает ругаться.. #include...

Проблема с выводом массива спиралью против часовой стрелки - C++
Здравствуйте, недавно была задача, создать массив 10х10 рандомных чисел и вывести спиралью против часовой стрелки. В паскале задачу я...

трабла с выводом строки - C++
вот код который неправильно работает: void Cue::Out() { char ch; for (int i=0; i&lt;curInd; ++i) { ch = Str; ...

введением - выводом строк!! не правильная запись строки в массив!!!! - C++
сами смотрите на код! по - ходу все правильно!!!! прога в массив записывает только первое из слов,тех что я ввожу з клавы, до пробела!!!!!...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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