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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
#1

файлы в Вижуал студио - C++

03.06.2010, 15:36. Просмотров 911. Ответов 8
Метки нет (Все метки)

крч. надо доделать код, что бы он открывал фаил, и удалял элементы в файле. и что бы можно было вручную задать фаил, а потом от туда удалить элементы. а то у меня не получается

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
243
244
245
246
247
248
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <fstream>
#include <iomanip>
using namespace std;
 
void input_file_name(char* nn,int size_fn);
 
int _tmain(int argc, _TCHAR* argv[])
{
int action;
    int n, *pmas, b, l, *pmas2;
    int diapazon,minnum;
    unsigned int r;
    const int nn=20;
    char fname[nn];
    ofstream fout;
    ifstream fin;
 
    
    char cont;
    b=0;
    do
    {
        
        cout<<"\n1 - Create and initialize massive\n";
        cout<<"2 - Show massive\n";
        cout<<"3 - udalenie elimentov\n";
        cout<<"4 - sozdatj fail\n";
        cout<<"5 - otkritj fail\n";
        cout<<"0 - EXIT\n";
 
        cin>>action;
        cin.get();
        
        switch (action)
        {
            
           case 1:
        b=1;
 
        r=time(NULL)%32767;
        srand(r);
        cout<<"diapazon=?";
        cin>>diapazon;
        cin.get();
        cout<<"min. number=?";
        cin>>minnum;
        cin.get();
 
        cout<<"size of massive=?";
        cin>>n;
        cin.get();
 
    pmas = new int[n];
 
            for(int i=0;i<n;i++)
        *(pmas+i)=(int)rand()/32767.0*diapazon+minnum;
    cout<<'\n';
            break;
 
                    case 2:
                        if (b == 0)
                    cout<<"\nMassive not create\n";
                        else
                        {
        for(int i=0;i<n;i++)
        cout<<(pmas+i)<<'\t'<<*(pmas+i)<<'\n';
                        }
    break;
                    case 3:
                    if (b == 0)
                    {
                    cout<<"\nMassive not create\n";
                    }
 
            else
            {
                {
 
                    cout<<"skoljko elimentov udalitj=?";
        cin>>l; 
                        if(n<l)
                        {
                        cout << endl;   
                        cout <<"v massive menj6e 4isel ili stoljko ze skoljko vi xotite udalitj, zadajye NOVIJ massiv";
                        cout << endl;}
                        else
                        {
    
                    
    int imin,temp,u;
    int *tm;
    for(int i=0;i<l;i++)
    {
        imin=0;
        for(int j=0;j<n-i;j++)
        {
            if(*(pmas+j)<*(pmas+imin))
                imin=j;
        }
        tm = new int[n-i-1];
        u=0;
        for(int j=0;j<n-i;j++){
            if(j==imin)
                u=1;
            else *(tm+j-u)=*(pmas+j);
        }
        
        //delete [] pmas;
        pmas=tm;
    }
    n=n-l;
    cout<<'\n';
                        }
                }
                    }
                    break;
                
        case 4:
             input_file_name(fname,nn);
            fout.open(fname);
            int c;
            if (fout.good()==false)
            {               
            cout<<"Can't open file for writing!";
            cin.get();
            fout.close();
            fout.clear();
            }
 
            else
            {           
            for (int i=0;i<n;i++)
            {                                                   
                    fout<<setw(8)<<pmas[i];
                
                fout<<"\n";
            }
            fout.close();
            }
        break;
        case 5:
                    /*input_file_name(fname,nn);
            fin.open(fname);
            
            if (fin.good()==false)
            {               
            cout<<"Can't open file for writing!";
            cin.get();
            fin.close();
            fin.clear();
            }
            else
            {
                int k=0,a=0,m;
                fin>>a;
            
                
                if(fin.eof())
                {
                    cout<<fname<<"-- empty!";
                    cin.get();
                    fin.close();
                    fin.clear();
                }
                else
                {
                  while(fin.eof()==false)
                    {  
                    k++;
                    cout<<setw(8)<<a<<'\n';;
                    m=k % 6;
                    if (m==0)
                    cout<<endl;
                    fin>>a;
                    }
                  fin.close();
                  if (fin.eof())
                    {               
                        
                    cout<<"End of file at reading!";
                    cin.get();
                    fin.close();
                    fin.clear();
                    }
                }
            }*/
        cout<<"Enter the name of input file: ";
            cin.getline(fname,nn);
            if (cin.fail()==true)       
            {
            cin.clear();
            while (cin.get()!='\n');
            }
            fin.open(fname); //otkrivaem  fail fname
            if (fin.good()==false) 
            {               
            cout<<"Can't open file for reading!";
            cin.get();
            fin.close();
            fin.clear();
            }
            else
            {
            fin>>*pmas;
            cout<<'\t'<<pmas<<endl; 
            cin.get();
             fin.close();
            if (fin.eof()==true)
                {               
                cout<<"End of file at reading!";
                cin.get();          
                fin.clear();
                }
            }
            cout<<'\n';
        break;
        case 0:
                if (b == 0)
                {}
                else
                {
                    delete [] pmas;
                }
            break;
            
 
        default:
            cout << endl;
                cout<<"Very much!\n";
 
    }   
    }while(action != 0);
 
    return 0;
}
void input_file_name(char* nn,int size_fn)
{
   cout<<"Enter the name of file: ";
   cin.getline(nn,size_fn);
   if (cin.fail()==true)  
    {
     cin.clear();
     while (cin.get()!='\n');
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2010, 15:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос файлы в Вижуал студио (C++):

подсказки в вижуал студио - C++
у меня стоит VS2008 Expres раньше все было нормально, но потом (я наверно куда то не туда кликнул) исчезли подсказки(не знаю как...

Модуль с++ для вижуал студио - C++
Скачал с киберфорума вижуал студио, но не запускаются программы, опишите, как сделать, чтобы все работало

Ошибка LNK2019 в вижуал студио - C++
Написал программу: есть 2 класса 1)Dannie и 2)Anotacii есть третий клас 3)St (статья) который наследуется от двух предыдущих. Третий клас...

Нужно ли подключать FLTK в вижуал студио - C++
1Подскажите. Нужно ли подключать обязательно FLTK в вижуал студио?и почему?и зачем?Можно ли обойтись и без єтого? спасибо.

cижу на экзамене. нужно строки в вижуал студио ц++ - C++
в ц++ в вижуал студио надо это сделать: Формировать динам массив из N строк. Длина каждой строки не более M. Вывести на экран...

Задачу по системному программированию о строках (вижуал студио) - C++
Пусть дано строку, что состоит с нескольких слов и некоторых символов. Необходимо определить количество букв во втором слове, вывести...

8
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 15:41 #2
а какие элементы тебе надо удалить
0
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
03.06.2010, 15:54  [ТС] #3
ну вот создаётся массив. потом задаёшь сколько элементов удалить, и он удаляет самые маленькие по значению, сохраняя порядок цифр.


вот к примеру есть массив:
2
3
-5
1
0

и мы задаём что бы удалить два элемента. т.е. он удаляет -5 и 0. и выдаёт массив
2
3
1
это всё делается в программке. а надо что бы мы создали массив, потом его сохранили в фаил, потом удаляешь из этого файла цифры наименьшего значения, потом открываешь фаил в программе и смотришь что там получилось, и потом заходишь в папку куда сохранился фаил и смотришь правильно ли он удалил.

а ещё надо что бы программка удаляла из файла если файл был создан ранее. вот есть файл в папке, потом запускаешь программу, и выбираешь 5ое меню (открытие файла) и он открывает этот файл, и потом выбираешь 3ое меню, он удаляет цифры с наименьшим значением. и когда открываешь сам фаил, то фаил уже отредактированный.


надеюсь понятно
0
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 16:34 #4
мне опыта и знаний не хватает для написания такой программы...создание массива и удаление элементов не подвластно мне...

Добавлено через 8 минут
хотя всё таки попытаюсь начеркать к вечеру
0
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
03.06.2010, 16:37  [ТС] #5
Цитата Сообщение от RoY_Mu$T@nG Посмотреть сообщение
мне опыта и знаний не хватает для написания такой программы...создание массива и удаление элементов не подвластно мне...

Добавлено через 8 минут
хотя всё таки попытаюсь начеркать к вечеру
а не надо создавать массив и удалять в теме есть код который это делает. надо только дописать что бы он это делал в файлах
0
kravam
быдлокодер
1697 / 884 / 45
Регистрация: 04.06.2008
Сообщений: 5,482
03.06.2010, 18:22 #6
В файлах этого делать не рекомендую.
Вообще запомни: всегда переписывай файл в строку и работай с ней, изменяй, как надо. Потом назад переписывай в файл. Только так. Когда будет необходимо ИМЕННО редактировать данные непоссредственно в файле, ты поймёшь.

Ничег нового. Как мне сказал это здесь, так и я тебе говорю. Работаю так, до сих пор жалеть не пришлось.
0
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
03.06.2010, 21:00  [ТС] #7
Цитата Сообщение от kravam Посмотреть сообщение
В файлах этого делать не рекомендую.
Вообще запомни: всегда переписывай файл в строку и работай с ней, изменяй, как надо. Потом назад переписывай в файл. Только так. Когда будет необходимо ИМЕННО редактировать данные непоссредственно в файле, ты поймёшь.

Ничег нового. Как мне сказал это здесь, так и я тебе говорю. Работаю так, до сих пор жалеть не пришлось.
но прикол в том что мне сказали сделать так эту лабораторку!

Добавлено через 2 часа 30 минут
блин помогите всё ещё не получается сделать
0
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 21:01 #8
я там что то натворил, у меня вообще не компилит
0
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
03.06.2010, 21:12  [ТС] #9
так скопируй заново мой код. он же не куда не делся...
0
03.06.2010, 21:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2010, 21:12
Привет! Вот еще темы с ответами:

Точка выхода в вижуал С++ 2010 - C++
В сях я нуб полнейший%-), но быстро усовершенствуюсь, и решил освоить этот язык. Вроде для начала все раздуплил. Создал ЦЛР проэкт и давай...

Переделать прогу с паскаля в Вижуал - C++
вот прога на Паскале, надо переделать под вижуал... срочно... http://pascal.sources.ru/cgi-bin/show.cgi?cat=incoming&amp;id=polynom ...

Не компилирует на вижуал, как быть? - C++
Такая проблема: Я чайник. Есть программа, написанная под компилятор g++ вроде. Хотел ее на студии запустить. Не получилось. ...

Локаль в std::cin.getline (вижуал с++) - C++
собственно выводит в консоль нормально, а вот после считывания с консоли в символьный массив попадают крокозябры: #include &quot;stdafx.h&quot; ...


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

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

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