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

Вывод файла - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
viktorrrr
42 / 42 / 1
Регистрация: 11.02.2010
Сообщений: 358
19.07.2011, 16:49     Вывод файла #1
Вообщем, кое-как сделал запись в файл. Теперь как бы вывести то, что уже записал? Неправильно программа работает.

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include<iostream>
#include<fstream>
 
 
using namespace std;
 
struct Bibliotek{
    char Name[30];
    char Family[30];
    char Name_of_Book[50];
    unsigned long int amount;
};
 
void Record();
void Output();
void Record(){
    Bibliotek *t=new Bibliotek;
    
    ofstream File("bibliotek.dat", ios::app);
    if(!File){
        cerr<<"Файл не может быть открыт";
        exit(1);
    }
    cout<<"Введите фамилию автора"<<endl;cin>>t->Family;
        cout<<"Введите имя автора"<<endl;cin>>t->Name;
        cout<<"Введите название книги"<<endl;cin>>t->Name_of_Book;
        cout<<"Введите количество экземпляров"<<endl;cin>>t->amount;
        File<<t->Family<<t->Name<<t->Name_of_Book<<t->amount;
    File.close();
}
 
void Output(){
    Bibliotek *tmp=new Bibliotek;
    ifstream File2("bibliotek.dat", ios::in);
    if(!File2){
        cerr<<"Проблемы с файлом";
        exit(1);
    }
    while(!File2.eof()){
        File2.getline(tmp->Family,30);
        File2.getline(tmp->Name,30);
        File2.getline(tmp->Name_of_Book,50);
        cout<<tmp->amount;
    }
    
    File2.close();
}
int main()
{
 
    setlocale(LC_ALL,"Russian");
    char i;
    do{
        cout<<"введите 1 чтобы добавить в базу новую книгу"<<endl;
        cout<<"Нажмите 2, чтобы вывести базу"<<endl;
        cout<<"Нажмите 0, чтобы выйти из программы"<<endl;
        cin>>i;
        switch(i){
        case '1':
    Record();
    break;
        case '2':
            Output();
            break;
        
        }
    }while(i!='0');
    return 0;
}
Добавлено через 2 часа 51 минуту
Пажаааалстааа!!! Обратите на меня внимание!!)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2011, 16:49     Вывод файла
Посмотрите здесь:

вывод из файла C++
C++ вывод из файла
C++ Вывод из файла
C++ вывод из файла
Вывод из файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
19.07.2011, 20:22     Вывод файла #21
Асикс, мои тебе замечания
1 Строка 15 и 34 утечка памяти

2 вывод лишь последней считанной записи
Код
C++
1
2
3
4
5
6
7
8
9
while(!File2.eof()){
                File2.sync();
                File2 >> tmp->Family;
                File2 >> tmp->Name;
                File2 >> tmp->Name_of_Book;
                File2 >> tmp->amount;
        }
 
        cout << "\n\n" << tmp->Family << '\n' << tmp->Name << '\n' << tmp->Name_of_Book << '\n' << tmp->amount;
3 в руссификации не указал что шрифт консоли на Lusinda Console нужно менять, как автор этой темыы об этом узнает, ты ему в мыслях об своих просчётах расскажешь???
Смешной не я, а ты в своих глупых ошибках, особенно во 2-й, хуже 1-курсника, так что уволь меня от своих замечаний
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.07.2011, 20:29     Вывод файла #22
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
1 Строка 15 и 34 утечка памяти
C++
1
Bibliotek *t=new Bibliotek;
Здесь ? Почему ?

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
2 вывод лишь последней считанной записи
Мой код подразумевает только одну запись в базу, ты ведь такой умный, мог и догадаться.

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
3 в руссификации не указал что шрифт консоли на Lusinda Console нужно менять, как автор этой темыы об этом узнает, ты ему в мыслях об своих просчётах расскажешь???
Его проблемы.
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
собенно во 2-й, хуже 1-курсника
Оно и понятно, я же только 10 клас, не не вру, 11.
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
так что уволь меня от своих замечаний
Увы, этого гарантировать немогу.
-=ЮрА=-
Заблокирован
Автор FAQ
19.07.2011, 21:04     Вывод файла #23
1 Ну так вод, в функции вывода необходимо организовать просмотр базы, а не последней записи, обычно база данных предполагает наличие записей отличное от одной, тут даже смешно, я думал в базе одна запись))))
2 Дальше, всё что выделено new нужно чистить delete - писать программы нужно не для загаживания оперативы, а с минимально необходимым и рациональным её использованием, тоже подучи на следующий год в 11-м классе
3 Если ты пишешь не для того чтобы помочь человеку, а просто показать что ты научился юзать консоль, то толку от тебя на форуме ноль...
Как по мне это не в какие ворота не лезит

"3 в руссификации не указал что шрифт консоли на Lusinda Console нужно менять, как автор этой темыы об этом узнает, ты ему в мыслях об своих просчётах расскажешь???
Его проблемы."
4 В дальнейшем старайся делать программы отвечающие просьбам топик стартеров, форум для этого призван. На сим пока.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.07.2011, 21:13     Вывод файла #24
Про delete, да забыл, так как писал в спешке, в реальной программе, это, естественно, бы не случилось.
Остальное -- бред. Человек попросил сделать ему вывод из файла, я сделал, да, одну запись, но там переделать -- одна строчка кода, так что будет ему чем заняться.

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
а просто показать что ты научился юзать консоль, то толку от тебя на форуме ноль...
Ага, от тебя очень много(сарказм), пихаешь новичкам свой быдлокод, это по-твоему тру ?
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
На сим пока.
Удачи.
viktorrrr
42 / 42 / 1
Регистрация: 11.02.2010
Сообщений: 358
20.07.2011, 01:18  [ТС]     Вывод файла #25
Жаль, что поругались(((. Хотел еще спросить, как поиск сделать)) и удаление)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2011, 01:28     Вывод файла
Еще ссылки по теме:

Вывод из файла C++
Вывод из файла C++
Вывод из файла С++ C++

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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
20.07.2011, 01:28     Вывод файла #26
Цитата Сообщение от viktorrrr Посмотреть сообщение
Хотел еще спросить, как поиск сделать))
При считывание базы, сравнивешь нужное поле с ключом.
Цитата Сообщение от viktorrrr Посмотреть сообщение
и удаление)))
C++
1
2
3
4
5
6
7
8
9
std::fstream fs("input.txt", std::ios::in);//Открываеш на чтение
/*
Все сожержимое заносиш в буфер(ы) с которым(и) будеш работать
*/
fs.close()//Закрываеш поток
fs.open("input.txt", std::ios::out)//и открываеш его на запись
/*
Тут заносиш в файл все, без той книжки, которую хочешь удалить.
*/
Yandex
Объявления
20.07.2011, 01:28     Вывод файла
Ответ Создать тему
Опции темы

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