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

Написать функцию для записи в файл массива структур - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.05.2012, 20:12     Написать функцию для записи в файл массива структур #1
Помогите найти ошибку...выходит: undefined reference to `WinMain@16'|
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
#include "fstream"
#include "iostream"
using namespace std;
 
int n=0;//счетчик для количества ппациентов
int num_w=0;
struct Pacient{
    char surname[40];
    char name[40];
    char strana[40];
    char oblast[40];
    char raion[40];
    char gorod[40];
    char ulica[40];
    char dom[40];
    char kvartira[40];
    char god[20];
    char  nomertel[40];
};
 
 
Pacient* Create()
{
    Pacient *A=new Pacient[100];
    ofstream f("text.txt");
    int num_w=0;
    cout << "Введите число записей:";
    cin >> num_w;
     for(int i=0; i<num_w; i++){
 
            cout << "\nЗапись №"<<i+1;
            cout << "\nВведите фамилию:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].surname, sizeof A[i].surname);
 
            cout << "\nВведите имя:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].name, sizeof A[i].name);
 
            cout << "\nВведите страна:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].strana, sizeof A[i].strana);
 
            cout << "\nВведите область:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].oblast, sizeof A[i].oblast);
 
            cout << "\nВведите район:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].raion, sizeof A[i].raion);
 
            cout << "\nВведите город:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].gorod, sizeof A[i].gorod);
 
            cout << "\nВведите улица:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].ulica, sizeof A[i].ulica);
 
            cout << "\nВведите дом:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].dom, sizeof A[i].dom);
 
            cout << "\nВведите квартира:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].kvartira, sizeof A[i].kvartira);
 
            cout << "\nВведите год:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].god, sizeof A[i].god);
 
            cout << "\nВведите номертел:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].nomertel, sizeof A[i].nomertel);
 
        n++;
    }f.close();//закрываем файл
    return A;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
11.05.2012, 20:26     Написать функцию для записи в файл массива структур #2
У вас нет главной функциия

C++
1
2
3
4
int main()
{
    return 0;
}
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.05.2012, 20:29  [ТС]     Написать функцию для записи в файл массива структур #3
))как мог забыть..а как вызвать теперь функцию
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
11.05.2012, 20:33     Написать функцию для записи в файл массива структур #4
возможно так
C++
1
2
3
4
5
int main()
{
    Create();
    return 0;
}
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.05.2012, 20:43  [ТС]     Написать функцию для записи в файл массива структур #5
спасибо...в файле получил следущее 4040404040404040402040...что может быть

Добавлено через 5 минут
Цитата Сообщение от nikola_omsk Посмотреть сообщение
Помогите найти ошибку...выходит: undefined reference to `WinMain@16'|
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "fstream"
#include "iostream"
using namespace std;
 
int n=0;//счетчик для количества ппациентов
int num_w=0;
struct Pacient{
    char surname[40];
    char name[40];
    char strana[40];
    char oblast[40];
    char raion[40];
    char gorod[40];
    char ulica[40];
    char dom[40];
    char kvartira[40];
    char god[20];
    char  nomertel[40];
то есть вот эти числа

Добавлено через 1 минуту
может не getline???
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
11.05.2012, 20:52     Написать функцию для записи в файл массива структур #6
C++
1
2
3
 cout << "\nВведите фамилию:";
            cin.getline(A[i].surname, 24);
            f << (A[i].surname);
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.05.2012, 20:59  [ТС]     Написать функцию для записи в файл массива структур #7
пустой файл в итоге
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
11.05.2012, 21:02     Написать функцию для записи в файл массива структур #8
вы везде считаваете

C++
1
cin.getline(A[i].surname, 24);
внимательно

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
 cout << "\nЗапись №"<<i+1;
            cout << "\nВведите фамилию:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].surname, sizeof A[i].surname);
 
            cout << "\nВведите имя:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].name, sizeof A[i].name);
 
            cout << "\nВведите страна:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].strana, sizeof A[i].strana);
 
            cout << "\nВведите область:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].oblast, sizeof A[i].oblast);
 
            cout << "\nВведите район:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].raion, sizeof A[i].raion);
 
            cout << "\nВведите город:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].gorod, sizeof A[i].gorod);
 
            cout << "\nВведите улица:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].ulica, sizeof A[i].ulica);
 
            cout << "\nВведите дом:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].dom, sizeof A[i].dom);
 
            cout << "\nВведите квартира:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].kvartira, sizeof A[i].kvartira);
 
            cout << "\nВведите год:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].god, sizeof A[i].god);
 
            cout << "\nВведите номертел:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].nomertel, sizeof A[i].nomertel)
а записываете уже в файл

имя, страну и тд, конечно там нечего не будет(хотя должна быть какаето белиберда)

делай так

C++
1
2
3
4
5
6
7
8
9
10
11
12
 cout << "\nЗапись №"<<i;
            cout << "\nВведите фамилию:";
            cin.getline(A[i].surname, 24);
            f << (A[i].surname);
 
            cout << "\nВведите имя:";
            cin.getline(A[i].name, 24);
            f << (A[i].name);
 
            cout << "\nВведите страна:";
            cin.getline(A[i].strana, 24);
            f << (A[i].strana);
и так далее
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.05.2012, 21:09  [ТС]     Написать функцию для записи в файл массива структур #9
да все так...
задание:написать функцию для записи в файл массива структур....в этом вся суть
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
11.05.2012, 21:10     Написать функцию для записи в файл массива структур #10
Цитата Сообщение от nikola_omsk Посмотреть сообщение
да все так...
задание:написать функцию для записи в файл массива структур....в этом вся суть
читайте мой придыдущий пост и исправляйте! не че у вас не так!
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.05.2012, 21:13  [ТС]     Написать функцию для записи в файл массива структур #11
я тупой...
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
#include <fstream>
#include <iostream>
using namespace std;
 
int n=0;//счетчик для количества ппациентов
struct Pacient{
    char surname[40];
    char name[40];
    char strana[40];
    char oblast[40];
    char raion[40];
    char gorod[40];
    char ulica[40];
    char dom[40];
    char kvartira[40];
    char god[20];
    char  nomertel[40];
};
 
 
Pacient* Create()
{
    Pacient *A=new Pacient[100];
    ofstream f("text.txt");
    int num_w=0;
    int i=0;
    int n=0;
    cout << "Введите число записей:";
    cin >> num_w;
     for(int i=0; i<num_w; i++){
 
            cout << "\nЗапись №"<<i+1;
            cout << "\nВведите фамилию:";
            cin.getline(A[i].surname, 24);
            f << (A[i].surname);
 
            cout << "\nВведите имя:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].name);
 
            cout << "\nВведите страна:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].strana);
 
            cout << "\nВведите область:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].oblast);
 
            cout << "\nВведите район:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].raion);
 
            cout << "\nВведите город:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].gorod);
 
            cout << "\nВведите улица:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].ulica);
 
            cout << "\nВведите дом:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].dom);
 
            cout << "\nВведите квартира:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].kvartira);
 
            cout << "\nВведите год:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].god);
 
            cout << "\nВведите номертел:";
            cin.getline(A[i].surname, 24);
            f<< (A[i].nomertel);
 
        n++;
    }f.close();//закрываем файл
    return A;
}
 
int main()
 
{
   Create();
   return 0;
}
в файле пусто......
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
11.05.2012, 21:17     Написать функцию для записи в файл массива структур #12
Пойдем по другому!

C++
1
2
3
cout << "\nВведите страна:";
            cin.getline(A[i].surname, 24); // считываем фамилию
            f << (A[i].strana);//а в файл записываем страну, какую??
Тут вы считали так сказать фамилию(surname), а в файл записываете страну(strana), какую вы запишите страну в файл если вы ее не ввели, не считали!

C++
1
2
3
 cout << "\nВведите страна:";
            cin.getline(A[i].strana, 24);
            f << (A[i].strana);
и в током же духе везде
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.05.2012, 21:22  [ТС]     Написать функцию для записи в файл массива структур #13
спасибо..затупил так затупил..ахах
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2012, 23:10     Написать функцию для записи в файл массива структур
Еще ссылки по теме:

C++ Написать функцию, принимающую массив структур Student
C++ Написать функцию sort() для сортировки массива структур
Написать функцию для обработки одномерного массива C++

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

Или воспользуйтесь поиском по форуму:
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
11.05.2012, 23:10     Написать функцию для записи в файл массива структур #14
Цитата Сообщение от nikola_omsk Посмотреть сообщение
Pacient *A=new Pacient[100];
Выделили, а не освободили память

C++
1
delete [] A;
Yandex
Объявления
11.05.2012, 23:10     Написать функцию для записи в файл массива структур
Ответ Создать тему
Опции темы

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