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

Почему не виден указатель? - C++

Восстановить пароль Регистрация
 
Aliru777
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 71
29.06.2012, 19:54     Почему не виден указатель? #1
Необходимо создать програму которая читает из файла кол-во записей в массиве структур,создает динамический массив,а потом получает из файла имя мецената и кол-во денег.
выводит Крутых меценатов - более 10000
затем просто меценатов до 10000
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
// prata 6-9 2.0.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include "string"
#include "fstream"
#include "cstdlib"
 
using namespace std;
 
struct Patron
{
    string fullname;
    double contribution;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    bool b_grandp=false, b_failure=false;
    int i_size, i_countp=0;
    ofstream Fout;
    ifstream Fin;
    Fin.open("d:\\6-9.txt");
    if (!Fin.is_open())
    {
        cout<<"Fucking-Shmuking\n";
        cout<<"Can't open file-d:\\6-9.txt"<<endl;
        exit(EXIT_FAILURE);
    }
    if (!(Fin>>i_size))
        cout<<"Tout le monde sont idiots!!!\n";
    else
    {
        Fin.get();                      //take '\n' from Fin>>i_size;
        Patron *pt_patron=new Patron[i_size];
        for (int i=0; i<i_size; i++)
    {
        getline(Fin, pt_patron[i].fullname);
        if ((!(Fin>>pt_patron[i].contribution)) || (pt_patron[i].contribution<0))
        {
            cout<<"We have a break!!!\n";
            b_failure=true;
        }
            if (b_failure)
                break;
        if (pt_patron[i].contribution>=10000)
            b_grandp=true;                   //we check if we have GREAT PATRON
        Fin.get();                           //take '\n' from input number pt_patron[i].contribution
    }
        if (true==b_grandp)
    {
        cout<<"GRAND PATRON\n";
    for (int i=0; i<i_size; i++)
        if (pt_patron[i].contribution>=10000)
        {
            cout<<pt_patron[i].fullname<<endl<<pt_patron[i].contribution<<endl;
            i_countp++;
        }
        if (i_countp<i_size)
        {
            cout<<"Patron\n";
    for (int i=0; i<i_size; i++)
        if (pt_patron[i].contribution<10000)
            cout<<pt_patron[i].fullname<<endl<<pt_patron[i].contribution<<endl;
        }
    }
    else
    {
        cout<<"Patron\n";
        for (int i=0; i<i_size; i++)
            cout<<pt_patron[i].fullname<<endl<<pt_patron[i].contribution<<endl;
    }
    }
    Fin.close();
    getch();
    delete [] pt_patron;       //??????????????? do not work
    return 0;
}
без delete [] pt_patron; работает с ним же пишет С2605 неопределенная переменная
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2012, 19:54     Почему не виден указатель?
Посмотрите здесь:

Почему нельзя объявить указатель на шаблонную структуру? C++
есть указатель на конец файла и он самоинициализируется, но не в месте объявления, а когда учавствует в условии. Почему так? C++
C++ Почему fseek не переводит указатель
Почему не возвращается значение через указатель из метода класса? C++
C++ Почему delete не устанавливает автоматически указатель в NULL?
C++ Почему не обнуляется указатель через функцию?
Подскажите почему указатель работает неправильно? C++
Почему плохо возвращать указатель из функции? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
29.06.2012, 20:01     Почему не виден указатель? #2
Перенеси 78 строку между скобками 74 и 75 строк.
Aliru777
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 71
29.06.2012, 20:04  [ТС]     Почему не виден указатель? #3
Спасибо!
Понял.
Yandex
Объявления
29.06.2012, 20:04     Почему не виден указатель?
Ответ Создать тему
Опции темы

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