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

Пример class+string+ofstream/ifstream - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализация функции erase() http://www.cyberforum.ru/cpp-beginners/thread934690.html
Как работает erase()? То есть, если у нас : prev, it, next - итераторы и выполняя erase(it), она очистит память, которую занимала it и при ++prev мы попадем на next? В общем помогите разобраться как можно написать эту функцию.
C++ Ошибка R6010 Из-за чего возникает такая ошибка как на скрине ? Вот код программы: #include<iostream> #include<string> using namespace std ; class MyClassString { private: http://www.cyberforum.ru/cpp-beginners/thread934685.html
C++ Книги по STL
Доброго времени суток. Интересует ваше мнение, по какой книге лучше изучать STL? В списке литературы (да да, я его читал!) есть 3 книги. Из них лучшие отзывы о "C++. Стандартная библиотека", но... Эту книгу называют больше справочником, чем учебным пособием, а меня интересует именно учебник с примерами и задачами. Что порекомендуете?
Литералы C++
Добрый день! Уже весь инет перерыл в поисках необходимости понятия значения литерал в С++. Будьте добры, обьясните пожалуйста ЧЕЛОВЕЧЕСКИМ языком, для чего нужен литерал и в каких случаях применяется? Единственное что я понял, это то, что это значение, которое не меняется программой.
C++ Объявление функции с необязательными параметрами http://www.cyberforum.ru/cpp-beginners/thread934666.html
Как объявить функцию с необязательными параметрами? Например в этой функции сделать int z необязательным параметром void func_getcoord(int x, int y, int z) { }
C++ Нормально работает Это нормально если программа работает без доп библиотек. (MVS 2008) Для srand(time(0)); вроде надо же <time> #include "stdafx.h" #include <iostream> #include <conio.h> #include <locale> using namespace std; подробнее

Показать сообщение отдельно
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
07.08.2013, 12:17  [ТС]     Пример class+string+ofstream/ifstream
Цитата Сообщение от Jupiter Посмотреть сообщение
getline вам в помощь.
строки разделяем каким-то разделителем.
честно говоря не совсем уверен как связать это все в кучу с записью чтению в/из файла тоесть идея в том чтобы влепить туда разделители ?
Честно говоря сколько я делал все это я туда лепил количевство символов для считываяния а теперь вот разбираюсь со string и выходит что тут принцип предыдущего опыта не работает и нуна юзать разделители сомнительного происхождения ?

Добавлено через 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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <iostream>
#include "date.h"
#include <string>
#include <fstream>
using namespace std;
#pragma once
class Person
{
    string surname;
    string name;
    string patronymic;
    string address;
    string phone;
    string email;
    string ICQ;
    date birthday;
public:
    Person(){}
    Person(string aSurname, string aName, string aPatronymic,string aAddress, string aPhone, string aemail, string aICQ,int d,int m,int y)
    {
        surname=aSurname;
        name=aName;
        patronymic=aPatronymic;
        address=aAddress;
        phone=aPhone;
        email=aemail;ICQ=aICQ;
        birthday.set_day(d);
        birthday.set_mounth(m);
        birthday.set_year(y);
    }
    Person(const Person & av)
    {
        surname=av.surname;
        name=av.name;
        patronymic=av.patronymic;
        address=av.address;
        phone=av.phone;
        email=av.email;
        ICQ=av.ICQ;
        birthday.set_day(av.birthday.get_day());
        birthday.set_mounth(av.birthday.get_mounth());
        birthday.set_year(av.birthday.get_year());
    }
    ~Person(){}
 
    Person operator=(const Person&av)
    {
        surname=av.surname;
        name=av.name;
        patronymic=av.patronymic;
        address=av.address;
        phone=av.phone;
        email=av.email;
        ICQ=av.ICQ;
        birthday.set_day(av.birthday.get_day());
        birthday.set_mounth(av.birthday.get_mounth());
        birthday.set_year(av.birthday.get_year());
        return *this;
    }
    void show()
    {
        cout<<"personal Information::::::::::"<<endl;
        cout<< "Surname: "<< surname << endl;
        cout << "Name: " << name << endl;
        cout << "Patronymic: " << patronymic << endl;
 
        cout<< "Address: " << address <<endl;
        cout<< "Phone: " << phone << endl;
        cout<< "e-mail: " << email <<endl;
        cout<< "ICQ: " << ICQ << endl;
        cout<<"birthday=";
        birthday.show();
        cout<<endl;
    }
    friend ostream& operator<<(ostream& os,const Person& a);
    friend istream& operator>>(istream& is, Person& a);
    friend ofstream& operator<<(ofstream&fs,const Person&a);
    friend ifstream& operator>>(ifstream&fs,Person&a);
 
 
    void set_surname(string aSurname)
    {
        surname=aSurname;
    }
    void set_name(string aName)
    {
        name=aName;
    }
    void set_patronymic(string aPatronymic)
    {
        patronymic=aPatronymic;
    }
    void set_address(string aAddress)
    {
        address=aAddress;
    }
    void set_phone(string aPhone)
    {
        phone=aPhone;
    }
    void set_email(string aEmail)
    {
        email=aEmail;
    }
    void set_ICQ(string aICQ)
    {
        ICQ=aICQ;
    }
    void set_birhday(int d,int m,int y)
    {
        birthday.set_day(d);
        birthday.set_mounth(m);
        birthday.set_year(y);
    }
 
    string get_surname()const
    {
        return surname;
    }
    string get_name()const
    {
        return name;
    }
    string get_patronymic()const
    {
        return patronymic;
    }
    string get_address()const
    {
        return address;
    }
    string get_phone()const
    {
        return phone;
    }
    string get_email()const
    {
        return email;
    }
    string get_ICQ()const
    {
        return ICQ;
    }
    date get_birthday() const
    {
        return birthday;
    }
};
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
#pragma once
#include <iostream>
#include <fstream>
using namespace std;
class date
{
 
    int day;
    int mounth;
    int year;
public:
    date();
    date(int d,int m,int y);
    date(const date&a);
    
    void set_day(int d);
    void set_mounth(int m);
    void set_year(int y);
 
    int get_day()const;
    int get_mounth()const;
    int get_year()const;
 
    void show();
    friend ostream& operator<<(ostream& os,const date& a);
    friend istream& operator>>(istream& is, date& a);
    friend ofstream& operator<<(ofstream &fs,const date &a);
    friend ifstream& operator>>(ifstream &fs,date &a);
};
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
#include <iostream>
#include "date.h"
using namespace std;
    date::date()
    {
        day=0;
        mounth=0;
        year=0;
    }
    date::date(int d,int m,int y)
    {
        day=d;
        mounth=m;
        year=y;
    }
    date::date(const date&a)
    {
        day=a.get_day();
        mounth=a.get_mounth();
        year=a.get_year();
    }
    
    void date::set_day(int d)
    {
        day=d;
    }
    void date::set_mounth(int m)
    {
        mounth=m;
    }
    void date::set_year(int y)
    {
        year=y;
    }
 
    int date::get_day()const
    {
        return day;
    }
    int date::get_mounth()const
    {
        return mounth;
    }
    int date::get_year()const
    {
        return year;
    }
    void date::show()
    {
        cout<<day<<","<<mounth<<","<<year<<endl;
    }
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
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include "date.h"
#include "Person.h"
#include <fstream>
using namespace std;
ostream& operator<<(ostream& os,const Person& a)
{
    os<<"personal Information::::::::::"<<endl;
    os<< "Surname: "<< a.surname << endl;
    os << "Name: " << a.name << endl;
    os << "Patronymic: " << a.patronymic << endl;
 
    os << "Address: " << a.address <<endl;
    os<< "Phone: " << a.phone << endl;
    os<< "e-mail: " << a.email <<endl;
    os<< "ICQ: " << a.ICQ << endl;
    os<<"birthday=";
    os<<a.birthday;
    cout<<endl;
    return os;
}
istream& operator>>(istream&is,Person&a)
{
    cout<<"enter your personal data::"<<endl; 
    cout<<"enter surname=";
    cin>>a.surname;
 
    cout<<"enter name=";
    cin>>a.name;
 
    cout<<"enter patronymic=";
    cin>>a.patronymic;
 
    cout<<"enter address=";
    cin>>a.address;
 
    cout<<"enter phone=";
    cin>>a.phone;
 
    cout<<"enter email=";
    cin>>a.email;
 
    cout<<"enter ICQ=";
    cin>>a.ICQ;
    cout<<endl;
 
    cout<<"enter data of your birthday"<<endl;
    is>>a.birthday;
 
    return is;
}
ofstream& operator<<(ofstream&fs,const Person& a)
ifstream& operator>>(ifstream&fs,Person&a)
 
 
ostream& operator<<(ostream& os,const date& a)
{
    os<<a.day<<",";
    os<<a.mounth<<",";
    os<<a.year<<endl;
    return os;
}
istream& operator>>(istream&is,date&a)
{
    int d=0;
    cout<<"enter day=";
    is>>d;
    a.day=d;
    cout<<"enter mounth=";
    is>>d;
    a.mounth=d;
    cout<<"enter year=";
    is>>d;
    a.year=d;
    return is;
}
ifstream& operator>>(ifstream &fs,date &a)
{
    int sz=sizeof(int);
    fs.read((char*)&a.day,sz);
    fs.read((char*)&a.mounth,sz);
    fs.read((char*)&a.year,sz);
    return fs;
}
ofstream& operator<<(ofstream &fs,const date &a)
{
    int sz=sizeof(int);
    fs.write((char*)&a.day,sz);
    fs.write((char*)&a.mounth,sz);
    fs.write((char*)&a.year,sz);
    return fs;
}
 
Текущее время: 04:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru