Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
demigod324
4 / 2 / 2
Регистрация: 17.03.2013
Сообщений: 106
0

Построить однонаправленный список из элементов файла

01.06.2014, 20:08. Просмотров 196. Ответов 0
Метки (Все метки)

Мне нужно было составить программу, которая строит однонаправленный список из элементов файла. Элементы списка вывести на экран.
Сделал вот так:
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <ComObj.hpp>
#pragma hdrstop
#include "Unit1.h"
 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
struct Spisok //Структура список
{
    int x;
    Spisok *next;
};
typedef Spisok *PSpisok;
PSpisok Beg, End, p;
 
TForm1 *Form1;
 
void add (PSpisok &O, int x) //Добавление нового элемента
{
    PSpisok NewSpisok;
    NewSpisok = new Spisok;
    NewSpisok -> x = x;
    NewSpisok -> next = NULL;
    if (End)
    End -> next = NewSpisok;
    End = NewSpisok;
    if (Beg == NULL)
    Beg = End;
}
 
void output(PSpisok Beg) //Вывод списка
{
    PSpisok q = Beg;
    int j = 0;
    while (q != NULL)
    {
        Form1 -> StringGrid2 -> Cells[j][0] = IntToStr(q -> x);
        q = q -> next;
        j++;
    }
};
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
//Кнопка для добавления элемента
{
    int x;
    int i;
    x = StrToInt(Edit1 -> Text);
    add(p, x);
    StringGrid1 -> Cells[i][0] = IntToStr(x);
    i++;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
//Кнопка для загрузки из файла
{
    Variant var_Excel, var_Sheet;
    int Row_Counter = 0, Column_Counter = 0, Max_Column = 2, Max_Row = 15;
    WideString st;
    if (!OpenDialog1->Execute()) return;
 
    Edit2 -> Text = OpenDialog1 -> FileName;
    st = Edit2 -> Text;
 
    var_Excel = CreateOleObject("Excel.Application");
    var_Excel.OlePropertyGet("Application").OlePropertyGet("Workbooks").OleProcedure("Open", st);
    var_Excel.OlePropertySet("Visible", false);
    var_Sheet = var_Excel.OlePropertyGet("ActiveSheet");
 
    for (Row_Counter; Row_Counter <= Max_Row; Row_Counter++)
    {
      for (Column_Counter; Column_Counter <= Max_Column; Column_Counter++)
          {
           StringGrid2->Cells[Column_Counter][Row_Counter] =
               var_Sheet.OlePropertyGet("Cells").OlePropertyGet("Item", Row_Counter + 1, Column_Counter + 1);
          }
          Column_Counter = 0;
    }
 
    var_Excel.OlePropertyGet("Application").OleProcedure("Quit");
    var_Sheet = Unassigned;
    var_Excel = Unassigned;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
//Кнопка для вывода списка
{
    output (Beg);
}
//---------------------------------------------------------------------------
Если составлять список сразу и выводить его на экран, то всё нормально. Но если загружать из файла, то отображаются только первые 3 элемента. Помогите исправить данную ошибку.

Вернуться к обсуждению:
Построить однонаправленный список из элементов файла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 20:08
Готовые ответы и решения:

Построить однонаправленный список из элементов файла
Помогите составить программу, которая строит однонаправленный список из элементов файла. Элементы...

Реализуйте однонаправленный список.Режим сортировки элементов списка без перестановки самих элементов
Реализуйте задание .В каждом из вариантов должно быть реализованы следующие режимы работы:...

Считать числа из файла в линейный однонаправленный список
С++ Дан файл с цифрами. Надо занести их в линейный однонаправленный список и после макс элемента...

Добавление элементов в однонаправленный список
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; struct...

Линейный односвязный (однонаправленный) список, запись и чтение из файла
нужна помощь в организации чтения и записи списка из файла, #include &lt;iostream&gt; #include &lt;string&gt;...

0
Другие темы раздела
C++ Строки в С++ http://www.cyberforum.ru/cpp-beginners/thread1195814.html
Ребят кто нибудь знает как это сделать? Выполнить работу со строками согласно варианту. Строки вводить с клавиатуры и из заранее созданного текстового файла. Результаты выводить на экран. Вариант...
C++ Описать Функцию RadToDeg(R) вещественного типа, находящую величину угла в градусах Описать Функцию RadToDeg(R) вещественного типа, находящую величину угла в градусах, если дана его величина R в радианах ( R- вещественное число, 0<R<2pi) Воспользоваться следующим соотношением:... http://www.cyberforum.ru/cpp-beginners/thread1195810.html
C++ Дана строка. словом считается последовательность латинских букв. Оставить слова начинающиеся с заглавной буквы
#include <iostream> #include <cstring> using namespace std; int main() { char string; char result=""; char *token;
Методы получения значения элемента контейнера (лист) C++
class flat { protected: int price; int metric; int square; int number_room; string adres; string city; string area;
C++ Описать процедуру http://www.cyberforum.ru/cpp-beginners/thread1195802.html
Описать процедуру DigitCountSum(K,C,S), находящую количество С цифр целого положительного числа К, а также их сумму S(K- входной, С, S- выходные параметры целого типа). С помощью этой процедуры...
C++ Ежедневник. С чего начать? Нужно написать курсовую работу на тему ежедневник. Помогите пожалуйста с чего начать и как легче ее сделать? Какие компоненты еще нужны, кроме monthcalendar? Чтобы можно было редактировать записи и... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru