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

Структура, запись из файла в массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перестановка чисел в массиве в обратном порядке. http://www.cyberforum.ru/cpp-beginners/thread197536.html
Прошу помогите!!! Надо решить 2 задачи по С++ !! Срочно!!! 1)написать функцию reverse. Параметр: массив из 100 чисел. Переставляет числа в массиве в обратном порядке. 2)Натуральное число в записи которого п цифр, называется числом Армстронга, если сумма его цифр, возведённая в степень п, равна самому числу. Найдите все числа Армстронга от 1 до k. Нужно сделать к субботе !! ПОМОГИТЕ...
C++ Выявить последовательность неубывающих цифр Задача:Дано некоторое число N. Выявить из этого числа максимальную последовательность неубывающих цифр. Пример: число 721589. в этом числе последовательность максимальных неубывающих цифр 589. Может кто помочь? :) http://www.cyberforum.ru/cpp-beginners/thread197519.html
C++ вопрос
здрасте всем ,хочу научиться программировать ,подскажите где взять среду с\с++ и с чего вообще начать обучение ,я чайник полный :)
C++ Структура
Описать структуру с именем tsMarsh,содержащую следующие поля: название начального пункта маршрута; название конечного пункта маршрута; номер маршрута. Еаписать программу,выполняющую следующие действия: созание массива структур; заполнение всех элементво массива структур в коде программы,кроме последнего элемента; последний элемент заполнить,запрашивая значения полей структуры у...
C++ строки http://www.cyberforum.ru/cpp-beginners/thread197496.html
Дана строка s, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв. Между соседними словами стоит запятая, за последним словом - точка. Напечатать все слова в алфавитном порядке.
C++ Поиск островов в матрице Есть матрица A: 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 1 | 2 | 2 | 3 | 3 | 0 | 1 | 3 | 3 | 3 | 3 | 3 | Необходимо подсчитать количество островов в матрице (соседние горизонтальные и вертикальные одинаковые числа) На примере 5 островов, помогите с алгоритмом, с чего начать и как проверять равенство чисел по горизонтали и/или по... подробнее

Показать сообщение отдельно
bLesk
41 / 41 / 1
Регистрация: 24.11.2009
Сообщений: 165

Структура, запись из файла в массив - C++

25.11.2010, 19:23. Просмотров 1123. Ответов 13
Метки (Все метки)

Всем привет, очень нуждаюсь в вашей помощи делаю лабу
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
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
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include <cstring.h>
#include <cstdlib.h>
#include <fstream>
 
const int n=10;
 
struct record
{
    char name[20];
    char capitol[20];
    double population;
} country[n] ;
 
 
 
//--------------------------------
void enter();
void show();
void search();
void del();
void input (int i);
//--------------------------------
void main()
{
 int l;
 do
  {
     cout <<"\n ";
     cout <<"\n 1)Enter \n 2)Show \n 3)Search \n 4)Delete \n 5)Exit \n ";
     cin >> l;
     switch(l)
      {
          case 1:
             enter();
             break;
          case 2:
             show();
             break;
          case 3:
             search();
             break;
          case 4:
             del();
             break;
          default:
             cout<<"\n You must use only : 1, 2, 3, 4 or 5 keys";
             cout<<"\n Try again :)";
             break;
      }
  }
  while(l!=5);
  getch();
}
 
//------------------------------------------------------
void enter ()
{
        int i;
        for(i = 0; i < n; i++)
                if(!*country[i].name) break;
        if(i == n)
        {
                cout << "List is full\n";
                return;
        }
 
        input(i);
}
//----------------------------------------------------------------
void input (int i)
{
 
        ofstream out;
        out.open("C:/результат.txt", ios::app);
 
        out << "\n -------------------------------------";
        cout << "Enter name of the country: ";
        cin >> country[i].name;
        out << "\n Name of the country:  "<< country[i].name;
 
        cout << "Enter capitol of the country: ";
        cin >> country[i].capitol;
        out << "\n Capitol of the country:  "<< country[i].capitol;
 
        cout << "Enter population of the country: ";
        cin >> country[i].population;
        out << "\n Population of the country:  "<< country[i].population;
        out << "\n -------------------------------------";
 
 
}
//---------------------------------------------------------------------
void show ()
{
        FILE *fp;
        char str[128];
        if ((fp = fopen("C:/результат.txt", "r"))==NULL)
                {
                 perror("C:/результат.txt");
                }
        while(!feof(fp)) {
        if(fgets(str, 126, fp)) printf("%s", str);
  }
 
  fclose(fp);
 
    /*  int t;
 
        for(t = 0; t < n; t++)
        {
                if(*country[t].name)
                {
                        cout << "\n -------------------------------------";
                        cout << "\n Name of the country: " << country[t].name;
                        cout << "\n Name of the capitol is: " << country[t].capitol;
                        cout << "\n Population: " << country[t].population;
                        cout << "\n -------------------------------------";
                }
        }          */
}
//-----------------------------------------------------------------
void search ()
{
        int i;
        char name [20];
 
        cout << "Enter name of the country: ";
        cin >> name;
 
        for(i = 0; i < n; i++)
 
                if(!strcmp (name, country[i].name))
                   break;
                        if(i == n)
                           {
                            cout << "\n Failed \n";
                            return;
                           }
                       {
                          cout << "\n Name of the country: " << country[i].name;
                          cout << "\n Name of the capitol is: " << country[i].capitol;
                          cout << "\n Population: " << country[i].population;
                       }
}
//------------------------------------------------------------------------
void del ()
{
        int i;
        record *temp;
        char name [20];
 
        cout << "Enter name of the country: ";
        cin >> name;
 
        for(i = 0; i < n; i++)
 
                if(!strcmp (name, country[i].name))     break;
 
                        if(i == n)
                           {
                            cout << "\n Failed \n";
                            return;
                           }
                         {
                     *country[i].name = '\0';
                     *country[i].capitol = '\0';
                     country[i].population ='\0';
                     cout<<"\n Elemet was deleted ^^";
                        }
}
и кое что мне не понятно, в общем функция search проверяет элемент на его принадлежность структуре, и когда я с клавиатуры ввожу данные в массив она отлично справляется (т.е. когда все данные в памяти), но вот когда закрываю программу и запускаю снова, данные которые находятся в файле на принадлежность проверить не получится, тк ф-я ищет по массиву! в общем помогите либо как то заставить считывать прогу из файла так, чтобы не исправлять ф-ю search, либо как-то иначе осуществлять поиск элемента, хотя другим способом я даже предположить не могу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru