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

нужно сделать файлы в С++ - C++

Восстановить пароль Регистрация
 
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
27.05.2010, 00:14     нужно сделать файлы в С++ #1
вот сама задача уже написана, теперь надо сделать что бы она полученный массив сохраняла в фаил, а потом что бы можно было его открыть. желательно в Microsoft Visual Studio
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
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int action;
    int n, *pmas, b, l, *pmas2;
    int diapazon,minnum;
    unsigned int r;
    char cont;
    b=0;
    do
    {
        cout<<"\n1 - Create and initialize massive\n";
        cout<<"2 - Show massive\n";
        cout<<"3 - udalenie elimentov\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 0:
                if (b == 0)
                {}
                else
                {
                    delete [] pmas;
                
                }
            break;
        default:
            cout << endl;
                cout<<"Very much!\n";
 
    }   
    }while(action != 0);
    return 0;
}
в зарание спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2010, 00:14     нужно сделать файлы в С++
Посмотрите здесь:

Нужно просматривать папки и искать в них определенные файлы C++
C++ Строки,файлы,нужно исправить ошибку
Нужно ли к файлу .h подключать все заголовочные файлы, которые понадобятся в .cpp C++
по теме текстовые файлы.нужно перевести в паскаль,пожалуйста C++
даны 2 последовательности в файлах, в двух разных, нужно их обьединить и отсортировать по возрастанию. Но нужно сделать прогу с помошью указателей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Luna17
 Аватар для Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 00:18     нужно сделать файлы в С++ #2
у ми щас похожая проблема, надо записать данные в файл, а не получается
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
27.05.2010, 00:19  [ТС]     нужно сделать файлы в С++ #3
да так же вроде бы как в примерах делаю. но в файл то 1 адрес запишет, то вообще не чо не пишет и эроров 0
Luna17
 Аватар для Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 00:20     нужно сделать файлы в С++ #4
у меня в файл вообще ничего не записывает, хотя по логике должен
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
27.05.2010, 00:21     нужно сделать файлы в С++ #5
C++
1
2
3
4
5
6
7
    FILE *fn;
    fn = fopen("text.txt","wt");
    for(int i=0;i<n;i++)
    {
         fprintf(fn,"%d\n",*(pmas+i));
    }
    fclose(fn);
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
27.05.2010, 00:24  [ТС]     нужно сделать файлы в С++ #6
печально блин. надо было раньше спрашивать. а то завтра утром сдавать надо

Добавлено через 2 минуты
Цитата Сообщение от Crudelis Посмотреть сообщение
C++
1
2
3
4
5
6
7
    FILE *fn;
    fn = fopen("text.txt","wt");
    for(int i=0;i<n;i++)
    {
         fprintf(fn,"%d\n",*(pmas+i));
    }
    fclose(fn);
спасибо, НО куда вставлять?
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
27.05.2010, 00:26     нужно сделать файлы в С++ #7
перед return 0;
либо в switch сделай 4й пункт вывода данных в файл
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
27.05.2010, 00:28  [ТС]     нужно сделать файлы в С++ #8
сделал, но не получается вот 4ый пункт должен сохранять массив, а 5ый пункт должен открыть массив из фаила
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
27.05.2010, 00:34     нужно сделать файлы в С++ #9
если не работает пропиши полный путь к файлу c:\\puty\\fail.txt
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
27.05.2010, 00:44  [ТС]     нужно сделать файлы в С++ #10
неее... мне надо что бы он создал файл в папке proekts и в него записал уже ответ. вот что то на подобие этой проги
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n=3;
    const int nn=40;
    char const* pS [ n ] = 
    { "1. Save values", "2.Open values", "0. Exit" } ;
    int v,k,m,k_m;
    char fname[nn]="first_file.val";
    ofstream fout;
    ifstream fin; 
    
    
     
    
    
    do
    {
        cout << "Menu\n" ;
        for ( int i = 0; i < n; i++ ) cout << pS [ i ] << endl ;
        cout << "\nYour choice - > " ;
        cin >> v ;
        cin.get();
        switch ( v )
        {
 
 
        case 1 : 
            cout << '\n' << pS [ 0 ] << "\n\n" ;
 
            cout<<"k=?"<<endl;
            cin>>k;
            cin.get();
            cout<<"m=?"<<endl;
            cin>>m;
            cin.get();
 
            cout<<"Enter the name of output file: ";
            cin.getline(fname,nn);
            if (cin.fail()==true)       
            {
            cin.clear(); //razblokiruet potok esli vveli bolj6e simvolov  4em 4isel v massive
            while (cin.get()!='\n'); //zabratj to 4to vlezlo v massiv
            }
 
 
            fout.open(fname); // svjazivaet potok s failom
 
            //fout<<k<<'\t'<<m<<endl; 
            //fout<<k+m;
 
            fout<<setw(8)<<k<<setw(10)<<m<<"\n";
            fout<<setw(8)<<k+m;
 
 
            fout.close(); // razorvatj svjazj pokota
 
 
            cout<<'\n';
            break ;
 
 
 
 
 
        case 2 : 
            cout << '\n' << pS [ 1 ] << "\n\n" ;
 
            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>>k>>m>>k_m;
            cout<<k<<'\t'<<m<<'\t'<<k_m<<endl; 
            cin.get();
            
             fin.close();
            if (fin.eof()==true)
                {               
                cout<<"End of file at reading!";
                cin.get();          
                fin.clear();
                }
            }
 
            
 
            cout<<'\n';
            break ;
 
        case 0 : break ;
        default  : cout << "\nIllegal choice\n\n";
        }
    } while ( v != 0 ) ;
    return 0;
}
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
27.05.2010, 00:50     нужно сделать файлы в С++ #11
Цитата Сообщение от kronul Посмотреть сообщение
мне надо что бы он создал файл
если файла не будет в папке то он создаст сам
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
27.05.2010, 00:55  [ТС]     нужно сделать файлы в С++ #12
ну да. он записывает, но он не пишет результат. он записывает сколько чисел осталось в массиве. если задать 20, удалить 15, то он запишет просто 1 2 3 4 5. а не те числа которые остались. и надо что бы файл можно было назвать самому. и ещё менюшку надо что бы можно было его открыть
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2010, 10:24     нужно сделать файлы в С++
Еще ссылки по теме:

C++ Нужно сделать что бы давало рандомно числа и нужно написать ответ
Нужно сделать задание по c++! Через 3 часа нужно сдать! C++
Отправка писем С++ Visual studio 2013 - Какие нужно подключать заголовочные файлы C++

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

Или воспользуйтесь поиском по форуму:
kronul
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 26
27.05.2010, 10:24  [ТС]     нужно сделать файлы в С++ #13
всё ещё нужно создать.
Yandex
Объявления
27.05.2010, 10:24     нужно сделать файлы в С++
Ответ Создать тему
Опции темы

Текущее время: 06:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru