Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте,я хочу чтобы моя программа сохраняла данные,а именно значения переменных в текстовом или еще в каком нибудь файле(не имеет значения) и могла потом загружать их из этого файла.
Подскажите какую функцию использовать и если надо,то что подключать?Заранее спасибо)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2010, 22:55
Ответы с готовыми решениями:

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

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

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

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

55
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.08.2010, 22:56 2
bol2909, Си или С++?
1
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 22:58  [ТС] 3
с++ но не visual если можно)
0
1360 / 988 / 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
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
29.08.2010, 23:03  [ТС] 5
а теперь объясните плиз в стиле с++ зачем там нужны циклы? да и вообще добавьте пожалуйста разъяснения к каждой функции))

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

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

Добавлено через 1 минуту
А еще я не вижу у вас в программе чтобы данные отображались ну что ввел и получил)
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.08.2010, 23:57 18
bol2909, Можно. Но на тему последнего сохранения это уже интереснее.
Я вижу вариант только завести новый файл, в него записывать промежуточные результаты, их и считывать и перезаписывать, а главный файл в котором запись производится в конец файла следовательно все будет доступно
0
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 00:04  [ТС] 19
Оке пойдет =) насколько я понял 3 переменных будут записыватся в 1 файл и перезаписыватся, а вся история будет в другом файле так?если так то напишите пожалуйста код буду вам очень благодарен,если тут есть репа то вам +
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2010, 00:17
Помогаю со студенческими работами здесь

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

Программа должна искать в текстовом файле строчку и если она есть вывести весь текстовый файл в memo (Где ошибка?)
procedure TForm16.Button2Click(Sender: TObject); var f,g:textfile; poisk,s:string; i:integer;...

Как НЕ сохранять изменения в файле *.xls
Здравствуйте, хотелось бы узнать еще одну вещъ. В этом коде: Private Sub Command1_Click() ...

Обновление данных с интернета о курсе валют и сохранять их в файле
Пытаюсь прикрепить файл к программе чтоб можно было обновлять данные с интернета о курсе валют и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru