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

Работа с файлами (считать очередь, вывести на экран, дополнить ее элементами и перезаписать в фай) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ошибка realloc C++ http://www.cyberforum.ru/cpp-beginners/thread891441.html
Как изменить размер выделенной памяти? (например выделено 15 байт, как в C++ увеличить размер выделенной памяти("перераспределить")) в c++ realloc выдает ошибку.
C++ нужно наисать main часть Основное требование – в примере должно быть продемонстрировано использование всех методов класса. В одном из примеров объект конкретизированного класса должен создаваться в динамической памяти. ... http://www.cyberforum.ru/cpp-beginners/thread891436.html
C++ в чем ошибка ?
Написать программу, выполняющую циклический сдвиг всех элементов массиваа1, а2, ..., ап на одну позицию влево, т.е. будет получен новый массива2, а3, ..., а n, а1. вот код #include <stdio.h>...
C++ If else
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main() { double a,b,x,y; cout<<"Input a,b,x"<<endl;
C++ Напишите функцию printbyte(unsigned char x) http://www.cyberforum.ru/cpp-beginners/thread891426.html
Напишите функцию printbyte(unsigned char x) (можно использовать из примера в материале), печатающую данный байт побитово. Реализуйте шаблон template <typename T> print (T A) который печатает...
C++ Задача на очередь Задача звучит так: В больницу приходят определенное кол-во больных, тяжело больные обслуживаются в первую очередь, затем - легко. Тяжело больные обслуживаются 20 - 30 мин, а легко - 10 -20 мин. С... подробнее

Показать сообщение отдельно
Quzya
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 19

Работа с файлами (считать очередь, вывести на экран, дополнить ее элементами и перезаписать в фай) - C++

04.06.2013, 23:26. Просмотров 333. Ответов 1
Метки (Все метки)

Есть очередь, записаная в файле. Нужно считать ее, вывести на екран, дополнить ее елементами и перезаписать в файл. Я так делаю, но файл не перезаписывается, а продолжается. Помогите чтоб, содержимое удалялось старое.
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
#include "stdafx.h"
#include <fstream>
#include <iostream> 
#define N 15
using namespace std; 
class situation{ };
template <class T>
 
class queue 
        {
            T * mas[N]; 
            public:
            int n;
                    queue(){n=0;}
                    ~queue(){ for(int i=0; i<n; i++) free(mas[i]); } 
    void add(T a) 
        {
            if(n>=N){
                throw situation();
                }
                mas[n]=new T; *mas[n++]=a; 
        }
        
    
    void del(int k) 
                {
                    if(k<n) { free(mas[k]); for(int i=k; i<n-1; i++) mas[i]=mas[i+1]; n--; }
                        else cout << " Element #"<<k<<" ne isnue!" << endl; 
                }
 
 
            void del1() 
                {
                     free(mas[n]); for(int i=n; i<n-1; i++) mas[i]=mas[i+1]; n--; 
        
                }
 
                    void print () {
                        FILE *pa;
    pa=fopen("D:\\oop\\l6read.txt", "a");
 
                    int i=0;
                    //fprintf(pa,"\n Nova 4epra: \n");
                        for( i=0; i<n; i++){
 
                                                    cout << *mas[i] << " "; 
                                                        fprintf(pa,"%c", *mas[i]);
                                                    //  fprintf(pa,", ");
                                                    
                        }
                        fclose(pa);
                                                        cout << endl;
                    
                        cout <<"Kilkitcb elementiv v 4ep3i = "<<n<<endl;}
                
        };
int main ()
    {
        queue <char> y; 
        
                char b=' ';
                cout << "\n Elementi 3 faila: \n";
            
                ifstream f("D:\\oop\\l6read.txt");
                int i=0;
                while (b!=';')
                { 
                    f >> b;
                    
                y.add(b);
                i++;
                cout<<b<<endl;
                } 
                
                y.del(y.n-1); 
 
 
        char a=' ';
        
    cout << "\n Vvedit  elementi: ";
                for(int i=0; i <100; i++)
                while (a!=';')
                try {
                 cin >> a;
                 y.add(a);
            
                }
                catch (situation){
                    cout <<"\n Cherha perepovnena!"<< endl;
                                
} 
                
                cout << "\n Vyluchaemo octanui element: ";
                
 
 
                cout << "\n Nova cherha: ";
                y.print();
            
                
system("pause");
            return 0;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru