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

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

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

файлы с++ квадраты считает а в файл не пишет - C++

09.03.2014, 15:47. Просмотров 865. Ответов 23
Метки нет (Все метки)

Вычислить сумму квадратов чисел от 1 до 30. Квадраты чисел предварительно записать в файл.
нужно квадраты записать в файл и при этом сами 30 чисел взять из файла


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
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
FILE *f; int txt;
cout << "File name ";
  char s[20];
  cin.getline(s, 20);
  f=fopen(s, "wt");
 
   cout << txt << " ";
   fwrite(&txt, sizeof(int), 1, f);
 
    int sum=0;
    for(int i = 1; i <=30; i++) {
         sum += pow(i,2);
    }
    cout <<"Summa kvadratov chisel ot 1 do 30 = " <<sum <<endl;
    
 system("PAUSE");
    return EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2014, 15:47     файлы с++ квадраты считает а в файл не пишет
Посмотрите здесь:
Что и в какие файлы пишет программа C++
C++ Записать в файл KW квадраты всех четных чисел исходного файла, а в файл KB — кубы всех нечетных
Написать программу, которая копирует файлы из другого файла и считает количество строк C++
Почему не пишет файл? C++
C++ Пишет в файл калябаляку
C++ WriteFileEx - не пишет в файл.
Создать новый файл, содержащий квадраты всех элементов исходного файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 15:54     файлы с++ квадраты считает а в файл не пишет #2
Что бы писать в файл, есть команда fprintf
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 15:56  [ТС]     файлы с++ квадраты считает а в файл не пишет #3
ладно и на этом спасибо
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
09.03.2014, 16:05     файлы с++ квадраты считает а в файл не пишет #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
kornelyk, откуда возникла необходимость мешать сишные и плюсовые функции? Используйте std::fstream и будет Вам благо.
P.S. fwrite используется для неформатированного (нетекстового) вывода.
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 16:07     файлы с++ квадраты считает а в файл не пишет #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от kornelyk Посмотреть сообщение
ладно и на этом спасибо

Нет, нет, Вы задавайте вопросы, все объясним Для работы с этим нужно подключить stdio.h
Сама функция выглядит так:
int fprintf(FILE *stream, const char *format, ...);
Вот пример работы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
  FILE *fp;
 
  if((fp=fopen("test", "wb"))==NULL) {
    printf("He удается открыть файл.\n");
    exit(1);
  }
 
  fprintf(fp, "Это тест %d %f", 10, 20.01);// пишем в fp, строку  и то что хотим видеть в файле.
  fclose(fp);
 
  return 0;
}
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 16:09  [ТС]     файлы с++ квадраты считает а в файл не пишет #6
вооот! отлично) спасибо)
а чтобы еще и читала из файла?
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
09.03.2014, 16:12     файлы с++ квадраты считает а в файл не пишет #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    cout << "File name ";
    char s[20];
    cin >> s;
    ofstream out(s);
    for (int i=1; i < 31; i++)
        out<< i*i << endl;
    ifstream in(s);
    int sum=0;
    int t;
    while (in >> t){
        cout << t << endl;
        sum+=t;
    }
    cout << sum << endl;
}
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 16:15  [ТС]     файлы с++ квадраты считает а в файл не пишет #8
wow! здорово) а можно вообще сделать чтобы он записывал это в файл *.txt ???
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 16:18     файлы с++ квадраты считает а в файл не пишет #9
Для чтения из файла можно использовать fscanf()
int fscanf (stream, format-string [, argument ...]);
Например:
C++
1
2
3
4
5
6
7
8
9
const int n = 10;
char a[10];
float b;
int mas[n];
.......
fscanf(ft,"%s",&a);//из ft строковые данные в переменную-строку а
fscanf(ft,"%f",&b);// из ft вещественные данные в переменную вещественного типа b
for (int i = 0; i < n; i++)
    fscanf(ft,"%i",&mas[i]);
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
09.03.2014, 16:19     файлы с++ квадраты считает а в файл не пишет #10
Можно вводить .txt когда запрашивается File name. Например input.txt
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 16:20  [ТС]     файлы с++ квадраты считает а в файл не пишет #11
вот это афигенно!!!
спасибо:**
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 16:21     файлы с++ квадраты считает а в файл не пишет #12
Цитата Сообщение от kornelyk Посмотреть сообщение
wow! здорово) а можно вообще сделать чтобы он записывал это в файл *.txt ???
Что бы записать в *.txt, можно заранее создать такой файл и в программе написать, например так:
k = fopen("h:\ex.txt", "rt");
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 16:24  [ТС]     файлы с++ квадраты считает а в файл не пишет #13
и последний вопрос) вот у меня будет файл с 30 цифрами и как записать так, чтобы программа взяла их оттуда?
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 16:29     файлы с++ квадраты считает а в файл не пишет #14
Цитата Сообщение от kornelyk Посмотреть сообщение
и последний вопрос) вот у меня будет файл с 30 цифрами и как записать так, чтобы программа взяла их оттуда?
Можно использовать любой цикл.
C++
1
2
3
4
5
6
7
8
9
10
11
...
#define n 30
 
void main()
{
int mas[n];
FILE *fp;
fp = fopen(num.dat, "r")
for (int i = 0; i < n; i++)//можно использовать while,do-while
     fscanf(fp, "%i ", &mas[i]);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2014, 16:48     файлы с++ квадраты считает а в файл не пишет
Еще ссылки по теме:
C++ Криво пишет даные в файл
C++ Fwprintf не пишет данные wchar_t в файл
кто пишет в borland c 3.1 не можете скинуть файл? C++
В файл пишет только первые два символа! C++
НЕ компилируется файл, пишет [Error] iostream.h: No such file or directory C++

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

Или воспользуйтесь поиском по форуму:
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 16:48  [ТС]     файлы с++ квадраты считает а в файл не пишет #15
как-то не работает

Добавлено через 9 минут
а если программа будет читать из файла, то тогда все очень сильно поменяется?
Yandex
Объявления
09.03.2014, 16:48     файлы с++ квадраты считает а в файл не пишет
Ответ Создать тему
Опции темы

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