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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
Muqp
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 6
#1

Не компилирует на вижуал, как быть? - C++

25.05.2011, 23:56. Просмотров 2776. Ответов 10
Метки нет (Все метки)

Такая проблема:
Я чайник.
Есть программа, написанная под компилятор g++ вроде.
Хотел ее на студии запустить.
Не получилось.

Вот текст:
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
#include <iostream>
#include <fstream>
#include <cassert>
#include "stdafx.h"
 
// тип стекового кадра
struct stack_card {
    int obj;
    stack_card * ptr;
};
 
class stack {
private:
    stack_card * data;
public:
    stack () {
        data = 0;
    }
    void push(int t) {
        stack_card * tmp = new stack_card;
        tmp->obj = t;
        tmp->ptr = data;
        data = tmp;
    }
    int pop() {
        assert(data != 0);
 
        int rsl = data->obj;
        stack_card * tmp = data;
 
        data = data->ptr;
        delete tmp;
        return rsl;
    }
    bool empty() {
        return (data == 0);
    }
    void print() {
        stack_card * tmp = data;
        while (data != 0) {
            std :: cout << data->obj << std::endl;
            data = data->ptr;
        }
        data = tmp;
    }
};
 
stack read_file(char * filename) {
    std :: ifstream f (filename);
    stack stk;
 
    while (!f.eof()) {
        int tmp;
        f >> tmp;
        stk.push(tmp);
    }
    return stk;
}
 
stack read_console() {
    int n;
    int tmp;
    stack stk;
 
    std :: cout << "Write the size of train : ";
    std :: cin  >> n;
 
    for (int i = 1; i <= n; ++i) {
        std :: cout << "Set " << i << " = ";
        std :: cin >> tmp;
        stk.push(tmp);
    }
 
    return stk;
}
 
int main(int argc, char ** argv) {
    stack tp1;
    stack tp2;
    stack rsl;
  
    //assert(argc == 2);
    //rsl = read_file(argv[1]);
 
    rsl = read_console();
 
    std :: cout << " -- Input -- " << std :: endl;
    rsl.print();
 
    while (!rsl.empty()) {
        int tmp = rsl.pop();
        if ((tmp % 2) == 0) {
            tp1.push(tmp);
        }
        else {
            tp2.push(tmp);
        }
    }
 
    std :: cout << " -- Train 1 -- " << std :: endl;
    tp1.print();
 
    std :: cout << " -- Train 2 -- " << std :: endl;
    tp2.print();
 
    return 0;
}
список ошибок:
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(27) : error C3861: assert: идентификатор не найден
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(42) : error C2653: std: не является именем класса или пространства имен
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(42) : error C2065: cout: необъявленный идентификатор
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(42) : error C2653: std: не является именем класса или пространства имен
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(42) : error C2065: endl: необъявленный идентификатор
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(50) : error C2653: std: не является именем класса или пространства имен
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(50) : error C2065: ifstream: необъявленный идентификатор
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(50) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "f"
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(50) : error C3861: f: идентификатор не найден
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(53) : error C2065: f: необъявленный идентификатор
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(53) : error C2228: выражение слева от ".eof" должно представлять класс, структуру или объединение
1> тип: 'unknown-type'

Добавлено через 3 минуты
Очень нужно скомпилить.
Буду Очень благодарен, если объясните что ему не нравится.\

Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2011, 23:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не компилирует на вижуал, как быть? (C++):

Как создать .ехе файл в Вижуал С++ 2010? - C++
Открываю любой .сср файл в Майкрософт Вижуал С++ 2010, но не могу предварительно ран программу, даже дебагить не хочет. Не могу короче...

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

