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

Написать программу каталогизатор для книг - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конструкторы http://www.cyberforum.ru/cpp-beginners/thread127219.html
Есть фрагмент кода: #include <iostream> using namespace std; class Counter { public: Counter operator++(int); //постфикс Counter(); ~Counter();
C++ Как считать? Здравствуй, помогите пожалуйста считать строку вида 2 3 3 9 3 5 дело в том что количество заранее не известно. И мне нужно получить их как int. Количество пробелов может быть неограничено и количество переводов строк тоже. Прошу вас подробнее написать, просто очень надо! http://www.cyberforum.ru/cpp-beginners/thread127209.html
Класс «вещественная матрица» C++
Описать класс, реализующий тип данных «вещественная матрица» и работу с ними. Класс должен реализовывать следующие операции над матрицами: •операции вычисления обратной и транспонированной матрицы, операцию возведения в степень; • методы вычисления детерминанта и нормы; • методы, реализующие проверку типа матрицы (квадратная, диагональная, нулевая, единичная, симметрическая, верхняя...
Как исправить ошибку? C++
#include <stdio.h> #include <tchar.h> #include <stdlib.h> #include <locale.h> #include <string.h> //Стуктура времени //Основная структура списка struct bus
C++ Как узнать текущее положение указателя файла? http://www.cyberforum.ru/cpp-beginners/thread127177.html
Как узнать текущее положение указателя файла в байтах?
C++ Для каждого 0.1≤a≤0.2 при всех 0.5≤b≤0.8 с шагом ∆B=0.1... Здравствуйте, форумчане...нуждаюсь в помощи по написанию программы...помогите пожалуйста... Задание: Для каждого 0.1≤a≤0.2 при всех 0.5≤b≤0.8 с шагом ∆B=0.1 вычислить с=(a*x^2+b*x)/(x+e^x) + x; d=Cos(a*b+b); причем, если d≤0, то ∆a=0.025 иначе a=0.01; x-вводить подробнее

Показать сообщение отдельно
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
18.05.2010, 21:52  [ТС]
я сделала немного по другому, но у ми проблема в том что в файлах часть проги работает как то по другому (поиск данных взяла из другой лабы) вот я и пытаюсь так сказать сделать так что бы в файде работала, но ничего не получается, или кол-во ошибок за 100 заваливает
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
#include "stdafx.h"
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
 
struct  BOOK
{
    char *name;
    char *avtor;
    char *tematika;
    int  godvipuska;
    char *ISBN;
    char *izdatelstvo;
};
 using namespace std;
 
fostream& operator<<(ostream& out, BOOK& J)
 { 
     cout<<"\n фамилия автора : "<<J.avtor;
     cout<< "\n тематика книги : "<<J.tematika;
     cout<<"\n год выпуска : "<<J.godvipuska;
     cout<< "\n ISBN: "<<J.ISBN;
     cout<<"\n издательство: "<<J.izdatelstvo;
     return cout;
 }
 
 
int _tmain()
{    
    setlocale (LC_ALL, "Russian");
    const int Amax=255;
    BOOK k[3], g;
    int i;
 
 
    FILE* f=fopen("katalogizator.txt","w+t");
    if (!f)
    {
        printf("Ошибка открытия файла");
        return 1;
    }
    
    for (i=0; i<3; i++)
        { 
            printf ("введите название книги\t");
            k[i].name = new char [Amax];
            scanf_s("%s",k[i].name, Amax);
 
            printf ("введите фамилию автора\t");
            k[i].avtor = new char [Amax];
            scanf_s("%s",k[i].avtor, Amax);
 
            printf ("введите тематику книги\t");
            k[i].tematika = new char [Amax];
            scanf_s("%s",k[i].tematika, Amax);
 
            printf ("введите год выпуска книги\t");
            scanf_s("%i",&k[i].godvipuska);
 
            printf ("введите ISBN книги\t");
            k[i].ISBN = new char [Amax];
            scanf_s("%s",k[i].ISBN, Amax);
 
            printf ("введите издательство книги\t");
            k[i].izdatelstvo = new char [Amax];
            scanf_s("%s",k[i].izdatelstvo, Amax);
 
            printf("\n");
        }
for (i=0; i<3; i++)
{
    fprintf (f, "%s %s %s %i %s %s \n", k[i].name, k[i].avtor, k[i].tematika, k[i].godvipuska, k[i].ISBN, k[i].izdatelstvo );
}
      fclose(f);
 
 
    f=fopen("katalogizator.txt","r+t");
    if (!f)
    {
        printf("Ошибка открытия файла");
        return 1;
    }
    for (i=0; i<3; i++)
    {
        fscanf (f, "%s %s %s %i %s %s \n", &k[i].name, &k[i].avtor, &k[i].tematika, &k[i].godvipuska, &k[i].ISBN, &k[i].izdatelstvo );
    }
      fclose(f);
 
    g.name = new char [Amax];
    printf("введите название ключевого поля для поиска данных\t");
    scanf_s("%s",g.name, Amax);
    bool ret = false;            
         for (i=0; i<3; i++)
         {
         if (strcmp(k[i].name, g.name ) == 0)
         {  
             cout<< (k[i]);
         ret = true;
         }
         }
         if (!ret) printf("Таких книг нет\t");
 
for (i=0; i<3; i++)
{
  delete[] k[i].avtor;
  delete[] k[i].ISBN;
  delete[] k[i].izdatelstvo;
  delete[] k[i].name;
  delete[] k[i].tematika;
}
    _getch();
      return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru