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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Не могу "собрать" прогу http://www.cyberforum.ru/cpp-beginners/thread618098.html
Добрый день, в прошлой теме http://www.cyberforum.ru/cpp-beginners/thread616780.html#post3224110 мне помогли написать 2 функции, спасибо отдельное им за это, но я столкнулся с другой проблемой, никак не могу грамотно впихнуть их в основную программу(совсем дурачок :) ), не могли бы оказать мне и здесь помощь. Знаю что совсем обнаглел может быть, просто самому ну никак не справиться. Вот cpp файл...
C++ Перевод строки в целое число Ребята подскажите пожалуйста как перевести длинную строку ,к примеру 1234567890123456 в целое число? Это уже наверное не int уже а long получается... пытался через atol() и через sstream выдаёт неверное чило.... http://www.cyberforum.ru/cpp-beginners/thread618092.html
C++ Создание файла в указанной директории
Добрый вечер. Есть задание, пользователь запускает программу из консоли с одним аргументом - именем создаваемой папки. Необходимо в этой созданной папке создать текстовый файл. Как это сделать, подскажите пожалуйста. Папку то я создал а как быть с файлом?
Генератор частот. Осталось немного доработать C++
Написал программу, которая генирирует звук заданной частоты на протяжение 8 секунд. Хочу, что бы он воспроизводился пока не нажму клавишу. Примерно знаю как это реализовать (создать 2-й буфер, пока 1-й воспроизводится, 2-й заполняется и так они чередуются, вызывабются ф-й CALLBACK), но знаний пока что не хватает еще, помогиет реализовть. #include <windows.h> #include <mmsystem.h> #include...
C++ Вывод повторяющихся чисел массива и количество повторений http://www.cyberforum.ru/cpp-beginners/thread618062.html
Добрый день. Придумал задачу, а реализовать до конца не получается. Суть вот в чём. Массив наполняется случайными числами. Программа выводит на экран повторяющиеся числа и кол-во их повторений. У меня получилось вывести на экран весь массив и напротив каждого числа кол-во повторений. А как вывести, к примеру, число 5 - повторяется 3 раза; число 59 - повторяется 9 раз и т.д.. Т.е. исключить...
C++ string into char [] Как преобразовать string s = "ololo"; в char b; подробнее

Показать сообщение отдельно
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
02.07.2012, 22:21     ошибки в программе на visual studio 2010
на 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);//перемещение по правым поддеревьям
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru