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

Курсовая: Домашняя библиотека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ фоторобот http://www.cyberforum.ru/cpp-beginners/thread859762.html
Написал программу для составления фоторобота. Я составил фоторобот из 7 частей. Как можно сохранить эту картинку так чтобы потом ее можно было открыть, и продолжить работу с ней? к примеру мне...
C++ Как вывести std::wstring в поток? Как вывести std::wstring в поток, если в строке есть кириллица? http://www.cyberforum.ru/cpp-beginners/thread859746.html
C++ Найти количество правильных скобочных последовательностей из n скобок, где n четное число.
Найти количество правильных скобочных последовательностей из n скобок, где n четное число. например 6 скобок. 1ая последовательность: () () () 2: ( () () ) 3: ( ( () ) ) 4: ( () ) () 5: () ( () )....
C++ поиск наибольшего слова в строке
Помогите как найти самое большое слова из заданной строки??? Добавлено через 22 минуты Спасибо уже разобрался вот прогаесли кому надо.... //Поиск слов с максимальной длиной символов #include...
C++ структуры http://www.cyberforum.ru/cpp-beginners/thread859707.html
ребята подскажите как мне сделать так что если при ввеоде нескольких слов на русском она переводила ,искала в массиве структуры сначало первое слово,нашла вывела англ,потом второе также #include...
C++ Профилирование, C++ и вставки ASM, прошу совета есть собственно программа, вот часть кода где я и колдую int radix=10; int n = 1; double X=0.0, summ=0.0, a,b,c,d,e; #define n 100000 //int k(1); for (int k = 1; k <= n; k++ ) { подробнее

Показать сообщение отдельно
Sniti01
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 50
31.05.2013, 16:15  [ТС]
Задание немного изменилось) Теперь я записываю всё информацию в файл, считываю из файла. вывожу всю информацию, добавляю, удаляю, сортирую и всё в фале. Добавление и считывание из файла у меня вышло сделать, но не выходит удаление и сортировка.
На счёт этого я загуглил и понял что для удаления мне надо считать всю информацию из файла, изменить и перезаписать заново, но у меня не выходит создать поиск по файлу. Подскажите пожалуйста, как сделать поис и удаление! Очень нужна помощь!
Желательно к этому коду который я написал:
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
 
class Book {
 
public:
string Auzer;
string name;
string tupe;
string number;
int year;
int str;
};
 
 
class Librari: public Book {
private:
 vector <string> bibl_book;
public:
 void add (int);
 void prosmotr();
 void sort (int, int);
 void udalenie ();
};
 
 
void Librari::add (int kol){
      string end_str = "end_str";
        for (int i = 0; i < kol; i++){
    cout << "Введите номер книги: ";
    cin >> number;      
    cout << " Введите Автора: " ;
    cin >> Auzer ;
    cout << " Введите название книги: ";
    cin >> name;
    cout << " Введите год издания: ";
    cin >> year;
    cout << " Введите количество страниц: ";
    cin >> str;
    cout << endl;
        //      ******запишем данные в файл*******
    ofstream bibl (" book.txt ", ios_base::app);
    
    if (!bibl.is_open()) // если файл не был открыт
    {
     cout << "Файл не может быть открыт или создан\n"; // напечатать соответствующее сообщение
    }
    else{
    bibl << number << " ";
    bibl << Auzer  << " ";
    bibl << name << " ";
    bibl << year << " ";
    bibl << str << " ";
    bibl << "\n";
    }
  }
}
 
void Librari::prosmotr (){
    char buf[1000];
    ifstream bibl (" book.txt ", ios_base::in ); // открываем файл только для чтения
    if (!bibl.is_open()) // если файл небыл открыт
    {
     cout << "Файл не может быть открыт или создан\n"; // напечатать соответствующее сообщение
    }
    else{
            cout << "    Домашняя библиотека!!! " << endl;
        while (!bibl.eof() ){
        bibl.getline(buf,1000);
        cout << buf << endl;
        }
    }   
}
 
    
void Librari::udalenie( ){
 
    char stroka [5000];
    char s [50];
    int i = 0;
    string noll = " ";
    ifstream bibl (" book.txt ", ios_base::app);
    if (!bibl.is_open()) // если файл небыл открыт
    {
     cout << "Файл не может быть открыт или создан\n"; // напечатать соответствующее сообщение
    }
/*
    string del_book;
 cout << "Введите номер книги которую хотите удалить: ";
 cin >> del_book;*/
 
    bibl.getline(stroka,5000);
 
 }
 
 
 
int _tmain(int argc, _TCHAR* argv[]){
 
 setlocale(LC_CTYPE, "rus");
Librari Object;
                    //      ***********меню программы***********
    while (true){
      cout << "        MENU" << endl;
      cout << "1 - Для добавления книг в библиотеку: " << endl;
      cout << "2 - Для просмотра книг в библиотеке: " << endl;
      cout << "3 - Для сортировки книг в библиотеке: " << endl;
      cout << "4 - Для удаления книг в библиотеке: " << endl;
      cout << "5 - Взять книгу в библиотеке: " << endl;
      cout << "6 - Выйти из программы: " << endl;
      int d;
      cin >> d;
 
      switch(d){
      case 1 : {
          cout << "Введите сколько книг будуть занесены в библиотеку :";
            int kol; 
              cin >> kol;
                Object.add (kol);
                  break;
               }
      case 2 : { Object.prosmotr();
                  break;
               }
      case 3 : {
         /*cout << "Введите адрес 1 книги:";
           int adr_1, adr_2;
            cin >> adr_1;
             cout << "Введите адрес 2 книги:";
              cin >> adr_2;
               Object.sort(adr_1, adr_2);
                  break;*/
               }
       case 4 : {
    /*  cout << "Введите адрес книги которую хотите удалить (от 1 - n)";
           int r;
            cin >> r;*/
                Object.udalenie();
          break;
               }
       case 5: {
              //
               }
       case 6: {return 0; }
          
   default: 
       cout << "Ошибка! Введите правельный знак операции!" << endl;
      }
    }
    system("pause");
    return 0;
}
Добавлено через 17 часов 38 минут
Уже второй день мучаюсь, но не могу найти как удалить строку из файла. Помогите кому не трудно!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru