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

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

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

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

09.03.2014, 15:47. Просмотров 874. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2014, 15:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос файлы с++ квадраты считает а в файл не пишет (C++):

Что и в какие файлы пишет программа - C++
Доброго всем здравия, телесного и духовного! Не могу разобраться как можно записать что-то в файл и затем это прочитать. Нашел на одном...

Записать в файл KW квадраты всех четных чисел исходного файла, а в файл KB — кубы всех нечетных - C++
Создать файл K,элементы которого являются целыми числами.Записать в файл KW квадраты всех четных чисел исходного файла,а в файл KB - кубы...

Написать программу, которая копирует файлы из другого файла и считает количество строк - C++
Программа, которая копирует файлы из другого файла и считает количество строк

WriteFileEx - не пишет в файл. - C++
Нужен асинхронный ввод/вывод. Простой пример: char* b=&quot;abccccccccccccccccccccccccccccccccccc&quot;; HANDLE my_file_output=CreateFileA( ...

Пишет в файл калябаляку - C++
void pars(int *start, int *end) { FILE *f; f = fopen(&quot;file.txt&quot;, &quot;w&quot;); for (int i=*start;i&lt;=*end;i++) { ...

Почему не пишет файл? - C++
int main (int Count , char **Parametrs) { std::ofstream s; s.open(&quot;C:\Projects\test\s.log&quot;); s&lt;&lt;&quot;tfds&quot;; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 17:01 #16
Я, к сожалению не маг и не экстрасенс) Что именно не так делает программа?
Давайте, я по пробую угадать?
1>.cpp(28) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\.....\vc\include\stdio.h(237): см. объявление 'fopen'
?

вот этот код работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
#define n 30
 
using namespace std;
void main()
{
int mas[n];
FILE *fp;
fp = fopen("num.txt", "r");
for (int i = 0; i < n; i++)
     fscanf(fp, "%i ", &mas[i]);
fclose(fp);
for (int i = 0; i < n; i++)
 cout << " " <<mas[i];
_getch();
}
файл num.txt необходимо разместить в папке debug проекта и в папке с названием проекта.
Если ошибка такая, какая я написал, то
Нет, просто студия любит что бы ввод был защищен - scanf_s, отключается (как вариант): Проект-свойства-C/C++, Там будет пунктик Проверки SDL. Выбираем нет. (Нужно делать для каждого проекта, например при работе с файлами так же ругается на fopen).
Картинка не прикрепляется, если не понятно как исправить, я приклеил вот сюда картинку:
Не как не могу найти ошибку уже более часа
0
spectrum988
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 47
09.03.2014, 17:21 #17
А я бы б вообще использовал поточный ввод вывод ifstream и ofstream или вообще fstream.Мне кажется с ними проще.Ну тут уж кому как угодно.
0
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 17:38  [ТС] #18
в 1.txt записаны числа от 1 до 30
на экран выводит сумму этих чисел и сами числа
а при открытии 2.txt там записаны квадраты этих чисел
а нужно бы еще сумму этих квадратов
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("2.txt");
    for (int i=1; i < 31; i++)
        out<< i*i << endl;
    ifstream in("1.txt");
    int sum=0;
    int t;
    while (in >> t){
        cout << t << endl;
        sum+=t;
    }
    cout << sum << endl;
}
0
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 17:39 #19
Извините)) не туда посмотрел)))
0
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 17:55 #20
Если я правильно понял суть задания: Есть два файла. в одном 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
#define n 30
 
using namespace std;
 
int main()
{
    int mas[n], mas1[n];
    int Sum = 0;
    FILE *f1, *f2;
    f1 = fopen("1.txt","r");
     for (int i=0; i < n; i++)
         fscanf(f1, "%d", &mas[i]);
   //выведем сами числа
     fclose(f1);
     cout << endl;
      for (int i=0; i < n; i++)
      {
        cout << " " << mas[i]; 
        Sum+=mas[i];
      }
      cout << endl << "Summ: "<< Sum << endl;
      //открываем 2.txt
      f2 = fopen("2.txt","r");//как я понял тут записаны квадраты
      Sum = 0;
      for (int i=0; i < n; i++)
         fscanf(f2, "%d", &mas1[i]);
      fclose(f2);
      for (int i=0; i < n; i++)
      { 
        cout << " " << mas1[i]; 
        Sum+=mas1[i];
      }
      cout << endl << "Summa quadr: "<< Sum;
      _getch();
}
1
Миниатюры
файлы с++  квадраты считает а в файл не пишет  
Вложения
Тип файла: txt 1.txt (80 байт, 3 просмотров)
Тип файла: txt 2.txt (107 байт, 3 просмотров)
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 18:10  [ТС] #21
не совсем то
есть файл. В нем числа от 1 до 30
нужно чтобы программа их считывала и в другой файл записывала их квадраты и сумму квадратов
и также на экран выводила их сумму
0
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 18:26 #22
Цитата Сообщение от kornelyk Посмотреть сообщение
не совсем то
есть файл. В нем числа от 1 до 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
26
27
28
29
30
31
32
33
34
35
36
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
#define n 30
 
using namespace std;
 
int main()
{
    int mas[n], mas1[n];
    int Sum = 0;
    FILE *f1, *f2;
    f1 = fopen("1.txt","r");
     f2 = fopen("2.txt","w");
     for (int i=0; i < n; i++)
         fscanf(f1, "%d", &mas[i]);
   //выведем сами числа
     fclose(f1);
     cout << endl;
     fprintf(f2,"%s","Квадраты чисел:\n");
      for (int i=0; i < n; i++)
      {
        cout << " " << mas[i]; 
        fprintf(f2,"%d ", mas[i]*mas[i]);
        /* Я не совсем понял что есть сумма квадратов этих чисел, простите :)
        fprintf(f2,"%s","Сумма квадратов чисел:\n");
        fprintf(f2,"%d ", mas[i]*mas[i]);*/
        Sum+=mas[i];
      }
      fprintf(f2,"%s","Сумма всех чисел: \n");
        fprintf(f2,"%d ", Sum);
        fclose(f2);
      _getch();
}
Прикрепляю то что у меня получилось в файле 2.txt
1
Вложения
Тип файла: txt 2.txt (149 байт, 3 просмотров)
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
09.03.2014, 18:30  [ТС] #23
спасибо большое)
я там сама поменяю, чтобы выводилась сумма квадратов)
1
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
09.03.2014, 18:34 #24
Обращайтесь
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2014, 18:34
Привет! Вот еще темы с ответами:

Дан файл вещественных чисел, заменить в нем все элементы на их квадраты - C++
Дан файл вещественных чисел.Заменить в нем все элементы на их квадраты.Заменить в нем все элементы на их квадраты.

Создать новый файл, содержащий квадраты всех элементов исходного файла - C++
Дан текстовый файл вещественных чисел. Создать новый файл, содержащий квадраты всех элементов исходного файла. Буду очень благодарен за...

Криво пишет даные в файл - C++
Надо через структуры записать даные в файл. Компилюю, ввожу даные, записивает, открываю то что записал а там какието &quot;иероглифы&quot;. В чем...

Fwprintf не пишет данные wchar_t в файл - C++
привет Что-то непонятно поведение. Функция run_command_with_response() возвращает непустую строку (ответ от консоли windows), Encode()...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.03.2014, 18:34
Ответ Создать тему
Опции темы

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