Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/218: Рейтинг темы: голосов - 218, средняя оценка - 4.89
1 / 1 / 3
Регистрация: 17.12.2015
Сообщений: 62
1

Простая база данных на С++

11.05.2016, 16:48. Показов 43074. Ответов 2
Метки нет (Все метки)

Всем привет!
Помогите с написанием программы и с поиском ошибки.
Надо создать базу данных, структура изображена на картинке. Первый раз пишу программу такого размера. Большую часть программы я уже написал, но она работает не корректно, а именно - не работает поиск. Помогите найти ошибки и дописать последнюю функцию, в которой надо определить фирму которая чаще всего , за эти годы, выступала в роли истца.

Простая база данных на С++


Код программы:

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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <cstdio>
#include <string.h>
#include <stdio.h>
#include <cstdlib>
#include <cstring>
 
using namespace std;
 
struct DATA{
 int day;
 int month;
 int year;
};
 
struct vidp {
 int telefon;
 char nazvFirm[15];
 };
 
struct sprava{
 DATA data;
 char predmet[20];
 vidp v;
 vidp obv;
};
 
sprava* array_of_sprava=new sprava[50];
FILE* Fs;
int nzap=0;
 
int i=0,h=0,g=0;
 
 
int reading()//чтение;
{
if ((Fs=fopen("my.dat","rb"))==NULL)
    {
          cout<<("Ne mogy otrit fail\n");
          return 0; }
   do
       {
         fread(&array_of_sprava[nzap],sizeof(sprava),1,Fs);
         nzap++;
         if (feof(Fs)) break;
 
       } while(1);
 
    nzap--;
 
    cout<<"Schitivanie zaversheno\n";
    fclose(Fs); // Закрываем файл
    system("pause");
    return 0;
}
 
int outp_to_file(){ // Вывод в файл
FILE* Fs;
   if ((Fs=fopen("my.dat","wb"))==NULL)
    {
     cout<<("Fail ne sozdan!\n");
     return 0;
    }
   for (int i=0;i<nzap;i++)
     fwrite(&array_of_sprava[i],sizeof(sprava),1,Fs);
   cout<<("Fail zapisan");
    fclose(Fs);
    system("pause");
}
 
 
 
int input_in_array(){//ввод в масив;
int q=1;
while (q!=0)
{
cout<<"\nVvedite den dela: ";
cin>>array_of_sprava[nzap].data.day;
cout<<"\nVvedite mesyac dela: ";
cin>>array_of_sprava[nzap].data.month;
cout<<"\nVvedite god dela: ";
cin>>array_of_sprava[nzap].data.year;
cout<<"\nVvedite predmet dela: ";
cin>>array_of_sprava[nzap].predmet;
cout<<"\nVvedite telefon istca: ";
cin>>array_of_sprava[nzap].v.telefon;
cout<<"\nVvedite firmy istca: ";
cin>>array_of_sprava[nzap].v.nazvFirm;
cout<<"\nVvedite telefon obvinyvachovanogo : ";
cin>>array_of_sprava[nzap].obv.telefon;
cout<<"\nVvedite firmy obvinyvachovanogo  : ";
cin>>array_of_sprava[nzap].obv.nazvFirm;
nzap++;
cout<<"\nVvedite 0 dlya okonchaniya zapisi ili luboe chislo dlya prodolzheniya: ";
cin>>q;
cout<<"\n";
 
}
}
 
int VivEkran()// Вывод на экран
{system("cls");
    for(int i=0;i<nzap;i++){
 
cout<<"Zapis #"<<i+1<<"\n";
cout<<"\ den dela: "<<array_of_sprava[i].data.day<<"\n";
cout<<"\ mesyac dela: "<<array_of_sprava[i].data.month<<"\n";
cout<<"\ god dela: "<<array_of_sprava[i].data.year<<"\n";
cout<<"\ predmet dela: "<<array_of_sprava[i].predmet<<"\n";
cout<<"\ telefon istca: "<<array_of_sprava[i].v.telefon<<"\n";
cout<<"\ firmy istca: "<<array_of_sprava[i].v.nazvFirm<<"\n";
cout<<"\ telefon obvinyvachovanogo : "<<array_of_sprava[i].obv.telefon<<"\n";
cout<<"\ firmy obvinyvachovanogo  : "<<array_of_sprava[i].obv.nazvFirm<<"\n";
 
 system("pause");
return 0;
    }}
 
 
 
 
    int poisk() // поиск
{ char f[20];
cout<<"Vvedite god dela: ";
cin>>f;
int k=0;
for (int i=0;i<nzap;i++)
if (array_of_sprava[i].data.year) {
cout<<"Dannih za etot god ne sushistvyet\n";
k++;
}
if(k==0)cout<<"Dannie za etot god ne naideni\n";
 
system("pause");
 
return 0;
}
 
 
 
int main()// меню
{
    int rez=1;
    while(rez!=0)
{
   system("cls");
   cout<<"Gaidyk Artyr RPZ-14 Variant №2\n";
   cout<<"Menu\n";
   cout<<"1 - Dobavit dannie;\n";
   cout<<"2 - Vvod dannih v fail;\n";
   cout<<"3 - Shitat dannie s faila;\n";
   cout<<"4 - Vivisti na ekran vsi dannie;\n";
   cout<<"5 - Poisk po gody;\n";
   cout<<"6 - Firma kotoraya chahe bila istsom;\n";
   cout<<"0 - Vihod;\n";
   cout<<nzap<<":";
   cin>>rez;
switch(rez)
{
 case 1:input_in_array();break;
 case 2:outp_to_file();break;
 case 3:reading();break;
 case 4:VivEkran();break;
 case 5:poisk();break;
 // case 6:Firma kotoraya chahe bila istsom();break;
 case 0: outp_to_file();exit(0);break;
 default :break;
}}
}
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2016, 16:48
Ответы с готовыми решениями:

Простая база данных С++
Написал я простенькую базу данных, по типу : У нас есть ввод названия фильма, года выпуска жанра и...

Простая база данных.
Всем привет.Есть несколько ступоров из которых я пока не могу выбраться.А очень хочется. Но обо...

Простая база данных с помощью массива
здравствуйте. Помогите пожалуйста, можете написать пример простейшей базы данных созданной с...

Простая База Данных в txt файле (ООП)
Приветствую. Помогите, пожалуйста, разобраться с подключением базы данных в форме отдельного txt...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
2
Просто Лис
Эксперт Python
4246 / 2656 / 911
Регистрация: 17.05.2012
Сообщений: 7,916
Записей в блоге: 9
11.05.2016, 17:40 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void poisk(){ // поиск
    cout<<"Vvedite god dela: ";
    int y;
    cin >> y;
    bool not_found = true;
    for (int i=0;i<nzap;i++) {
        if (array_of_sprava[i].data.year==y) {
cout<<"Zapis #"<<i+1<<"\n";
cout<<"\ den dela: "<<array_of_sprava[i].data.day<<"\n";
cout<<"\ mesyac dela: "<<array_of_sprava[i].data.month<<"\n";
cout<<"\ god dela: "<<array_of_sprava[i].data.year<<"\n";
cout<<"\ predmet dela: "<<array_of_sprava[i].predmet<<"\n";
cout<<"\ telefon istca: "<<array_of_sprava[i].v.telefon<<"\n";
cout<<"\ firmy istca: "<<array_of_sprava[i].v.nazvFirm<<"\n";
cout<<"\ telefon obvinyvachovanogo : "<<array_of_sprava[i].obv.telefon<<"\n";
cout<<"\ firmy obvinyvachovanogo  : "<<array_of_sprava[i].obv.nazvFirm<<"\n";
             not_found = false;
        }
    }
    if (not_found) {
        cout<<"Dannie za etot god ne naideni\n";
    }
}
2
1 / 1 / 3
Регистрация: 17.12.2015
Сообщений: 62
19.05.2016, 14:35  [ТС] 3
Как написать функцию, в которой надо определить фирму которая чаще всего , за эти годы, выступала в роли истца?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2016, 14:35

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Простая база данных( необходимо считать данные с файла)
Добрый день, необходимо составить простую базу данных в которой будет выведен список определенных...

Простая база данных
Ищу пример простой(без использования стека) базы данных. С возможностью создания базы, просмотра,...

Простая база данных.
Нужно сделать простую БД в постгресе,но есть проблема в недостатке знаний по этой теме.. Если кому...

Простая программка(база данных-поиск студентов)
Доброго времени суток. Товарищи помогите доделать программку. Не получается изменить название...

База данных, простая ошибка, не знаю как убрать
Переделал БД с редактированием под себя, выдает ошибку Program3.pas(108) : Ожидалось begin Вот...

База данных, основанная на службах vs База данных SQL Server
Доброго времени суток. Делал я, значит, Data Access Layer для ASP.NET MVC проекта. Создал обычную...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.