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

Программа должна сохранять данный в файле - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.74
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 22:55     Программа должна сохранять данный в файле #1
Здравствуйте,я хочу чтобы моя программа сохраняла данные,а именно значения переменных в текстовом или еще в каком нибудь файле(не имеет значения) и могла потом загружать их из этого файла.
Подскажите какую функцию использовать и если надо,то что подключать?Заранее спасибо)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.08.2010, 22:56     Программа должна сохранять данный в файле #2
bol2909, Си или С++?
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 22:58  [ТС]     Программа должна сохранять данный в файле #3
с++ но не visual если можно)
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
29.08.2010, 23:00     Программа должна сохранять данный в файле #4
В стиле Си
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main(void)
{
    FILE *fp;
    size_t count;
    char const *str = "привет\n";
 
    fp = fopen("пример.txt", "wb");
    if(fp == NULL) {
        perror("ошибка открытия пример.txt");
        return EXIT_FAILURE;
    }
    count = fwrite(str, 1, strlen(str), fp);
    printf("Записано %lu байт. fclose(fp) %s.\n", (unsigned long)count, fclose(fp) == 0 ? "успешно" : "с ошибкой");
 
    return 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
#pragma hdrstop
#include <fstream>
#include <conio.h>
#include <string.h>
using namespace std;
#define nl '\n'
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
fstream str("c:\\test.txt",ios_base::in|ios_base::out|ios_base::trunc);
for(int i=0;i<5;i++)
{
char s[100];
cin>>s;
str<<s<<'\n';
};
str.seekp(0);
while(!str.eof())
{
char s[100];
str.getline(s,100,'\n');
cout<<s<<'\n';
};
getch();
str.close();
return 0;
}
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:03  [ТС]     Программа должна сохранять данный в файле #5
а теперь объясните плиз в стиле с++ зачем там нужны циклы? да и вообще добавьте пожалуйста разъяснения к каждой функции))

Добавлено через 1 минуту
И что такое str?)
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
29.08.2010, 23:07     Программа должна сохранять данный в файле #6
bol2909,
1. циклы нужны, чтобы мы могли считать неопределенное колличество информации, ведь мы заранее не знаем, какая длина файла.
2. str - файловый поток, через который осуществляются манипуляции с файлами.
3. почитай, вконец, учебники!
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:07  [ТС]     Программа должна сохранять данный в файле #7
а вы вообще пробовали это запустить?у меня тут минимум 13 ошибок
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
29.08.2010, 23:08     Программа должна сохранять данный в файле #8
Цитата Сообщение от iama Посмотреть сообщение
почитай, вконец, учебники!

я забыл, я не говорил тебе почитать учебники?
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:10  [ТС]     Программа должна сохранять данный в файле #9
Цитата Сообщение от iama Посмотреть сообщение
bol2909,
3. почитай, вконец, учебники!
Я еще не дошел до этого

Добавлено через 1 минуту
Короче у меня есть полностью работающая и функциональная программа как то что вы написали туды поместить?вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "iostream"
#include "conio.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int earnings,costs,total_money=0,now,result=0;
    std::cout<<"Please enter your number of money\n";
    std::cout<<"Total money:"; std::cin>>now;
    std::cout<<"Please enter your earnings\n";
    std::cout<<"Earnings:"; std::cin>>earnings;
    std::cout<<"Please enter your number of costs\n";
    std::cout<<"Costs:"; std::cin>>costs;
    total_money=earnings-costs;
    result=total_money+now;
    std::cout<<"Your total money is now:"<<result<<"rub.";
        
    _getch();
    return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.08.2010, 23:10     Программа должна сохранять данный в файле #10
bol2909, Ошибки лечатся просто:

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
#include <fstream>
#include <conio.h>
#include <string>
using namespace std;
#define nl '\n'
//---------------------------------------------------------------------------
 
int main(int argc, char* argv[])
{
fstream str("c:\\test.txt",ios_base::in|ios_base::out|ios_base::trunc);
for(int i=0;i<5;i++)
{
char s[100];
cin>>s;
str<<s<<'\n';
};
str.seekp(0);
while(!str.eof())
{
char s[100];
str.getline(s,100,'\n');
cout<<s<<'\n';
};
getch();
str.close();
return 0;
}
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:12  [ТС]     Программа должна сохранять данный в файле #11
Цитата Сообщение от bol2909 Посмотреть сообщение
Короче у меня есть полностью работающая и функциональная программа как то что вы написали туды поместить?вот код:
ответьте)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.08.2010, 23:14     Программа должна сохранять данный в файле #12
bol2909, Почитать учебники...
В файл записываете значения трех переменных...
А потом записываете в другой файл результат.
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:21  [ТС]     Программа должна сохранять данный в файле #13
Я вас не очень понял,да и вы я думаю работу программы.
1.В программу вписываете сколько у вас денег сейчас
2.Вписываете ваши доходы за день
3.Вписываете ваши расходы за день.
4.Производится подсчет (доходы-расходы)
5.Результат от вычислений прибываляется к сумме которая была в начале.
6.Вывод на экран )
И что мне делать?Вы не могли бы поместить мой код в свой и я бы сам проанализировал)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.08.2010, 23:30     Программа должна сохранять данный в файле #14
bol2909, А с файлом то вы что хотите делать? Читать из файла и результат писать в файл?
То есть читать 1-3. Писать 5. Или же с экрана и записывать все в файл?
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:33  [ТС]     Программа должна сохранять данный в файле #15
Я хочу чтобы в файл записывались 3 переменные доходы(earnings) расходы(costs) и общее кол-во (result) вот и все что я хочу и потом также они могли считыватся из программы ну например было 130 денег после всех подсчетов 150,сохранилось.загрузка было 150 после всех подсчетов 250 ну и т.д.)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.08.2010, 23:46     Программа должна сохранять данный в файле #16
bol2909, Кхм. Фишка в чем. Ввод сразу через файл. В файл перезаписывается результат и расходы, доходы. Впринципе я могу сделать, чтобы доходы/расходы вводились в программе. Нужно?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
 
int main()
{
   std::ifstream ifs;
   ifs.open("input.txt");
   if(!ifs)
      std::cout<<"Can`t open file\n";
   int total_money, earnings, costs, now, result;
   ifs>>now>>earnings>>costs;
   total_money=earnings-costs;
   result=total_money+now;
   std::ofstream ofs;
   ofs.open("input.txt");
   ofs<<result<<' '<<earnings<<' '<<costs;
   return 0;
}
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:55  [ТС]     Программа должна сохранять данный в файле #17
А можно без перезаписи?мне нужно просто чтобы данные ввелись в программе и сохранились в файле как сохраняется история то есть в любой момент можно открыть файл (не через прогу) и посмотреть когда сколько потратил или получил,и потом просто загрузилось последнее сохранение) можно так сделать?

Добавлено через 1 минуту
А еще я не вижу у вас в программе чтобы данные отображались ну что ввел и получил)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.08.2010, 23:57     Программа должна сохранять данный в файле #18
bol2909, Можно. Но на тему последнего сохранения это уже интереснее.
Я вижу вариант только завести новый файл, в него записывать промежуточные результаты, их и считывать и перезаписывать, а главный файл в котором запись производится в конец файла следовательно все будет доступно
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 00:04  [ТС]     Программа должна сохранять данный в файле #19
Оке пойдет =) насколько я понял 3 переменных будут записыватся в 1 файл и перезаписыватся, а вся история будет в другом файле так?если так то напишите пожалуйста код буду вам очень благодарен,если тут есть репа то вам +
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2010, 00:17     Программа должна сохранять данный в файле
Еще ссылки по теме:

C++ Должна ли программа закрываться сразу после открытия?
C++ Программа должна включаться в 19:00 выключаться в 21:00
Найти сумму всех чисел в файле, найти данный символ, добавить текст C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
30.08.2010, 00:17     Программа должна сохранять данный в файле #20
bol2909,

Посмотрите то-ли это что вам нужно... В временном файле хранится 1 переменная - количество денег. В первый запуск - ее надо ввести в файл temp. Далее идет запись в главный файл. Там создается история в итоге. Только одно НО... Загрузить доходы/расходы не получится. Потому как считываю я только кол-во денег из файла - расходы/доходы вводятся в программе. Если подойдет прошу. Если нет - напишите конкретно что

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
#include <iostream>
#include <fstream>
 
int main()
{
   std::ifstream ifs;
   ifs.open("temp.txt");
   if(!ifs)
      std::cout<<"Can`t open file\n";
   int total_money, earnings, costs, now, result;
   ifs>>now;
   std::cout<<"Enter your earnings: ";
   std::cin>>earnings;
   std::cout<<"Enter your costs: ";
   std::cin>>costs;
   total_money=earnings-costs;
   result=total_money+now;
   std::cout<<"Your money: "<< now <<'\n';
   std::cout<<"Your costs: "<< costs<< '\n';
   std::cout<<"Your earnings: "<< earnings<< '\n';
   std::cout<<"Now your money: "<< result<< '\n';
   std::ofstream temp;
   temp.open("temp.txt");
   temp<<result;
   std::ofstream ofs;
   ofs.open("input.txt", std::ios::app);
   ofs<<result<<' '<<earnings<<' '<<costs<<'\n';
   return 0;
}
Yandex
Объявления
30.08.2010, 00:17     Программа должна сохранять данный в файле
Ответ Создать тему
Опции темы

Текущее время: 08:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru