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

Считывание obj файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Too few arguments to function http://www.cyberforum.ru/cpp-beginners/thread686557.html
Доброго времени суток! Возникла проблема при компиляции кода, собственно на скриншотах ниже, никак не могу ничего придумать, подскажите пожалуйста.
C++ н-арные деревья Где можно почитать (посмотреть видео) о н-арных деревьях? http://www.cyberforum.ru/cpp-beginners/thread686533.html
C++ Дан массив A размера N. Вывести
Дан массив A размера N. Вывести его элементы в следующем порядке: A0, A1, AN-1, AN–2, A2, A3, AN–3, AN–4, … . интересует собственно как задать такую последовательность?
Ошибка в функции из за переменной C++
Код выдает ошибку. Все переменые должны быть обьязательно в главной функции, в глобальной нельзя. И из за переменной С выдает ошибку компилятор. А казалось все сделал правильно. #include<iostream> #include<conio.h> #include<stdlib.h> #include<locale.h> using namespace std; const int n=5; void input(int); void sum(int, int, int, int, int, int); void output(int);
C++ Посчитать сумму элементов в подматрице, заданной пользователем http://www.cyberforum.ru/cpp-beginners/thread686508.html
Помогите пожалуйста написать код на с++ (очень нужно) , к задаче : Дана матрица 10х10. Посчитать сумму элементов в подматрице , заданной пользователем , и проверить существование данной подматрицы. Заранее огромнейшее спасибо!
C++ Ошибка линковщика В коде // mytime0.h---class for restart operation #ifndef MYTIME0_H_ #define MYTIME0_H_ class Time { private: int hours; int minutes; public: подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.11.2012, 23:49     Считывание obj файла
Например, такой код:
Кликните здесь для просмотра всего текста
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
//в pol.txt       
 
// 1.1.4;
// 1.5.9;
// 2.2.9;
// 3.3.5;
// 4.4.5;
// 4.4.10;
// 6.6.10;
// 8.8.10;
 
// в ver.txt
 
// 3   glVertex3d(-2.092190,0.000000,0.697396);
// 2   glVertex3d(2.927495,0.000000,0.697396);
// 1   glVertex3d(-2.092190,0.000000,-2.282672);
// 8   glVertex3d(2.927495,0.000000,-2.282672);
// 5   glVertex3d(-2.092190,1.609770,0.697396);
// 6   glVertex3d(2.927495,1.609770,0.697396);
// 7   glVertex3d(-2.092190,1.609770,-2.282672);
// 4   glVertex3d(2.927495,1.609770,-2.282672);
// 10  glVertex3d(1.774041,2.909065,1.812822);
// 9   glVertex3d(1.774041,2.853168,1.245292);
 
// в out.txt будет
 
// 1 glVertex3d(-2.092190,0.000000,-2.282672);
// 1 glVertex3d(-2.092190,0.000000,-2.282672);
// 4 glVertex3d(2.927495,1.609770,-2.282672);
// 1 glVertex3d(-2.092190,0.000000,-2.282672);
// 5 glVertex3d(-2.092190,1.609770,0.697396);
// 9 glVertex3d(1.774041,2.853168,1.245292);
// 2 glVertex3d(2.927495,0.000000,0.697396);
// 2 glVertex3d(2.927495,0.000000,0.697396);
// 9 glVertex3d(1.774041,2.853168,1.245292);
// 3 glVertex3d(-2.092190,0.000000,0.697396);
// 3 glVertex3d(-2.092190,0.000000,0.697396);
// 5 glVertex3d(-2.092190,1.609770,0.697396);
// 4 glVertex3d(2.927495,1.609770,-2.282672);
// 4 glVertex3d(2.927495,1.609770,-2.282672);
// 5 glVertex3d(-2.092190,1.609770,0.697396);
// 4 glVertex3d(2.927495,1.609770,-2.282672);
// 4 glVertex3d(2.927495,1.609770,-2.282672);
// 10 glVertex3d(1.774041,2.909065,1.812822);
// 6 glVertex3d(2.927495,1.609770,0.697396);
// 6 glVertex3d(2.927495,1.609770,0.697396);
// 10 glVertex3d(1.774041,2.909065,1.812822);
// 8 glVertex3d(2.927495,0.000000,-2.282672);
// 8 glVertex3d(2.927495,0.000000,-2.282672);
// 10 glVertex3d(1.774041,2.909065,1.812822);
 
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
 
void f1(int x, ifstream &fver, ofstream &fout)
{
    int n;
    string str;
    
    while (true)
    {
        fver >> n;
        if (n == x) 
        {
            fver >> str;
            fout << n << ' ' << str << endl;
            fver.clear();
            fver.seekg(0);
            break;
        }
        else
        {
            fver.ignore(255, '\n');
            if (fver.eof())
            {
                fver.clear();
                fver.seekg(0);
                break;
            }
        }
    }
}
 
 
int main()
{
    ifstream fpol("pol.txt", ios::binary);
    ifstream fver("ver.txt", ios::binary);
    ofstream fout("fout.txt");
 
    int x, y, z;
 
    while (!fpol.eof())
    {
        if (fpol.peek() == EOF) break;
        fpol >> x;
        fpol.clear();
        fpol.get();
        fpol >> y;
        fpol.clear();
        fpol.get();
        fpol >> z;
        fpol.clear();
        fpol.get();
        
        f1(x, fver, fout);
        f1(y, fver, fout);
        f1(z, fver, fout);
    }
    
    fpol.close();
    fver.close();
    fout.close(); 
    
    system("pause");
    return 0;
}
Поясните насчёт этого: /* 1 */. Так в файле или вы закоментировали?

Добавлено через 25 минут
Если же номера точек в файле в коментах, то:
Кликните здесь для просмотра всего текста
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
//в pol.txt       
 
// 1.1.4;
// 1.5.9;
// 2.2.9;
// 3.3.5;
// 4.4.5;
// 4.4.10;
// 6.6.10;
// 8.8.10;
 
// в ver.txt
 
// /* 3 */  glVertex3d(-2.092190,0.000000,0.697396);
// /* 2 */  glVertex3d(2.927495,0.000000,0.697396);
// /* 1 */  glVertex3d(-2.092190,0.000000,-2.282672);
// /* 8 */  glVertex3d(2.927495,0.000000,-2.282672);
// /* 5 */  glVertex3d(-2.092190,1.609770,0.697396);
// /* 6 */  glVertex3d(2.927495,1.609770,0.697396);
// /* 7 */  glVertex3d(-2.092190,1.609770,-2.282672);
// /* 4 */  glVertex3d(2.927495,1.609770,-2.282672);
// /* 10 */ glVertex3d(1.774041,2.909065,1.812822);
// /* 9 */  glVertex3d(1.774041,2.853168,1.245292);
 
// в out.txt будет
 
// /* 1 */ glVertex3d(-2.092190,0.000000,-2.282672);
// /* 1 */ glVertex3d(-2.092190,0.000000,-2.282672);
// /* 4 */ glVertex3d(2.927495,1.609770,-2.282672);
// /* 1 */ glVertex3d(-2.092190,0.000000,-2.282672);
// /* 5 */ glVertex3d(-2.092190,1.609770,0.697396);
// /* 9 */ glVertex3d(1.774041,2.853168,1.245292);
// /* 2 */ glVertex3d(2.927495,0.000000,0.697396);
// /* 2 */ glVertex3d(2.927495,0.000000,0.697396);
// /* 9 */ glVertex3d(1.774041,2.853168,1.245292);
// /* 3 */ glVertex3d(-2.092190,0.000000,0.697396);
// /* 3 */ glVertex3d(-2.092190,0.000000,0.697396);
// /* 5 */ glVertex3d(-2.092190,1.609770,0.697396);
// /* 4 */ glVertex3d(2.927495,1.609770,-2.282672);
// /* 4 */ glVertex3d(2.927495,1.609770,-2.282672);
// /* 5 */ glVertex3d(-2.092190,1.609770,0.697396);
// /* 4 */ glVertex3d(2.927495,1.609770,-2.282672);
// /* 4 */ glVertex3d(2.927495,1.609770,-2.282672);
// /* 10 */ glVertex3d(1.774041,2.909065,1.812822);
// /* 6 */ glVertex3d(2.927495,1.609770,0.697396);
// /* 6 */ glVertex3d(2.927495,1.609770,0.697396);
// /* 10 */ glVertex3d(1.774041,2.909065,1.812822);
// /* 8 */ glVertex3d(2.927495,0.000000,-2.282672);
// /* 8 */ glVertex3d(2.927495,0.000000,-2.282672);
// /* 10 */ glVertex3d(1.774041,2.909065,1.812822);
 
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
 
void f1(int x, ifstream &fver, ofstream &fout)
{
    int n;
    string str;
    
    while (true)
    {
        fver.seekg(2, ios::cur); // попасть на пробел перед номером точки
        fver >> n;
        //fver.clear();
        fver.seekg(3, ios::cur); // попасть на пробел перед записью функции
        if (n == x) 
        {
            fver >> str;
            fout << "/* " << n << " */ " << str << endl;
            fver.clear();
            fver.seekg(0);
            break;
        }
        else
        {
            fver.ignore(255, '\n');
            if (fver.eof())
            {
                fver.clear();
                fver.seekg(0);
                break;
            }
        }
    }
}
 
 
int main()
{
    ifstream fpol("pol.txt", ios::binary);
    ifstream fver("ver.txt", ios::binary);
    ofstream fout("fout.txt");
 
    int x, y, z;
    
 
    while (!fpol.eof())
    {
        if (fpol.peek() == EOF) break;
        fpol >> x;
        fpol.clear();
        fpol.get();
        fpol >> y;
        fpol.clear();
        fpol.get();
        fpol >> z;
        fpol.clear();
        fpol.get();
        
        f1(x, fver, fout);
        f1(y, fver, fout);
        f1(z, fver, fout);
    }
    
    fpol.close();
    fver.close();
    fout.close();
 
    system("pause");
    return 0;
}


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