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

Посмотрите програму - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти в заданной стpоке максимальное двоичное число http://www.cyberforum.ru/cpp-beginners/thread136299.html
Найти в заданной стpоке максимальное двоичное число и вывести его на экpан в десятичном виде. Интересен метод отлова двоичных чисел и последующего перевода... Заранее благодарен.
C++ Не коректная работа Вот код #include<iostream.h> #include<conio.h> #include<math.h> #include<fstream.h> void main () { int i,y,x={2,-3,5,-1,4}; ofstream out_file("file1.dat"); for (i=0;i<5;i++)... http://www.cyberforum.ru/cpp-beginners/thread136295.html
C++ Окно ошибки
Делал на днях проект. Сегодня случайно удалил. Удалось почти все установить кроме нескольких вещей Не выводит должным образом окно ошибки. Если в полях ничего не вводить. Выводит окно. Если...
C++ Графическая интерпритация алгоритмов сортировки
Нужно реализовать графическую интерпретацию работы алгоритмов сортировки. Сижу, ломаю голову не зная как к этому подступиться. Опыта по С++ мало, с алгоритмами более менее всё ясно. Побывал сделать...
C++ Ошибка при вводе даных в файл http://www.cyberforum.ru/cpp-beginners/thread136271.html
Компилируется прога хорошо, но почему то не вводимые слова не записываются в файл не понимаю что я не так сделала? #include "stdafx.h" #include <string.h> #include <locale.h> #include <stdlib.h>...
C++ Осуществить "вращение" квадрата вокруг его центра вот есть не сложная задачка для Си: Осуществить "вращение" квадрата вокруг его центра. кто сможет сделать такое,буду очень благодарен =) подробнее

Показать сообщение отдельно
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 00:38
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 "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
int main ()
{
    const int size=10;
    int MAS[size]={2,5,7,9,-3,6,9,8,10,-10}; // это сам массив который сортируем
    std::vector <int> vec;
    vec.assign (MAS, MAS+size);
    std::cout << "Start:\n";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    size_t N_begin, N_end;
    std::cout << "Input N1: "; std::cin >> N_begin; // ввод 1ого интервала
    std::cout << "Input N2: "; std::cin >> N_end; // ввод 2ого интервала
 
    std::sort (vec.begin()+N_begin, vec.begin()+N_end); // сортировка массива в соответствии с интервалами
 
    std::cout << "Finish:\n"; // вывод
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    system ("pause");
    return 0;
}
а вот это моё чудо с которым я 2ую неделю бьюсь,
задача:Написать программу каталогизатор для книг. Записи о данных каждой книги должны содержать поля:
А) название
Б) автор
В) тематика
Г) год выпуска
Д) ISBN
Е) издательство
Программа должна сохранять данные в файл (вот это у ми глючит), читать из файла, производить поиск данных в файле по ключевому полю.
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
#include "stdafx.h"
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
 
struct  BOOK
{
        char *name;
        char *avtor;
        char *tematika;
        int *godvipuska;
        char *ISBN;
        char *izdatelstvo;
};
 using namespace std;
const int Amax=255;
ostream& operator<<(ostream& out, BOOK &J)
 { 
         out<<"\n фамилия автора : "<<J.avtor;
         out<< "\n тематика книги : "<<J.tematika;
         out<<"\n год выпуска : "<<J.godvipuska;
         out<< "\n ISBN: "<<J.ISBN;
     out<<"\n издательство: "<<J.izdatelstvo;
         return out;
 }
int main()
{  
    setlocale (LC_ALL, "Russian");
    BOOK k[3],h;
    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",k[i].name, Amax);
 
            
 
            printf ("введите фамилию автора\t");
            k[i].avtor = new char [Amax];
            scanf("%s",k[i].avtor, Amax);
 
 
            printf ("введите тематику книги\t");
            k[i].tematika = new char [Amax];
            scanf("%s",k[i].tematika, Amax);
 
 
            printf ("введите год выпуска книги\t");
            k[i].godvipuska = new int [Amax];
            scanf("%d",&k[i].godvipuska);
 
 
            printf ("введите ISBN книги\t");
            k[i].ISBN = new char [Amax];
            scanf("%s",k[i].ISBN, Amax);
 
 
            printf ("введите издательство книги\t");
            k[i].izdatelstvo = new char [Amax];
            scanf("%s",k[i].izdatelstvo, Amax);
 
 
            printf("\n");
        }
      fclose(f);
 
    f=fopen("katalogizator.txt","r+t");
    if (!f)
    {
        printf("Ошибка открытия файла");
        return 1;
    }
    for (i=0; i<3; i++)
    {
        fscanf (f, "%s %s %s %d %s %s \n", &k[i].name, &k[i].avtor, &k[i].tematika, &k[i].godvipuska, &k[i].ISBN, &k[i].izdatelstvo );
    }
      fclose(f);
for (i=0; i<3; i++)
      {
          printf("%s %s %s %d %s %s ", k[i].name, k[i].avtor, k[i].tematika, k[i].godvipuska, k[i].ISBN, k[i].izdatelstvo, Amax);
          printf("\n");
      };
printf("введите название ключевого поля для поиска данных\t");
char *temp;
temp = new char [Amax];
scanf_s("%s", temp, Amax-1);
printf ("%s",temp);
int u=0;
f=fopen("katalogizator.txt","r+t");
{
h.avtor = new char [Amax];
h.godvipuska = new int;
h.ISBN = new char [Amax];
h.izdatelstvo = new char [Amax];
h.name = new char [Amax];
h.tematika = new char [Amax];
}
 while(!feof(f))
{
    printf("\ntest");
 fscanf(f, "%s %s %s %d %s %s \n", &h.name, &h.avtor, &h.tematika, &h.godvipuska, &h.ISBN, &h.izdatelstvo);
 
 if(strcmp(h.name,temp) == 0)
 {
    printf("\n Такая книга найдена в этой строке %s %s %s %d %s %s \n", &h.name, &h.avtor, &h.tematika, &h.godvipuska, &h.ISBN, &h.izdatelstvo, Amax);
    u++;
    break;
 }
  if (k==0) printf("\n Таких книг нет"); 
 }
 
fclose(f);
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;
}
{
delete[] h.avtor; 
delete[] h.godvipuska; 
delete[] h.ISBN;
delete[] h.izdatelstvo ;
delete[] h.name;
}
        _getch();
          return 0;
 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru