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

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

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

Как переделать прогу для работы с файлами - C++

22.12.2009, 00:33. Просмотров 380. Ответов 4
Метки нет (Все метки)

Всем привет) Есть вот такая программа. Она выводит на консоль сообщение - находится ли точка на прямой или нет. Координаты точки - находятся в классе point. Прямой - Priam. Мне нужно переделать прогу так, чтобы 1) В первом входном файле содержалось описание произвольного кол-ва прямых: 4 действительных числа, определяющих 2 пары точек. 2) Второй входной файл содержит набор точек. 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
#include <iostream>
#include<fstream>
#include<process.h>
using namespace std;
const int k = 1000;
class point {
private:
    double x,y;
public:
    point() {x=0;y=0;}
    point(double x1, double y1){x=x1;y=y1;}
    void SetX(double x1){x=x1;}
    void SetY(double y1){y=y1;}
    double GetX(){return x;}
    double GetY(){return y;}
    void Print()
    {//печать
 
        cout<<"Koordinati to4ki"<< " ("<<x<<","<<y<<")"<<endl;
    }
    void show(){ //изменяет значение поля
        cout<<"Vvedite x=\n";
        cin>>x;
        if (x<-k || x>k)
        throw point();
        cout<<"Vvedite y=\n";
        cin>>y;
        if (y<-k || y>k)
        throw point();
 
    }
    
 
};
class Priam {
private:
    double  A, B, C, D;
public:
    Priam() {A=0;B=0;C=0;D=0;}
    Priam(double _A, double _B,double _C,double _D){A=_A;B=_B;C=_C;D=_D;}
    Priam(point p1,point p2) {A=p1.GetX();B=p1.GetY();C=p2.GetX();D=p2.GetY();}
    void SetA(double _A){A=_A;}
    void SetB(double _B){B=_B;}
    void SetC(double _C){C=_C;}
    void SetD(double _D){D=_D;}
    double GetA(){return A;}
    double GetB(){return B;}
    double GetC(){return C;}
    double GetD(){return D;}
 
    void PrintL(){//печать
 
        cout<<"Koordinati 1 to4ki pryamoi="<<"("<<A<<","<<B<<")"<<endl;
        cout<<"Koordinati 1 to4ki pryamoi="<<"("<<C<<","<<D<<")"<<endl;
 
    }
    void showL(){ //изменяет значение поля
 
        cout<<"vvedite koordinati pryamoy 1000 max\n";
        cout<<"Vvedite A\n";
        cin>>A;
        if (A<-k || A>k )
            throw Priam();
        cout<<"Vvedite B=\n";
        cin>>B;
        if (B<-k || B>k)
                throw Priam();
        cout<<"Vvedite C=\n";
        cin>>C;
        if (C<-k || C>k)
                throw Priam();
        cout<<"Vvedite D=\n";
        cin>>D;
        if (D<-k || D>k){
                throw Priam();}
 
        if (A==B && B==C && C==D){
            cout<<"ETO NE PRYAMAYA A PLOSKOST'=> programma zaverwaet rabotu\n\n\n";
            throw Priam();
 
        }
 
    }
    // Положение точки относительно прямой
    void Vichislenie (){
    point g;
    int a;
    a=(g.GetX()-A)*(g.GetY()-D)-(g.GetY()-B)*(g.GetX()-C);
    if (a==0)
    {
            cout <<"to4ka lejit na prymoi";
    }
    else
    {
        cout<<"to4ka ne lejit na prymoi";
    }
 
 
    };
 
};
 
/////////////////////////////////
int main(int argc,char * argv[]) {
try
{
point p;
Priam l;
p.show();
l.showL();
p.Print();
l.PrintL();
l.Vichislenie();
}
catch (point)
{
    cout<<"\nOWIBKA vvedeni nevernie koordinati to4ki\n";
}
catch (Priam)
{
    cout<<"\nOWIBKA vvedeni nevernie koordinati pryamoi";
}
 
 
}
Добавлено через 1 час 51 минуту
Хотя бы как сделать чтобы я вводил название файла из консоли и этот файл создавался?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2009, 00:33     Как переделать прогу для работы с файлами
Посмотрите здесь:

Как переделать прогу?? - C++
Вот программа на языке си++. как её переделать в си??? там надо вроде cout изменить. помогите!условие: вывести 10 случайных чисел в...

Переделать программу работы с массивом для работы с вектором - C++
помогите переделать эту программу!!...при одном условии....вот что находится между int main() и return 0; сохранить.....здесь нужно...

Класс для работы с файлами - C++
День добрый. Столкнулся со следующей проблемой. Задание: создать класс, инкапсулирующий работу с файлами через стандартную библиотеку...

Функции для работы с файлами - C++
Есть на си такая прекрасная функция как fgets(). Мне нужен аналог но со string вместо char. Суть проблемы. Мне нужно из файла...

Библиотека для работы с файлами - C++
Нужен какой-нибудь набор готовых методов для работы с файлами: копирование, переименование, поиск подстроки, установка курсора на такую-то...

Что лучше для работы с файлами? - C++
Подскажите пожалуйста, в разной литературе применяется в основном два метода ввода и ввывода из файла . 1.FILE *file = fopen(&quot;file.txt&quot;,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.12.2009, 01:07     Как переделать прогу для работы с файлами #2
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
#include <stdio.h>
 
int main(int argc, char *argv[])
{
    FILE *fp1, *fp2;
 
    if (argc == 3) {
        printf(
            "ok, you have entered %s and %s"
            "\n",
            argv[1],
            argv[2]
        );
        fp1 = fopen(argv[1], "r");
        fp2 = fopen(argv[2], "w");
        if (fp1 == NULL || fp2 == NULL) {
            fprintf(
                stderr,
                "error: while opening files"
                "\n"
            );
            return 1;
        }
    } else {
        fprintf(
            stderr,
            "error: use prog.exe <file1> <file2>"
            "\n"
        );
        return 1;
    }
 
    return 0;
}
Добавлено через 11 секунд
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
#include <stdio.h>
 
int main(int argc, char *argv[])
{
    FILE *fp1, *fp2;
 
    if (argc == 3) {
        printf(
            "ok, you have entered %s and %s"
            "\n",
            argv[1],
            argv[2]
        );
        fp1 = fopen(argv[1], "r");
        fp2 = fopen(argv[2], "w");
        if (fp1 == NULL || fp2 == NULL) {
            fprintf(
                stderr,
                "error: while opening files"
                "\n"
            );
            return 1;
        }
    } else {
        fprintf(
            stderr,
            "error: use prog.exe <file1> <file2>"
            "\n"
        );
        return 1;
    }
 
    return 0;
}
Jexet
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 3
22.12.2009, 01:18  [ТС]     Как переделать прогу для работы с файлами #3
спс конечно, но как я его компилирую, то он сразу пишет error: use prog.exe <file1> <file2>
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.12.2009, 02:05     Как переделать прогу для работы с файлами #4
Код
[guest@station tmp]$ cc main.c -o t
[guest@station tmp]$ ./t
error: use prog.exe <file1> <file2>
[guest@station tmp]$ ./t f1 f2
ok, you have entered f1 and f2
error: while opening files
[guest@station tmp]$ ./t f2 f1
ok, you have entered f2 and f1
[guest@station tmp]$
Добавлено через 2 минуты
первый файл должен быть, второй - не обязательно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2009, 02:25     Как переделать прогу для работы с файлами
Еще ссылки по теме:

Не работает программа для работы с файлами - C++
Написал простую программу для записи строки в файл и чтения из файла. При попытке скомпилить компилятор ругается на строки ofstream o; ...

C++ DLL для работы с php файлами - C++
Есть ли такой? Если есть, дайте пож-та!

Функции для работы с текстовыми файлами - C++
Файл содержит целые числа. Вычислить сумму значений из файла, в двоичном представлении которых K разрядов установлено в...

Мой класс для работы с файлами - C++
Здравствуйте! Я попробовал сделать свой класс для работы с файлами и показать его здесь с целью узнать, что я в нем сделал не так :) ...

Приложение для работы с файлами Excel - C++
Есть необходимость написания прилоги работающей с файлами Excel, но не используя возможностей для работы с таковыми самого экселя. Т.е. мне...

Ищу 2 оператора для работы с файлами - C++
1)Оператор,который возвращает кол-во строк в текстовом файле 2)Оператор,который позволяет перемещаться в файле на указанную строку . ...


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

Или воспользуйтесь поиском по форуму:
Jexet
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 3
22.12.2009, 02:25  [ТС]     Как переделать прогу для работы с файлами #5
ok. Попробую так)
Yandex
Объявления
22.12.2009, 02:25     Как переделать прогу для работы с файлами
Ответ Создать тему
Опции темы

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