подсказки в вижуал студио - C++
у меня стоит VS2008 Expres раньше все было нормально, но потом (я наверно куда то не туда кликнул) исчезли подсказки(не знаю как...

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно? - Сети
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому, что больше некому. Поэтому некоторые,...

Как настроить питон под вижуал студио - Python
Закачал питон тул для вижуал студио,как его настроить?

Не компилирует, как исправить? - Turbo Pascal
program ; {$APPTYPE CONSOLE} uses SysUtils; var s,t,res,l,k,f,d,o,r:real; procedure znachenie (a,b:real);

10
lvlkoo
.NET C#,ASP.NET MVC
380 / 336 / 117
Регистрация: 16.10.2010
Сообщений: 1,443
Завершенные тесты: 2
26.05.2011, 00:00 #2
C++
1
using namespace std;
после инклудов
0
Muqp
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 6
26.05.2011, 00:09  [ТС] #3
1>c:\users\muqp\documents\visual studio 2008\projects\qwe\qwe\qwe.cpp(9) : error C2871: std: пространство имен с таким именем не существует

Добавлено через 5 минут
не получилось к сожалению
0
lvlkoo
.NET C#,ASP.NET MVC
380 / 336 / 117
Регистрация: 16.10.2010
Сообщений: 1,443
Завершенные тесты: 2
26.05.2011, 00:09 #4
убери все
C++
1
std::
0
Digit@ll
Brainsbreaker
884 / 362 / 31
Регистрация: 01.02.2011
Сообщений: 1,586
26.05.2011, 00:12 #5
Все намного проще: #include "stdafx.h"
0
Muqp
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 6
26.05.2011, 00:15  [ТС] #6
Цитата Сообщение от lvlkoo Посмотреть сообщение
убери все
C++
1
std::
прошу прощения, не понял.
Куда это вставить, и что "все" убрать?

Добавлено через 29 секунд
Цитата Сообщение от Digit@ll Посмотреть сообщение
Все намного проще: #include "stdafx.h"
да подключил вроде...
0
lvlkoo
.NET C#,ASP.NET MVC
380 / 336 / 117
Регистрация: 16.10.2010
Сообщений: 1,443
Завершенные тесты: 2
26.05.2011, 00:17 #7
C++
1
2
3
4
5
#include <iostream>
#include <fstream>
#include <cassert>
#include "stdafx.h"
 using namespace std;

из всех контрукций вида
C++
1
   std :: ifstream f (filename);
сделай
C++
1
ifstream f (filename);
1
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
26.05.2011, 00:22 #8
Все include пропиши в stdafx.h, если он есть. Либо наоборот его убери.
0
Muqp
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 6
26.05.2011, 00:29  [ТС] #9
правильно ли я сделал?
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
#include <iostream>
#include <fstream>
#include <cassert>
#include <stdafx.h>
using namespace std;
// тип стекового кадра
 
struct stack_card {
    int obj;
    stack_card * ptr;
};
 
class stack {
private:
    stack_card * data;
public:
    stack () {
        data = 0;
    }
    void push(int t) {
        stack_card * tmp = new stack_card;
        tmp->obj = t;
        tmp->ptr = data;
        data = tmp;
    }
    int pop() {
        assert(data != 0);
 
        int rsl = data->obj;
        stack_card * tmp = data;
 
        data = data->ptr;
        delete tmp;
        return rsl;
    }
    bool empty() {
        return (data == 0);
    }
    void print() {
        stack_card * tmp = data;
        while (data != 0) {
            std :: cout << data->obj << std::endl;
            data = data->ptr;
        }
        data = tmp;
    }
};
 
stack read_file(char * filename) {
    ifstream f (filename);
    stack stk;
 
    while (!f.eof()) {
        int tmp;
        f >> tmp;
        stk.push(tmp);
    }
    return stk;
}
 
stack read_console() {
    int n;
    int tmp;
    stack stk;
 
    std :: cout << "Write the size of train : ";
    std :: cin  >> n;
 
    for (int i = 1; i <= n; ++i) {
        std :: cout << "Set " << i << " = ";
        std :: cin >> tmp;
        stk.push(tmp);
    }
 
    return stk;
}
 
int main(int argc, char ** argv) {
    stack tp1;
    stack tp2;
    stack rsl;
  
    //assert(argc == 2);
    //rsl = read_file(argv[1]);
 
    rsl = read_console();
 
    std :: cout << " -- Input -- " << std :: endl;
    rsl.print();
 
    while (!rsl.empty()) {
        int tmp = rsl.pop();
        if ((tmp % 2) == 0) {
            tp1.push(tmp);
        }
        else {
            tp2.push(tmp);
        }
    }
 
    std :: cout << " -- Train 1 -- " << std :: endl;
    tp1.print();
 
    std :: cout << " -- Train 2 -- " << std :: endl;
    tp2.print();
 
    return 0;
}
Добавлено через 1 минуту
изменения только в 50 строке?
0
Digit@ll
Brainsbreaker
884 / 362 / 31
Регистрация: 01.02.2011
Сообщений: 1,586
26.05.2011, 00:33 #10
Только заметил, include stdafx.h первым должен быть, а не последним... О_о
1
Muqp
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 6
26.05.2011, 00:38  [ТС] #11
Цитата Сообщение от Digit@ll Посмотреть сообщение
Только заметил, include stdafx.h первым должен быть, а не последним... О_о
спасибо, помогло)
0
26.05.2011, 00:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2011, 00:38
Привет! Вот еще темы с ответами:

Как заставить приложение быть всегда поверх окон и быть невидимым? - C++ Builder
Как заставить приложение быть всегда поверх окон и быть невидимым?

"В поле может быть введено только одно слово, пробелы могут быть или не быть с начала слова и в конце" - JavaScript
Добрый вечер уважаемые форумчане. Подскажите как написать выражение со след условием: -в поле может быть введено только одно слово,...

Билдер/Вижуал - C++ Builder
В универе начали изучение билдера. Вкинул простую прогу из учебника в вижуал2010, не компилит, можно ли писать и запускать проги билдера...

Графика в вижуал с++ 6. - Visual C++
Доброго времени суток ув. форумчане. Столкнулся с такой дилемой. Нужно нарисовать график. Ругается что нету хедеров graph и graphics. Мб...


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

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

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