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

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

Войти
Регистрация
Восстановить пароль
 
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
#1

ошибки в программе на visual studio 2010 - C++

02.07.2012, 22:21. Просмотров 749. Ответов 10
Метки нет (Все метки)

на visual c++ 6.0 работает хорошо, а на visual studio 2010 выдает ошибки. Помогите исправить, пожалуйста!


C++ (Qt)
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#include "iostream"//заголовочный файл iostream
#include "conio.h"//заголовочный файл conio
 
using namespace std;//пространство имен
 
struct Node //структура 
{
    char punkt[40]; //пункт назначения
 
 char fio[40];      //фамилия и инициалы пассажира
 char data_v[10];   //желаемая дата вылета
 
    int d;  //номер рейса
    
    Node *left; //ссылка на левое поддерево
    Node *right; //ссылка на правое поддерево
};
Node *first(int d,char punkt[40],char fio[40],char data_v[40]);//формирование первого элемента
Node *search_insert(Node *root,int d,char punkt[40],char fio[40],char data_v[40]);//поиск с включением
 
void print_tree(Node *root, int l); //обход дерева
 
struct bilet //структура записей данных о рейсах
{
 char punkt[40]; //пункт назначения
 int reys;          //номер рейса
 char fio[40];      //фамилия и инициалы пассажира
 char data_v[10];   //желаемая дата вылета
 
};
 
 
 
int main()
{
    char d[10];//номер рейса
 
    
    int i=0,n;//n - количество элементов в дереве
    cout<<"Vvedite kol-vo elementov v dereve n: ";
    cin>>n;//ввод n
    bilet *b=new bilet[n];//динамическое выделение памяти
    cout<<"Vvod dannyh o reisah: "<<endl;
    for(i=0;i<n;i++)
    {
        cout<<"\nVvedite datu vileta:";cin>>b[i].data_v;//ввод даты вылета из структуры 
        cout<<"\nVvedite fio passagira:";cin>>b[i].fio;//ввод ФИО из структуры 
        cout<<"\nVvedite punkt naznachenia:";cin>>b[i].punkt;//ввод пункта из структуры
        cout<<"\nVvedite nomer reisa:";cin>>b[i].reys;//ввод пункта из структуры
 
 
    }
 
    cout<<"Vivod vseh dannih o reisah: "<<endl;
    for(i=0;i<n;i++)
    {
        cout<<"\n----- № "<<i+1;//вывод номера заявки
        cout<<"\nData vileta:"<<b[i].data_v;//ввод даты вылета из структуры
        cout<<"\nFIO passagira:"<<b[i].fio;//ввод ФИО из структуры 
        cout<<"\nPunkt naznachenia:"<<b[i].punkt;//ввод пункта из структуры
        cout<<"\nNomer reisa:"<<b[i].reys;//ввод пункта из структуры
 
    }
    cout<<"\nDerevo: "<<endl;
    Node *root=first(b[0].reys,b[0].punkt,b[0].fio,b[0].data_v);//формируем корень дерева
    // ищем место куда вставить и вставляем новые элементы
    for(i=0;i<n;i++)
    {
        search_insert(root,b[i].reys,b[i].punkt,b[i].fio,b[i].data_v);//поиск
    }
    print_tree(root,0); //вывод дерева на экран
 
    int k;                  //значения, которые больше заданного к будут удалены 
    cout<<"Vvedite nomer reisa k: ";
    cin>>k;//ввод номера рейса
    cout<<"Vvedite datu vileta d: ";
    cin>>d;//ввод даты вылета
    
    for(i=0;i<n;i++)
    {
        if((b[i].reys==k)&&(b[i].data_v==d))//если рейс и дата совпали, удаляем значения
        {
            b[i].reys=-1;//рейс = -1
        }
    }
    int o;//объявление переменной о
    int x=0;//объявление переменной x=0
    for(i=0;i<n;i++)
    {
        if(b[i].reys!=-1)//если рейс = -1
        {
            o=i;//o=i
            break;
        }
        else x++;//увеличиваем x на единицу
    }
    if(x=n)//если x = 1
    {
        cout<<"Derevo pustoe";//дерево пустое
 
    
    }
 
    Node *root1=first(b[o].reys,b[o].punkt,b[o].fio,b[o].data_v);//формирование первого элемента нового дерева
    for(i=0;i<n;i++)
    {
        if(b[i].reys!=-1)//если рейс = -1
        {
            search_insert(root1,b[i].reys,b[i].punkt,b[i].fio,b[i].data_v);//поиск
        }
    }
    print_tree(root1,0);//печать дерева
 
    getch();
    return 0;
}
 
Node *first(int d,char punkt[40],char fio[40],char data_v[40])//формирование первого элемента
{
    Node *pv=new Node;  //создаем элемент
    pv->d=d;            //присваиваем значение элементу 
    strcpy(pv->punkt,punkt);            //присваиваем значение элементу 
    strcpy(pv->fio,fio);            //присваиваем значение элементу 
    strcpy(pv->data_v,data_v);          //присваиваем значение элементу 
    
 
    pv->left=0;         //ссылка на левое поддерево 
    pv->right=0;        //ссылка на правое поддерево 
    return pv;          // возвращаем адрес элемента
}
 
 
 
 
Node *search_insert(Node *root,int d,char punkt[40],char fio[40],char data_v[40])//поиск с включением
{
    Node *pv=root, *prev;
    bool fl=false;      //флаг, отвечающий за то, что нашли ли элемент или нет
 
    while(pv&&!fl)
    {
        prev=pv;            //получаем адрес элемента от которого будем искать корни
 
        if(d==pv->d)fl=true;    //при совпадении выходим из цикла
        else if(d<pv->d)pv=pv->left;    //Вклиниваемся в левое поддерево
        else pv=pv->right;          //Вклиниваемся в правое поддерево
    
    }
 
 
    if(fl)return pv;
 
    Node *pnew=new Node;//создаем элемент
    pnew->d=d;
    strcpy(pnew->punkt,punkt);          //присваиваем значение элементу 
    strcpy(pnew->fio,fio);          //присваиваем значение элементу 
    strcpy(pnew->data_v,data_v);            //присваиваем значение элементу 
 
    pnew->left=0;
    pnew->right=0;
    if(d<prev->d)
        prev->left=pnew;//присоединение к левому поддереву предка
    
    else//иначе
                          
        prev->right=pnew; //присоединяем к правому поддереву предка
    return pnew;//возвращение присоединения
}
 
void print_tree(Node *p,int level)//обход дерева
{
    if(p)
    {
        print_tree(p->left,level+1);//перемещение по левым поддеревьям
        for(int i=0;i<level;i++)cout<<"  ";
        cout<<p->d<<"/"<<p->data_v<<p->fio<<p->punkt;//вывод значений дерева
        print_tree(p->right,level+1);//перемещение по правым поддеревьям
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2012, 22:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ошибки в программе на visual studio 2010 (C++):

ошибки компиляции консоли с++ и zlib 1.1.3, visual studio 2010 - C++
Привет, скачал в интернете исходники zlib 1.1.3 (знаю, что последняя версия гораздо больше, но мне нужна именно эта) и в microsoft visual...

Visual Studio 2010 + Windows 7 x64. Ошибки при компиляции - C++
Здравствуйте. Использую Visual Studio 2010 и Windows 7 x64 Компилю код. Получаю экзешник. На компьютере запускается нормально. Пробую...

При запуске скомпилированного проекта Visual Studio 2010 возникает ошибка: В ходе построения произошли ошибки - C++
Последние 7 листингов из книги не работают. Не могут они все быть с ошибками. Скорее всего что-то произошло с этой грёбаной Студией. Все...

c++, visual studio 2010! 7 - C++
Given three natural numbers a, b, c which represent the day, month and year of some date. For example: 1, 4, 1991 represents 1st April...

Visual Studio 2010 - C++
как запустить с флехи exe файл программы Си в Visual Studio 2010??

Visual Studio 2010 - C++
Прошу прощения если написал не туда, отдельного форма по VS не нашел! Люди такая проблема!! У меня есть VS 2010 Ultimate начинаю...

10
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
02.07.2012, 22:27 #2
у меня всё запустилось
0
Миниатюры
ошибки в программе на visual studio 2010  
exkilla
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 73
02.07.2012, 22:29 #3
Выкладывайте текст ошибки.
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
02.07.2012, 22:31 #4
быть может в начале файла отсутствует #include <stdafx.h> ?
если дело не в этом, то без текста ошибок - никак
0
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
02.07.2012, 22:36  [ТС] #5
Никогда раньше не пользовалась 2010 версией. Может, я не правильно создала cpp файл?
0
alexey31415
02.07.2012, 22:37
  #6

Не по теме:


Цитата Сообщение от DU Посмотреть сообщение
быть может в начале файла отсутствует #include <stdafx.h> ?
кстати да

0
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
02.07.2012, 22:38  [ТС] #7
А вообще там по-моему указывало на заголовочные файлы и писало что-то вроде "недопустимый элемент."
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
02.07.2012, 22:40 #8
блин. ну вы даете. попросили же конкретные ошибки запостить. "что-то вроде" - это не ошибка. нужно скопипастить сюда полный текст всех ошибок.
0
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
02.07.2012, 22:42  [ТС] #9
Если программа идет на одной версии, то, в принципе, на других тоже должна?

Добавлено через 2 минуты
DU, не могу( дома стоит вверсия 6.0, а программу нужно сдавать в универе, там 2010 версия.
Скачивала ее, но там нужен ключ.
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
02.07.2012, 22:47 #10
для Express Edition вроде не нужен. Она сильно порезана, но для консольных программок - годится. ЕЕ попробуйте поставить.
0
alexey31415
02.07.2012, 22:50     ошибки в программе на visual studio 2010
  #11

Не по теме:

Цитата Сообщение от DU Посмотреть сообщение
вроде не нужен
вообще не нужен,распространяется бесплатно

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2012, 22:50
Привет! Вот еще темы с ответами:

c++, visual studio 2010! 6. - C++
Given natural number n. Compute 2 to the power of n. Do not use pow() function. Example: Input: 5 Output: 32

Visual studio 2010 - C++
Господа, подскажите, где нужно полазить в опциях студии, чтобы после изменения программы она не запускала последний удачный дебаг? Заранее...

c++, visual studio 2010! 2. - C++
Given a year number. Output the number of days of that year. Example: Input: 1900 Output 365 Example:

c++, visual studio 2010! 1. - C++
Given real numbers a, b, c, where a is not 0. Find if a quadratic inequality ах2 + bx + с = 0 has real roots. If it does, output them. If...


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

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

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