Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 3
1

ошибка в выводе инфы из файла

26.12.2009, 16:36. Показов 753. Ответов 3
Метки нет (Все метки)

Почему выводит две строчки (одну не существующую)
ЗЫ Чет с поиском не врубаюсь...как сделать так что если (по условию) два абонента, то как их вывести?
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
#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <string.h>
using namespace std;
 
struct ats //структура с типом данных ats состоящяя из 4х элементов типа char, unsigned, int
{
  char Date[12];
  char CityCode[20];
  unsigned SpeakTime; //--Модификатор типа unsigned указывает, что переменная принимает неотрицательные значения
  int Tarif;
  char Number[15];
};
 
 
//fstream fio("ats.txt",ios::out|ios::in|ios::app);
 
void Zapis(ats*);
void Chtenie(ats*);
void Poisk(ats*);
 
int main()
{
   //-----Меню-----
    ats a;
    int button=0;
    do
    {
        cout <<"Enter 1 4tobu nocmotper' unfopmacuy o abonentax"<<endl;
        cout <<"Enter 2 4to6u dobavit' abonentov v bazy "<<endl;
        cout <<"Enter 3 vvesti orpanu4enua "<<endl;
        cout <<"Enter 4 for vuxod "<<endl;
        cin >>button;
 
    switch(button)
    { 
    case 1: Chtenie(&a);break; 
    case 2: Zapis(&a);break; 
    case 3: Poisk(&a);break;
    case 4: exit(-1);break; 
    default : cout<<"Enter right number!"<<endl;break; 
    };
    }
    while(button!=0); //этот цикл будет работать пока значение переменной button не будет равно 0
    return 0;
}
//--------конец меню---------
 
 
 
void Zapis(ats*a) //---функция записи в файл
{ 
 
    ofstream fio("ats.txt",ios::out|ios::app);
 
            if (!fio)
            cout << "Error!"<<endl;
 
            
        cout <<"Enter date: "<<endl;
        cin >>a->Date;
        cout <<"Enter code: "<<endl;
        cin >>a->CityCode; 
        cout <<"Enter vpem9 pa3rovopa"<<endl;
        cin >>a->SpeakTime;
        cout <<"Enter tariff: "<<endl;
        cin >>a->Tarif;
        cout <<"Enter the number abonenta: "<<endl;
        cin >>a->Number;
 
 
        fio<<a->Date<<" "<<a->CityCode<<" "<<a->SpeakTime<<" "<<a->Tarif<<" "<<a->Number<<endl;
 
 
 
        fio.close();
        fio.clear();
}
 
 
void Chtenie(ats*a) //----функция чтения из файла
{ 
    cout <<endl;
    ifstream fout("ats.txt", ios::in);
 
        if (!fout)
        cout << "Error!"<<endl;
 
 
    while(!fout.eof()) //цикл работает до тех пор пока не закончится файл
    {
    fout >>a->Date;
    fout >>a->CityCode; 
    fout >>a->SpeakTime;
    fout >>a->Tarif;
    fout >>a->Number;
 
    cout <<"Data: " << a->Date << " kod goroda: " <<a->CityCode<< " vpem9 pa3rovopa: "<<a->SpeakTime<< " tarif: "<<a->Tarif<<" nomer telefona: "<<a->Number<<endl;
 
    }
    
 
fout.close();
fout.clear(); 
 
}
 
void Poisk(ats*a) //------функия поиска по файлу
{
 
    ifstream fout("ats.txt");
 
    unsigned Time,Sum=0;
 
    cout <<"Vvedute orpanu4enue vremenu razgovorov "<<endl;
    cin >>Time;
 
 
 
    if (a->SpeakTime>Time)
        {
        do
        {
            fout >>a->Number, a->SpeakTime, a->Tarif;
        }
        while(fout.eof());
        
            Sum=a->SpeakTime*a->Tarif;
            
 
 
        
            cout <<"Nomer abonenta-> "<< a->Number<< endl;
            cout <<"Cymma no tarify-> "<< Sum<< endl;
        
        }
 
    else
        { 
            cout<<"Takux abonentov net!"<<endl;
    
        }
    
 
 
    fout.close();
    fout.clear();
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2009, 16:36
Ответы с готовыми решениями:

Ошибка, при считывании инфы с файла...
Вот есть код:#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;fstream.h&gt;...

Пауза в выводе инфы в Memo
Доброго времени суток всем. Есть у меня такая задача. В компонент Memo выводятся данные с порта...

Порядковый номер в GridView при выводе инфы из текста
Здравствуйте. Вывожу данные из файла в dataGridView таким вот образом: // массив данных из файла...

Ошибка в выводе файла С++
Добрый день, подскажите пожалуйста в чем загвоздка: Файл: R0_11 0 11 1 .PRINT TRAN I(R0_11)...

3
372 / 286 / 97
Регистрация: 17.12.2009
Сообщений: 567
27.12.2009, 12:44 2
вот как можно много записей сделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
main()
{
     ats array[n];
     for (int i=0;i<n;i++)
     {
          Zapis(&array[i]);//функция для заполнения полей записи, надо в неё значение передавать по ссылке.
      }
      for (int i=0;i<n;i++)
      {
           print(array[i]);
      }
}
void print(const ats a)
{
    cout << Date << " "<< CityCode;
}
структуру файла с записями можно посмотреть? а то так вроде все нормально
0
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 3
28.12.2009, 00:25  [ТС] 3
Благодарю)
А вот с ошибочкой как? =(
0
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 3
08.01.2010, 19:49  [ТС] 4
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
//---------Курсач---------
#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <string.h>
using namespace std;
 
struct ats //структура с типом данных ats состоящяя из 4х элементов типа char, unsigned, int
{
  char Date[12];
  char CityCode[20];
  unsigned SpeakTime; //--Модификатор типа unsigned указывает, что переменная принимает неотрицательные значения
  int Tarif;
  char Number[15];
};
 
 
//fstream fio("ats.txt",ios::out|ios::in|ios::app);
 
void Zapis(ats*);
void Chtenie(ats*);
void Res(ats*); // restrictions-сравнение
 
int main()
{
   //-----Меню-----
    ats a;
    int button=0;
    do
    {
        cout <<"Enter 1 4tobu nocmotper' unfopmacuy o abonentax"<<endl;
        cout <<"Enter 2 4to6u dobavit' abonentov v bazy "<<endl;
        cout <<"Enter 3 vvesti orpanu4enua "<<endl;
        cout <<"Enter 4 for vuxod "<<endl;
        cin >>button;
 
    switch(button)
    { 
    case 1: Chtenie(&a);break; 
    case 2: Zapis(&a);break; 
    case 3: Res(&a);break;
    case 4: exit(-1);break; 
    default : cout<<"Enter right number!"<<endl;break; 
    };
    }
    while(button!=0); //этот цикл будет работать пока значение переменной button не будет равно 0
    return 0;
}
//--------конец меню---------
 
 
 
void Zapis(ats*a) //---функция записи в файл
{ 
 
    ofstream fio("ats.txt",ios::out|ios::app);
 
            if (!fio)
            cout << "Error!"<<endl;
 
            
        cout <<"Enter date: "<<endl;
        cin >>a->Date;
        cout <<"Enter code: "<<endl;
        cin >>a->CityCode; 
        cout <<"Enter vpem9 pa3rovopa"<<endl;
        cin >>a->SpeakTime;
        cout <<"Enter tariff: "<<endl;
        cin >>a->Tarif;
        cout <<"Enter the number abonenta: "<<endl;
        cin >>a->Number;
 
 
        fio<<endl<<a->Date<<" "<<a->CityCode<<" "<<a->SpeakTime<<" "<<a->Tarif<<" "<<a->Number;
 
 
 
        fio.close();
        fio.clear();
}
 
 
void Chtenie(ats*a) //----функция чтения из файла
{ 
    
    ifstream fout("ats.txt", ios::in);
 
        if (!fout)
        cout << "Error!"<<endl;
 
 
    while(!fout.eof()) //цикл работает до тех пор пока не закончится файл
    {
    fout >>a->Date;
    fout >>a->CityCode; 
    fout >>a->SpeakTime;
    fout >>a->Tarif;
    fout >>a->Number;
 
    cout <<"Data: " << a->Date << " kod goroda: " <<a->CityCode<< " vpem9 pa3rovopa: "<<a->SpeakTime<< " tarif: "<<a->Tarif<<" nomer telefona: "<<a->Number<<endl;
 
    }
    
 
fout.close();
fout.clear(); 
 
}
 
void Res(ats*a) //------функия ограничения
{
 
        ifstream fout("ats.txt"); //потоk чтения
        
        if (!fout) 
        cout << "Error!"<<endl;
 
        unsigned Time,Sum=0;
        
        ats array[n];
        for (int i=0;i<n;i++)
        {
 
        cout <<"Vvedute orpanu4enue vremenu razgovorov "<<endl;
        cin >>Time;
        }
                do
                {
                        fout >>a->Number, a->SpeakTime, a->Tarif;
                }
                while(!fout.eof());
 
        if (a->SpeakTime>Time)
                
        
        
    {
                Sum=a->SpeakTime*a->Tarif;
 
    
                
         cout <<"Nomer abonenta-> "<< a->Number<< endl;
                cout <<"Cymma no tarify-> "<< Sum<< endl; 
                
            }
 
                
 
        else
                { 
                        cout<<"Takux abonentov net!"<<endl;
        
                }
        
 
 
        fout.close();
        fout.clear();
}

Нужно сделать чтоб несколько абонентов выводило в последней функции (цикл по условию? Оо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2010, 19:49

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Ошибка при выводе строк из файла
Помогите пожалуйста разобраться в чем ошибка. Весь код писать не буду просто покажу как я вношу...

Ошибка при вводе - выводе из файла
Почему пишет не найдет файл (в проге ассигн,ресет, реврайт стоит на него) создаю его вручную -...

Ошибка при выводе бинарного файла
Добрый день! Ошибка вот в чем: при сортировке массива, в одну ячейку StringGrid вставляет две...

Ошибка при выводе файла на озвучку
Здравствуйте товарищи, есть проблема. Пытаюсь вывести файл на озвучку, в проге присутстует...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.