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

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

Войти
Регистрация
Восстановить пароль
 
Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
#1

Работа с файлом - C++

16.02.2011, 21:50. Просмотров 397. Ответов 2
Метки нет (Все метки)

Добрый вечер. Нужно подсчитать количество точек, попадающих в круг радиуса 4 с центром в начале координат. На паскале такую прогу уже делал и сейчас по тем же принципам писал, только вот бред какой-то вышел.Что не так то сделал?

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
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
void main()
{
    
    FILE *f,*g;
    f=fopen("lab7.txt","w");
    printf("Vvodie tochki,konec vvoda:0 0 \n");
    float x,y,n;
    do
    {
        scanf("%i",&x);
        scanf("%i",&y);
        fwrite(&x,sizeof(x),1,f);
        fwrite(&y,sizeof(y),1,f);
    }
    while((x!=0)&&(y!=0));
    fclose(f);
    f=fopen("lab7.txt","r");
    float r=0;
    printf("Koordinati, radius:\n");
    do
    {
        fread(&x,sizeof(x),1,f);
        fread(&y,sizeof(y),1,f);
        r=sqrt(pow(x,2)+pow(y,2));
        printf("%4i %4i %7.2f",x,y,r);
        printf("\n");
        if (r<=4) n++;
    } while (!feof(f));fclose(f);
    printf("Kol-vo tochek: %4i",n);
    getch();
}
Добавлено через 30 минут
прошлые проблемы решил, всё из-за невнимательности...
теперь такая проблема, я ввожу 3 точки, но при подсчёте радиусов программа мне выдаёт четыри, притом четвёртая равна последней введённой тоесть 0 0, как это исправить???

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
#include "stdafx.h"
#include <math.h>
#include <conio.h>
 
void main()
{
    
    FILE *f,*g;
    f=fopen("lab7.txt","w");
    printf("Vvodie tochki,konec vvoda:0 0 \n");
    float x,y;
    int n=0;
    do
    {
        scanf("%f %f",&x,&y);
        fwrite(&x,sizeof(x),1,f);
        fwrite(&y,sizeof(y),1,f);
    }while((x!=0)&&(y!=0));
    
    fclose(f);
    g=fopen("lab7.txt","r");
    float r=0;
    printf("Koordinati, radius:\n");
    do
    {
        if(!feof(g)){
        fread(&x,sizeof(x),1,g);
        fread(&y,sizeof(y),1,g);
        r=sqrt(pow(x,2)+pow(x,2));
        printf("%4f %4f %7.2f",x,y,r);
        printf("\n");}
        if (r<=4) n++;
    } while (!feof(g));
    printf("Kol-vo tochek: %4i",n);
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2011, 21:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файлом (C++):

работа с файлом - C++
объясните, пожалуйста, что тут происходит. особенно строчку, где ofs.write(reinterpret_cast&lt;char const*&gt;(arr), n * sizeof(*arr)); ...

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

c++ работа с файлом - C++
Здраствуйте,в си знания - средненькие,мне предоставилась задача - нужно згенерировать файл для ипфильтра торрента,с сайта провайдера мне...

работа с файлом - C++
Как найти определённое слово в массиве? такого вида 217.118.79.33 dan HTTP GET http://google.com/

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

Работа с файлом - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; struct STUDENT // структура STUDENT { string name; ...

2
Jupiter
Каратель
Эксперт С++
6560 / 3981 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.02.2011, 21:56 #2
цикл ввода
C
1
2
3
4
5
6
7
8
9
10
while(1)
{
    scanf("%f %f",&x,&y);
    if( x && y )
    {
         fwrite(&x,sizeof(x),1,f);
         fwrite(&y,sizeof(y),1,f);
    }
    else break;
}
Добавлено через 2 минуты
+ в 29 строке надо
C
1
r=sqrt(pow(x,2)+pow(у,2));
1
Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
16.02.2011, 21:59  [ТС] #3
спасибо я какраз только сам так сделал)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2011, 21:59
Привет! Вот еще темы с ответами:

работа с файлом) - C++
Помогите пжлст написать прогу.Задание: Найти среднее количество знаков препинания в абзаце.Текст считывать с файла. Добавлено через...

Работа с файлом - C++
Программа для записи/прочитки текстовых файлов. Почему когда ввожу строку, в файл сохраняется только часть строки(до первого пробела)? ...

Работа с файлом - C++
Доброго времени суток . Нужна помощь . Суть задания заключается в том , чтобы считать информацию из файла , записать ее в какую-то...

Работа с файлом - C++
вот смотрите есть файл chisla.txt В нем содержатся цифры ( Например 101 258 164) Как мне изъять из файла ТОЛЬКО 1 число (например 101)???


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

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

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