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

Программирование с использованием внешних файлов - C++

Восстановить пароль Регистрация
 
evolveUA
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 29
03.02.2014, 13:02     Программирование с использованием внешних файлов #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
#include "stdafx.h"
#include <cstdio>
#include <Windows.h>
 
void main()
{
    srand(GetTickCount());
 
    FILE *file;
 
    int i, j;
    float rand_min, rand_max;
    float X[45], X_temp;
    int X_min = 0;
 
    printf_s("rand_min, rand_max: ");
    scanf_s("%f%f", &rand_min, &rand_max);
 
    for (i = 0; i < 45; i++)
    {
        X[i] = rand_min + (rand_max - rand_min) * rand() / RAND_MAX;
 
        if (X[i] < X[X_min])
            X_min = i;
    }
 
    fopen_s(&file, "result.txt", "w");
    fprintf_s(file, "X[%d] = %f - minimum\n", X_min, X[X_min]);
 
    for (i = 0; i < X_min + 1; i++)
    {
        fprintf_s(file, "%f\t", X[i]);
    }
 
    for (i = X_min + 1; i < 45; i++)
    {
        for (j = i + 1; j<45; ++j)
        if (X[j] > X[i])
        {
            X_temp = X[j];
            X[j] = X[i];
            X[i] = X_temp;
        }
 
        fprintf_s(file, "%f\t", X[i]);
    }
 
    fclose(file);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
akaAxeL
66 / 66 / 30
Регистрация: 14.07.2013
Сообщений: 251
04.02.2014, 00:11     Программирование с использованием внешних файлов #2
C++
1
2
3
4
5
6
7
8
9
string dir;
string name;
cout << "Enter directory";
cin >> dir;
cout << "Enter name";
cin >> name;
dir += name;
ifstream ifs;
ifs.open(dir);
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
04.02.2014, 11:33     Программирование с использованием внешних файлов #3
Добавить первые 7 строчек кода akaAxeL, в начало вашей функции void main(), а 27 строчку вашего кода
C
1
fopen_s(&file, "result.txt", "w");
заменить на
C
1
fopen_s(&file, dir, "w");
evolveUA
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 29
05.02.2014, 19:49  [ТС]     Программирование с использованием внешних файлов #4
Я что-то не понимаю, вроде сделал по вашим рекомендациям, только 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
#include "stdafx.h"
#include <cstdio>
#include <Windows.h>
#include <string>
#include <iostream>
 
void main()
{
    srand(GetTickCount());
 
    FILE *file;
 
    int i, j, dir;
    float rand_min, rand_max;
    float string, dir, name;
    float X[45], X_temp;
    int X_min = 0;
 
    string dir;
    string name;
    printf_s("Enter directory");
    scanf_s("%f", &dir);
    printf_s("Enter name");
    scanf_s("%f", &name);
    dir += name;
 
    printf_s("rand_min, rand_max: ");
    scanf_s("%f%f", &rand_min, &rand_max);
 
    for (i = 0; i < 45; i++)
    {
        X[i] = rand_min + (rand_max - rand_min) * rand() / RAND_MAX;
 
        if (X[i] < X[X_min])
            X_min = i;
    }
 
    fopen_s(&file, dir, "w");
    fprintf_s(file, "X[%d] = %f - minimum\n", X_min, X[X_min]);
 
    for (i = 0; i < X_min + 1; i++)
    {
        fprintf_s(file, "%f\t", X[i]);
    }
 
    for (i = X_min + 1; i < 45; i++)
    {
        for (j = i + 1; j<45; ++j)
        if (X[j] > X[i])
        {
            X_temp = X[j];
            X[j] = X[i];
            X[i] = X_temp;
        }
 
        fprintf_s(file, "%f\t", X[i]);
    }
    fclose(file);
}
zss
Модератор
Эксперт С++
 Аватар для zss
5947 / 5552 / 1784
Регистрация: 18.12.2011
Сообщений: 14,184
Завершенные тесты: 1
05.02.2014, 20:02     Программирование с использованием внешних файлов #5
Кусок кода, связанный с библиотеками и объявлением переменных:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//#include <iostream>
#include <string>
using namespace std;
void main()
{
    srand(GetTickCount());
    FILE *file;
    int i, j;
    float rand_min, rand_max;
    float X[45], X_temp;
    int X_min = 0;
    string dir;
    string name;
и еще одна строка
C++
1
    fopen_s(&file, dir.c_str(), "w");
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
05.02.2014, 20:12     Программирование с использованием внешних файлов #6
Цитата Сообщение от zss Посмотреть сообщение
и еще одна строка
Код C++
1
fopen_s(&file, dir.c_str(), "w");
моя ошибка в торопях писал . А вот с типами ТС действительно намудрил
evolveUA
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 29
05.02.2014, 20:15  [ТС]     Программирование с использованием внешних файлов #7
Я сделал через "char", но программа отказывается работать, подскажите, может что добавить?
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
#include "stdafx.h"
#include <cstdio>
#include <Windows.h>
 
void main()
{
    srand(GetTickCount());
 
    FILE *file;
 
    int i, j;
    float rand_min, rand_max;
    float file_name, file_adress;
    float X[45], X_temp;
    int X_min = 0;
 
    printf_s("rand_min, rand_max: ");
    scanf_s("%f%f", &rand_min, &rand_max);
 
    for (i = 0; i < 45; i++)
    {
        X[i] = rand_min + (rand_max - rand_min) * rand() / RAND_MAX;
 
        if (X[i] < X[X_min])
            X_min = i;
    }
 
    char [];
        fopen_s(FILE** pFile, const char *filename, const char *mode);
 
    fprintf_s(file, "X[%d] = %f - minimum\n", X_min, X[X_min]);
 
    for (i = 0; i < X_min + 1; i++)
    {
        fprintf_s(file, "%f\t", X[i]);
    }
 
    for (i = X_min + 1; i < 45; i++)
    {
        for (j = i + 1; j<45; ++j)
        if (X[j] > X[i])
        {
            X_temp = X[j];
            X[j] = X[i];
            X[i] = X_temp;
        }
 
        fprintf_s(file, "%f\t", X[i]);
    }
    fclose(file);
}
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
05.02.2014, 20:28     Программирование с использованием внешних файлов #8
Цитата Сообщение от evolveUA Посмотреть сообщение
сделал через "char", но программа отказывается работать, подскажите, может что добавить
Для начала пересмотрите код zss, из 7 поста. А то вы опять на те же грабли с размаху встали : полная путаница с типами переменных. а вот это
C++
1
fopen_s(FILE** pFile, const char *filename, const char *mode);
из серии
evolveUA
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 29
05.02.2014, 20:59  [ТС]     Программирование с использованием внешних файлов #9
Цитата Сообщение от mustimur Посмотреть сообщение
Для начала пересмотрите код zss, из 7 поста. А то вы опять на те же грабли с размаху встали : полная путаница с типами переменных. а вот это
C++
1
fopen_s(FILE** pFile, const char *filename, const char *mode);
из серии
В университете мы не проходили это, это дополнительное задание, которое нужно выполнить, я мучаюсь с ним уже довольно долго и не могу понять в чем траблы...
Я уже реально не знаю, что делать с ней.. То что вы мне посоветовали - мы будем проходить только на втором курсе...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 21:49     Программирование с использованием внешних файлов
Еще ссылки по теме:

Обработка строковых данных с использованием внешних файлов C++
C++ Системное программирование. Последовательная обработка файлов с использованием отображения в память

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

Или воспользуйтесь поиском по форуму:
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
05.02.2014, 21:49     Программирование с использованием внешних файлов #10
Цитата Сообщение от evolveUA Посмотреть сообщение
Я уже реально не знаю, что делать с ней.. То что вы мне посоветовали - мы будем проходить только на втором курсе...
В ряд ли, мы Ваш код подправить пытались, что с блеском сделалzss,
Yandex
Объявления
05.02.2014, 21:49     Программирование с использованием внешних файлов
Ответ Создать тему
Опции темы

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