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

Чтение данных из файла и работа с ними - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ gnuplot http://www.cyberforum.ru/cpp-beginners/thread371614.html
Помогите пожалуйста написать программу которая вычислит значение √x для 101 аргумента. Диапазон аргумента х от 1 до 10 x?. Значение квадратного корня расчитывается с помощью с библиотеки math.h и подсчитана каждая точка на оси абсцисс: 0, 0,1. 0,2. 0,3. и так до 10,0и впмсана в однодименсионный массив. Для накопления значений нужен float или double. Отображая значение на экране в первой строке...
C++ Решение задач С++ Заданы три точки на плоскости: М с координатами (х1, у1), L с координатами (х2, у2) и Н с координатами (х3, у3). Определить лежат ли они на одной прямой. При отрицательном ответе найти площадь и периметр треугольника МLH. http://www.cyberforum.ru/cpp-beginners/thread371607.html
C++ Из исходящего списка исключить неудовлетворительные оценки
Привет всем. Прошу помощи с заданием. 1. Сформировать целочисельный список, который содержит текущие оценки с одного предмета (для примера взять 10-12 оценок, среди которых могут быть удовлетворительные (больше 6 балов) и неудовлетворительные (меньше 6 балов). 2. Зделать копию этого списка 3. Разбить список на два списка: первые вмещает в себе только удовлетворительные оценки, второй...
Найти сумму ряда C++
8. дано натуральное число n. Вычислить: S=1/3^2+1/5^2+1/7^2+...+1/(2n+1)^2
C++ Парсер http://www.cyberforum.ru/cpp-beginners/thread371580.html
Здраствуйте! Есть видео файл. Я хочу найти в нем определенную структуру. Для этого мне нужно найти определенную последовательность битов. Подскажите как вычитывать последовательность битов с файла?
C++ найти площадь и периметр треугольника Условие такое: Заданы три точки на плоскости: М с координатами (x1,y1), L с координатами (x2,y2), и Н с координатами (x3,y3). Определить лежат ли они на одной прямой. При отрицательном ответе найти площадь и периметр треукольника MLH. Заранее благодарю. подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
25.10.2011, 16:00     Чтение данных из файла и работа с ними
Snowlife, вот код на Си, будут вопросы с радостью на них отвечу
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
#include <windows.h>
#include <stdio.h>
#include <math.h>
 
#define RED RGB(255,0,0)
#define GRN RGB(0,255,0)
#define BLU RGB(0,0,255)
 
#define BLK RGB(0,0,0)
#define WHT RGB(255,255,255)
 
HPEN  getPen(int iPEN_STYLE, int iPEN_SIZE, int iCOLORREF);
BOOL  SetPoint(HDC hDC, HPEN hPen, COORD PNT);
BOOL  PlotLine(HDC hDC, HPEN hPen, COORD BGN, COORD END);
//Функция график которой строим
double N(double N0, double a, double b, double t);
//Функция считывает соответсвующие параметры из потока f
//Возвращаемое значение число считанных параметров
int getParams(FILE * f, 
              double &N0, double &a, double &b, 
              double &tn, double &tk, double &dt); 
 
int main()
{
    double N0, a, b, tn, tk, t, dt;
    double CX, CY;//Масштабные коэффициенты
    FILE * f = fopen("data.txt","rb+");  
    //Получаем дискриптор окна кончоли
    HWND    hWnd = GetForegroundWindow();
    //Создаём PEN-ы для рисования
    HPEN    RPEN = getPen(PS_SOLID, 2, RED);
    HPEN    GPEN = getPen(PS_SOLID, 2, GRN);
    HPEN    BPEN = getPen(PS_SOLID, 2, BLU);
    HPEN    WPEN = getPen(PS_SOLID, 2, WHT);
 
    RECT    pRECT= {0};
    COORD   BGN  = {0};
    COORD   END  = {0};
    //Получаем размеры Client-области окна консоли
    GetClientRect(hWnd,&pRECT);
    
    //Получаем HDC
    HDC hDC = GetWindowDC(hWnd);
    long nParams = getParams(f, N0, a, b, tn, tk, dt);
    fclose(f);
    if(nParams == 0)
        printf("Error reading input data file\n");
    else
    {
        printf("\tPloting N(t) = %.0f*exp(-(%.0f)*(1 - exp(-(%0.2f)*t)))\r\n",N0,a,b);
        if(hDC)
        {
            CX = (tk - tn)/(pRECT.right - pRECT.left);
            CY = (N(N0,a,b,tn) - N(N0,a,b,tk))/(pRECT.bottom - pRECT.top);
                
            t = tn;
            BGN.X = t   /CX;
            BGN.Y = N(N0,a,b,t)/CY + (pRECT.bottom - pRECT.top)/2;
            SetBkMode(hDC,TRANSPARENT);
            SetPoint (hDC, WPEN, BGN);
            while(t < tk)
            {
                END.X = t   /CX;
                END.Y = N(N0,a,b,t)/CY + (pRECT.bottom - pRECT.top)/2;
                SetPoint (hDC,WPEN, END);
                PlotLine(hDC, RPEN, BGN, END);
                BGN = END;
                t += dt;
            }
            BGN.X = 0;
            BGN.Y = 0/CY + (pRECT.bottom - pRECT.top)/2;
            END.X = (pRECT.right - pRECT.left);
            PlotLine(hDC, GPEN, BGN, END);
        }
    }
    system("pause");
    return 0;
}
 
HPEN getPen(int iPEN_STYLE, int iPEN_SIZE, int iCOLORREF)
{
        return CreatePen(iPEN_STYLE, iPEN_SIZE, iCOLORREF);
}
 
BOOL SetPoint(HDC hDC, HPEN hPen, COORD PNT)
{
        EXTLOGPEN pINFO;
        GetObject(hPen,sizeof(EXTLOGPEN),&pINFO);
        SelectObject(hDC,hPen);
        return Ellipse
        (
                hDC,
                PNT.X - pINFO.elpWidth,
                PNT.Y + pINFO.elpWidth, 
                PNT.X + pINFO.elpWidth,
                PNT.Y - pINFO.elpWidth
        );
}
 
BOOL PlotLine(HDC hDC, HPEN hPen, COORD BGN, COORD END)
{
        SelectObject(hDC,hPen);
        MoveToEx(hDC,BGN.X,BGN.Y,NULL);
        return LineTo(  hDC,END.X,END.Y);
}
 
double N(double N0, double a, double b, double t)
{
    return N0*exp(-a*(1 - exp(-b*t)));
}
 
int getParams(FILE * f, 
              double &N0, double &a, double &b, 
              double &tn, double &tk, double &dt)
{
    int nParams = 0;
    char ch1, ch2;//Будет содержать в себе данные файла
    if(!f)
        printf("Error open input data file\n");
    else
    {
        if(!feof(f))
        if(fscanf(f,"%c%c = %lf\r\n",&ch1,&ch2,&N0))
            nParams++;
        if(!feof(f))
        if(fscanf(f,"%c%c = %lf\r\n",&ch1,&ch2,&a))
            nParams++;
        if(!feof(f))
        if(fscanf(f,"%c%c = %lf\r\n",&ch1,&ch2,&b))
            nParams++;
        if(!feof(f))
        if(fscanf(f,"%c%c = %lf\r\n",&ch1,&ch2,&tn))
            nParams++;
        if(!feof(f))
        if(fscanf(f,"%c%c = %lf\r\n",&ch1,&ch2,&tk))
            nParams++;
        if(!feof(f))
        if(fscanf(f,"%c%c = %lf\r\n",&ch1,&ch2,&dt))
            nParams++;
    }
    return nParams;
}
 
Текущее время: 22:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru