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

Структурные файлы. Найти все события, произошедшие в данный промежуток времени. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напечатать только те слова, перед которыми в строке находятся только меньшие (по алфавиту) слова http://www.cyberforum.ru/cpp-beginners/thread232586.html
Дана строка s, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв. Между соседними словами стоит запятая, за последним словом - точка. Напечатать только те слова, перед которыми в строке находятся только меньшие (по алфавиту) слова, а за ними - только большие. Написать надо на С. Помогите пожалуйста!)
C++ Как обратиться к элементу структуры в классе есть класс #include <iostream> class bayer { public: bayer(); bayer(const char *name, double pay); void push(); http://www.cyberforum.ru/cpp-beginners/thread232585.html
C++ Рекурсия в языке С++
люди помогите написать рекурсию для такого задания: 1/(1+1/(3+1/(5+…1/(51+1/53)))) впринцыпе рекурсию написать и сам могу,просто не знаю как записать это вырожение...
Вызов конструктора копии C++
Не вызывается конструктор копии из производного класса #include <iostream> using namespace std; class A { int x; public: A(int _x) {cout << "non-const 'A'" << endl; x = _x; } A(const A &ob)
C++ BOOL B C++ =( http://www.cyberforum.ru/cpp-beginners/thread232582.html
объясните, пожалуйста, значение bool, и вообще, что это и зачем? насколько я понял, это в С++... и как можно в этом коде заменить bool на более простой тип данных? (на С-шный) void Sort(int col) { int trash=0; bool f=true; for (int i=1; (i<=col) && (f=true) ; i++) {
C++ CodeBlocks создает файл сильно большого размера Создаю простейшую программу, а размер exe-файла 457 килобайт. Как нужно настроить компилятор? #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; return 0; } подробнее

Показать сообщение отдельно
VAFER
2 / 2 / 0
Регистрация: 08.01.2011
Сообщений: 47

Структурные файлы. Найти все события, произошедшие в данный промежуток времени. - C++

22.01.2011, 17:36. Просмотров 483. Ответов 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
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <locale.h>
#include <iostream.h>
#pragma pack(1)
struct block{
        int Number [2];
        int month[2];
        int year[4];
        char Event[500];
};
#pragma pack(1)
 
FILE *f;
char ss[21];
void open(void);
void menu(void);
void add(void);
void view(void);
void f3(void);
int main(){
        cout<< " Дан файл, содержащий сведения об исторических событиях :\n\
        название события, число, месяц и год. Найти все события,\n \
        произошедшие в данный промежуток времени. Границы промежутка\n \
        задаются числом, месяцем и годом\n";
    cout<< "-------------------------------------------------------------------------------\n";
        
        open();
        menu();
        while(true){
                printf("\r Vyberite punkt menyu: ");
                char c;
                c = getche();
                switch(c){
                        case '1': add(); menu(); break;
                        case '2': view(); menu(); break;
                        case '3': f3(); menu(); break;
                        case '4': fclose(f); exit(0);
                }
        }
}
 
void menu(void){
        cout<<"\n";
        cout<<"1. Dobavlenie zapisi\n";
        cout<<"2. Prosmotr bazy\n";
        cout<<"3. Poisk poisk sobytiya po date\n";
        cout<<"4. Exit\n";
}
 
void open(void){
        f=fopen("Event.dat","rb+");
        if (f==NULL){
                cout<<"Ne mogu otkryt' \"Event.dat\".\n";
                getch();
                exit(-1);
        }
}
 
void add(void){
        int n;
        cout<<"\n Dobavlenie \n Exit - 0\n\n";
        block a;
        while(true){
                cout<<"Vvedite chislo : ";
                n = scanf ("%20[^\n]s", a.Number, 2);
                fflush(stdin);
                if (n!=1) a.Number[0]='\0';
                if(a.Number[0]=='0'||a.Number[0]==0) break;
 
                cout<<"Vvedite mesyac : ";
                n = scanf("%11[^\n]s", a.month, 2);
                fflush(stdin);
                if (n!=1) a.month[0]='\0';
                if(a.month[0]=='0'||a.month[0]==0) break;
 
                cout<<"Vvedite god : ";
                n = scanf("%20[^\n]s", a.year, 4);
                fflush(stdin);
                if (n!=1) a.year[0]='\0';
                if(a.year[0]=='0'||a.year[0]==0) break;
 
                cout<<"Vvedite sobytie : ";
                n = scanf("%20[^\n]s", a.Event, 500);
                fflush(stdin);
                if (n!=1) a.Event[0]='\0';
                if(a.Event[0]=='0'||a.Event[0]==0) break;
 
                fwrite(&a,sizeof(block),1,f);
        }
}
 
void view(void){
        fseek(f,0,SEEK_SET);
        cout<<"\n Prosmotr bazy...\n";
        cout<< "\t Chislo: \t Mesyac: \t God: \t Sobytie:\n";
       block a;
        while(true){
                if(fread(&a,sizeof(block),1,f)<1) break;
                printf("\t%s  \t\t%s \t\t%s \t%s\n",a.Number,a.month,a.year,a.Event);
        }
}
 
void f3(void){
        int n=0, result=0, cmpr=0;
        cout<<"Vvedite datu sobytiya(v formate: chislo mesyac god ):\n";
        n = scanf("%20[^\n]s", ss, 21);
        fflush(stdin);
        if (n!=1) ss[0]='\0';
        fseek(f,0,SEEK_SET);
        cout<<"Поиск...\n";
        block a;
        while(true){
               
                
                }
        //setlocale (LC_ALL,".1251");
        if (result==0) printf("\nПо Вашему запросу ничего не найдено.\n");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru