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

Не присваиваеться переменная - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Зейдель http://www.cyberforum.ru/cpp-beginners/thread831831.html
прошу помощи...вроди все по формуле... но не работает......
C++ Ошибка при чтение из файла Здравствуйте, помогите пожалуйста найти ошибку. Суть ошибки в следующем, при чтение из файла, берет не верно информацию, то есть бесконечно её обрабатывая, ничего не добавляя, не могу разобраться в... http://www.cyberforum.ru/cpp-beginners/thread831828.html
как выдача сообщения C++
выдача сообщения на компьютере о получений файла по локальной сети из другого компьютера
Анимация C++
Ребята помогите написать анимацию(на ваш выбор). Анимация должна быть не очень сложной) Пожалуйста))
C++ Какие способы самые удобные/рациональные способы регистрации ошибок есть? http://www.cyberforum.ru/cpp-beginners/thread831816.html
Задался вопросом, а как регистрировать ошибки? При этом чтобы и выглядело это красиво, и понятно было, и компактно. Заводить переменную char и в ней тасовать битики? или есть специальная фича ввиде...
C++ выделение памяти и присвоение чару Здравствуйте, помогите пожалуйста с заданием. Там где стрелочка, нужно выделить память под holiday::name и присвоить holiday::name сам name. Все подобно day и month. Моим способом компилятор не... подробнее

Показать сообщение отдельно
vadim09
6 / 6 / 1
Регистрация: 04.08.2012
Сообщений: 62

Не присваиваеться переменная - C++

08.04.2013, 19:48. Просмотров 844. Ответов 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
void Init(VideoShop *a, int n)
{
    setlocale(LC_ALL, "russian");
    char *buff;//Создаю буферный массив
    a = new VideoShop [n];//Создаю массив структур
    cout<<"Заполнение стркутуры.\n";
    for( int i=0; i<n; i++)
    {
        buff = new char[100];//Выделяю память, что б мало не казалось
        cout<<"\tВведите назване фильма : ";
        fflush(stdin);//Очищаю буфер потока
        gets(buff);//записываю вводимую строку в буферный массив
        (a+i)->name = new char [strlen(buff)+1];//Выделяю память под элемент структуры столько,                 сколько символов содержиться в вводимой строке
        (a+i)->name = buff;//копирую данные с буферного массива в элемент поле структуры
        delete[] buff;//удаляю буферный массив
        cout<<a->name;//вывожу на экран (Если delete[] buff; закоментировать, то выводиться то что и ввели)
        buff = new char[100];//Дальше делаем тоже самое для каждого поля.
        cout<<"\tРежиссер : ";
        fflush(stdin);
        gets(buff);
        (a+i)->director = new char [strlen(buff)+1];
        (a+i)->director = buff;
        delete[] buff;
 
        buff = new char[100];
        cout<<"\tЖанр : ";
        fflush(stdin);
        gets(buff);
        (a+i)->genre = new char [strlen(buff)+1];
        (a+i)->genre = buff;
        delete[] buff;
 
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru