Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.74
bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
#1

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

29.08.2010, 22:55. Просмотров 2513. Ответов 55
Метки нет (Все метки)

Здравствуйте,я хочу чтобы моя программа сохраняла данные,а именно значения переменных в текстовом или еще в каком нибудь файле(не имеет значения) и могла потом загружать их из этого файла.
Подскажите какую функцию использовать и если надо,то что подключать?Заранее спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2010, 22:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа должна сохранять данный в файле (C++):

Пользователь вводит 10 чисел программа должна выдать 2 максимальных(берём от 1 до 10,если выпадает 2 10,то программа должна выдать 2 10,а не 10,9)
#include <iostream> using namespace std; int main () { int number,...

С++. Как правильно сохранять структуры разного размера в одном файле?
У меня есть структуры (struct) одного типа, но разного размера (длины строк в...

Разработать программу, позволяющую вводить с клавиатуры, сохранять в файле, просматривать и удалять информацию
В соответствии с данными Вашего варианта разработать программу, позволяющую...

Программа отказывается сохранять в файл
Программа отказывается сохранять в файл (Окно сохранения выбивает, но текст не...

Программа отказывается сохранять ответ в файл
У меня есть прога и меню к ней, так вот вся программа работает, кроме пункта...

Программа должна включаться в 19:00 выключаться в 21:00
программа должна включаться в 19 00 выключаться в 21 00 как это сделать ?

55
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.08.2010, 22:56 #2
bol2909, Си или С++?
1
bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 22:58  [ТС] #3
с++ но не visual если можно)
0
iama
1326 / 979 / 119
Регистрация: 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;
}
1
bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:03  [ТС] #5
а теперь объясните плиз в стиле с++ зачем там нужны циклы? да и вообще добавьте пожалуйста разъяснения к каждой функции))

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

я забыл, я не говорил тебе почитать учебники?
0
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;
}
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 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;
}
1
bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:12  [ТС] #11
Цитата Сообщение от bol2909 Посмотреть сообщение
Короче у меня есть полностью работающая и функциональная программа как то что вы написали туды поместить?вот код:
ответьте)
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.08.2010, 23:14 #12
bol2909, Почитать учебники...
В файл записываете значения трех переменных...
А потом записываете в другой файл результат.
1
bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:21  [ТС] #13
Я вас не очень понял,да и вы я думаю работу программы.
1.В программу вписываете сколько у вас денег сейчас
2.Вписываете ваши доходы за день
3.Вписываете ваши расходы за день.
4.Производится подсчет (доходы-расходы)
5.Результат от вычислений прибываляется к сумме которая была в начале.
6.Вывод на экран )
И что мне делать?Вы не могли бы поместить мой код в свой и я бы сам проанализировал)
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.08.2010, 23:30 #14
bol2909, А с файлом то вы что хотите делать? Читать из файла и результат писать в файл?
То есть читать 1-3. Писать 5. Или же с экрана и записывать все в файл?
1
bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:33  [ТС] #15
Я хочу чтобы в файл записывались 3 переменные доходы(earnings) расходы(costs) и общее кол-во (result) вот и все что я хочу и потом также они могли считыватся из программы ну например было 130 денег после всех подсчетов 150,сохранилось.загрузка было 150 после всех подсчетов 250 ну и т.д.)
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 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;
}
0
bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:55  [ТС] #17
А можно без перезаписи?мне нужно просто чтобы данные ввелись в программе и сохранились в файле как сохраняется история то есть в любой момент можно открыть файл (не через прогу) и посмотреть когда сколько потратил или получил,и потом просто загрузилось последнее сохранение) можно так сделать?

Добавлено через 1 минуту
А еще я не вижу у вас в программе чтобы данные отображались ну что ввел и получил)
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.08.2010, 23:57 #18
bol2909, Можно. Но на тему последнего сохранения это уже интереснее.
Я вижу вариант только завести новый файл, в него записывать промежуточные результаты, их и считывать и перезаписывать, а главный файл в котором запись производится в конец файла следовательно все будет доступно
0
bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 00:04  [ТС] #19
Оке пойдет =) насколько я понял 3 переменных будут записыватся в 1 файл и перезаписыватся, а вся история будет в другом файле так?если так то напишите пожалуйста код буду вам очень благодарен,если тут есть репа то вам +
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 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;
}
0
30.08.2010, 00:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2010, 00:17
Привет! Вот еще темы с решениями:

программа должна вывести текущую дату
вводим дату в формате DD//MM//YYYY и число n обозначающего количество прошедших...

Программа обработки прерывания от клавиатуры должна:
1. Распознавать нажатие горячей комбинации клавиш и реагировать на него звуком...

Программа, которая должна выводить случайное число
Написал программку, которая должна выводить случайное число. Но сколько раз я...

Программа должна загнать в динамический массив структур...
Программа должна загнать в динамический массив структур (размерность вводится)...


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

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

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