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

не обновляется програма когда нажимаю X??? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Синхронизация потоков http://www.cyberforum.ru/cpp-beginners/thread127399.html
Разработать многопоточную программу, отображающую на экране взаимодействие трех нитей "читателей" из общей области данных и трех "писателей", записывающих в этот буфер данные. Буфер предназначен для хранения 12 символов. Первая нить-писатель выводит в буфер данные в латинском алфавите прописными буквами, вторая нить-писатель выводит в буфер данные в латинском алфавите строчными буквами, третья...
C++ Структуры в c++. Исправление кода Требуется описать структуру с именем PRICE, содержащую следующие поля: -название товара; -название магазина, в котором продается товар; -стоимость товара. Написать программу,выполняющую следующие действия: -ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE; записи должны быть рамещены в алфавитном порядке по названиям товаров; -вывод на экран информации о товаре,... http://www.cyberforum.ru/cpp-beginners/thread127375.html
Передать массив в функцию C++
Здрасти. Знаю что таких тем навалом,но я что-то не понял. допустим есть массив mas я передаю его в функцию func(...). в этой функции к каждому элементу массива прибавляется 1. я не понимаю как передать массив в функцию и в этой функции обращаться к элементам массива.
C++ Составить программу,которая вычисляет сумму элементов массива, которые расположены между максимальным и минимальным элементами.
Составить программу,которая вычисляет сумму элементов неупорядоченного целочисленного массива М, который состоит из 12 чисел, которые не повторяются, расположенных между ёё максимальным и минимальным элементами.
C++ В текстовом массиве, посчитать сумму длин элементов, стоящих на четных местах http://www.cyberforum.ru/cpp-beginners/thread127358.html
В текстовом масиве, пощитать суму длин елементов што стоят на парных местах
C++ Создать переменную с параметрами Незнаю как назвать это)) Как создать такую переменную, чтобы вот допустим: есть переменная var, а ей надо присвоить параметры какие то, тоесть чтобы можно было сделать так: var->param1 = 9; var->param2 = 3; var->param3 = 2; var->param4 = "ololo"; var->param5 = "fdfjwkfen"; подробнее

Показать сообщение отдельно
pqi
0 / 0 / 0
Регистрация: 17.02.2010
Сообщений: 35
10.05.2010, 10:13     не обновляется програма когда нажимаю X???
посмотрите какие у меня ощибки, если можно исправте сразу, а то мозг плавиться \\\\\\:
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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
#include <cstdlib>
#include <iostream>
#include <fstream> 
#include <iomanip>
#include <conio.h>
 
using namespace std;
//============================================================================== ABSTRAKTI KLASE ABSPERSON
class absperson{
   private:   
      string var, pav, miestas; unsigned long int tel; int plaukia; char lytis;
   public:
      absperson():var(""), pav(""), miestas(""), tel(0), plaukia(0), lytis(' '){} //******** KONSTRUKTORIUS
      void ivedimas(string v, string p, string m, unsigned long int t, int k, char l)
      {var = v; pav = p; miestas = m; tel = t; lytis = l;}
      void isvedimas() //******************************************************* EILUTES ISVEDIMAS
      {   
          cout << std::left << setw(14) << var << setw(17) << pav;
          cout << std::left << setw(16) << miestas << setw(16) << tel << setw(16) << plaukia;
          if (lytis == 'v') {cout << "Vyr";} else {cout << "Mot";}   
      }
      void isvedimas(fstream &byla) //****************************************** EILUTES ISVEDIMAS I FAILA
      {byla << var << " " << pav << " " << miestas << " " << tel << " " << plaukia << " " << lytis;}
      string get_var() {return var;}   
      string get_pav() {return pav;}
      string get_miestas() {return miestas;}
      unsigned long int get_tel() {return tel;}
      int get_plaukia() {return plaukia;}
      char get_lytis() {return lytis;}  
};
//============================================================================== KLASE CLASS_PERSON
class class_person:public absperson{
   private:   
      string var, pav, miestas; unsigned long int tel; int plaukia; char lytis;
   public:       
      class_person():var(""), pav(""), miestas(""), tel(0), plaukia(0), lytis(' '){} //***** KONSTRUKTORIUS 
      class_person(fstream &byla) //******************************************** KONSTRUKTORIUS 
      {
          byla >> var; byla >> pav; byla >> miestas; byla >> tel; byla >> plaukia; byla >> lytis;
          absperson::ivedimas(var, pav, miestas, tel, plaukia, lytis);
      } 
      ~class_person(){}; //***************************************************** DESTRUKTORIUS
      void duomenu_isvedimas(fstream &byla) //********************************** ISVEDIMAS I FAILA
      {byla.seekg(0, ios::end); absperson::isvedimas(byla); byla << endl;}
};
//============================================================================== KLASE RIKIAVIMAS 
class rikiavimas{
      class_person tmp;
   public: 
      rikiavimas():tmp(class_person()){} 
      void sort_pav(class_person person[], int kiek, char x)
      {
           int i, max; bool done = false; string a, b;
           do {
              done = true;
              for(i=0; i<kiek-1; i++)
              {
                   switch (x){
                          case 'q': a = person[i].get_pav();
                                    b = person[i+1].get_pav();
                                    break;
                          case 'w': a = person[i].get_miestas();
                                    b = person[i+1].get_miestas();
                                    break; }          
                   if(a > b)
                     {
                          tmp = person[i];
                          person[i] = person[i+1];
                          person[i+1] = tmp;
                          done = false;
                     }
              }     
           }
           while (done != true);}
};                       
//============================================================================== FUNKCIJOS 
void pildymas(class_person person[], int kiek, fstream &byla) //**************** NAUJO IRASO PRIDEJIMAS
{
     system("cls"); string v, p, m; char l; unsigned long int t; int k;
     cout << endl << "  -------------------------- Naujo iraso pridejimas --------------------------" << endl;
     cout << endl << "  Iveskite varda: "; cin >> v;
     cout << "  Iveskite pavarde: "; cin >> p;
     cout << "  Iveskite miesta: "; cin >> m;
     cout << "  Iveskite telefono numeri: "; cin >> t;
     cout << "  Iveskite plaukimo greiti: "; cin >> k;
     cout << "  Iveskite lyti (v - vyriska, m - moteriska): "; cin >> l;
     person[kiek].ivedimas(v, p, m, t, k, l);
     person[kiek].duomenu_isvedimas(byla);
     byla << endl;
}
void trinimas(class_person person[], int kiek, int sk, fstream &byla)
{ 
       int i; sk--;
       for(i=sk; i<kiek; i++) {person[i] = person[i+1];}
       person[kiek].~class_person();  //**************************************** DESTRUKTORIUS
       for(i=0; i<kiek-1; i++) {person[i].duomenu_isvedimas(byla);}
}
void pagr_lentele()
{
     system("cls"); 
     cout << endl << "                           A d r e s u   K n y g u t e                " << endl;
     cout << "  ----------------------------------------------------------------------------------------------" << endl;
     cout << "   Nr | Vardas      | Pavarde        | Miestas       | Telefonas    | plaukimo gretis | Lytis   " << endl;
     cout << "  ----------------------------------------------------------------------------------------------" << endl;
     cout << endl;
} 
void pagalba()
{
     cout << endl;
     cout << "  ----------------------------------------------------------------------------" << endl;
     cout << "   A - Prideti irasa | D - Pasalinti irasa | S - Paieska | F - Rodyti lyti    " << endl;
     cout << "   Q - Rusiavimas pagal pavarde | W - Rusiavimas pagal adresa | X - Perkrauti " << endl;
     cout << "  ----------------------------------------------------------------------------" << endl;
} 
int main()
{ 
    string line; int i, kiek = -1; fstream in_kiek, in;
    in_kiek.open("adresu_knygute.txt");
    while (! in_kiek.eof() ){getline(in_kiek, line); kiek++;} //**************** SUSKAICIUOJA KIEK IRASU
    in_kiek.close();
    restore:
    in.open("adresu_knygute.txt");
    class_person *person; rikiavimas sort; 
    try {person = new class_person[kiek+1];} 
    catch(bad_alloc xa) {return 1;}
    pagr_lentele();
    for(i=0; i<kiek; i++)
    {
         person[i] = class_person(in);
         cout<<std::right<<setw(5)<<i+1<<"   ";
         person[i].isvedimas();
         cout << endl;
    }
    pagalba();
    in.close();
    char key; bool error = false;
    cout << "   ";
    while(key != '*')
    {
         key = _getch();
         cia:
         pagr_lentele();
         for(i=0; i<kiek; i++){cout<<std::right<<setw(5)<<i+1<<"   "; person[i].isvedimas(); cout << endl;}
         pagalba();
         if(key == 'a') //****************************************************** PRIDEJIMAS
         {
                fstream in;
                in.open("adresu_knygute.txt", ios::in | ios::out);
                pildymas(person, kiek, in);
                in.close();
                kiek++; error = false;
                key = ' '; goto restore;
         }
         else 
         if(key == 'd') //****************************************************** SALINIMAS
         {
                int sk;
                cout << "   Iveskite iraso numeri, kuri norite pasalinti: ";
                cin >> sk;
                in.open("adresu_knygute.txt", ios::out); //********************* ISTRINA BYLOS TURINI
                in.close();
                in.open("adresu_knygute.txt", ios::out | ios::in);
                trinimas(person, kiek, sk, in);
                in.close();
                kiek--; key = ' '; goto cia; 
         } 
         else 
         if(key == 'q' || key == 'w') //**************************************** RIKIAVIMAS
         {sort.sort_pav(person, kiek, key); key = ' '; goto cia;}
         else 
         if(key == 'f') //****************************************************** PAGAL LYTI
         {
                 cout << "   Spauskite M, jei norite matyti tik moteris arba V - tik vyrus";
                 key = _getch();
                 pagr_lentele();
                 int j = 0;
                 for(i=0; i<kiek; i++)
                 {  
                       if(key == 'm'){if(person[i].get_lytis() == 'm') 
                       {cout<<std::right<<setw(5)<<j+1<<"   "; j++; person[i].isvedimas(); cout << endl;}}
                       else{if(person[i].get_lytis() == 'v') 
                       {cout<<std::right<<setw(5)<<j+1<<"   "; j++; person[i].isvedimas(); cout << endl;}}
                 }
                 pagalba(); cout<<"   "; key = _getch(); goto cia;      
         } 
         else 
         if(key == 's') //****************************************************** PAIESKA
         {
                 system("cls");
                 cout << endl << "  ----------------------------- Iraso paieska --------------------------------" << endl;
                 cout << endl << "   V - pagal varda"; 
                 cout << endl << "   P - pagal pavarde";   
                 cout << endl << "   M - pagal miesta";   
                 cout << endl << "   T - pagal telefono numeri";
                 cout << endl << endl << "   ";                                                              
                 key = _getch(); 
                 string ieskoti, ieskomas; int i, j = 0; long int nr; bool rasta = false;
                 switch (key){
                      case 't':                    
                          cout << "Iveskite telefono numeri: ";  cin >> nr;
                          pagr_lentele();
                          for(i=0; i<kiek; i++) 
                          if(nr == person[i].get_tel()) 
                          {
                              cout<<std::right<<setw(5)<<j+1<<"   "; j++;
                              person[i].isvedimas(); 
                              cout << endl;
                              rasta = true;
                          }
                          break;        
                      case 'p':cout << "Iveskite pavarde: "; cin >> ieskoti; break;
                      case 'v':cout << "Iveskite varda: "; cin >> ieskoti; break;
                      case 'm':cout << "Iveskite miesta: "; cin >> ieskoti; break;}                    
                      if (rasta != true && key != 't') 
                      {pagr_lentele();
                      for(i=0; i<kiek; i++) 
                      {
                         switch (key){
                         case 'p':ieskomas = person[i].get_pav(); break;
                         case 'v':ieskomas = person[i].get_var(); break;
                         case 'm':ieskomas = person[i].get_miestas(); break;}
                         if(ieskoti == ieskomas) 
                         {
                           cout<<std::right<<setw(5)<<j+1<<"   "; j++;
                           person[i].isvedimas(); 
                           cout << endl;
                           rasta = true;
                         }
                      }}
                 if (rasta == false) cout << "   Tokio iraso nera!" << endl;
                 pagalba(); cout<<endl<<"   "; key = _getch(); goto cia;      
         } 
         else if(key == 'x') {key = ' '; goto restore;}
         else if(key != ' ') {error = true;} else {error = false;}
         if(error == true) {cout << "   Tokios funkcijos nera! ";} else {cout << "   ";}
    }
    
    delete []person;
    for(i=0; i<kiek; i++){person[i].~class_person();}
    sort.~rikiavimas();
    return EXIT_SUCCESS;
}
Добавлено через 4 минуты
главноя пречина что не вводяться данные в програме и не обновляетсья при нажатии кнопки X.
но создав текст файл "adresu_knygute.txt", все вводимые данные там показывает /////:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru