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

Простенькая БД на С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ массив http://www.cyberforum.ru/cpp-beginners/thread323288.html
как объявить одномерный массив , состоящий из n веществ. элементов ???
C++ Структуры в С++. Помогите решить задачу на языке си++: 1)записи 2)с помощью динамических списков Известны данные о цене и тираже каждого из 15 журналов. Найти среднюю стоимость журналов, тираж которых меньше 10 000 экземпляров. http://www.cyberforum.ru/cpp-beginners/thread323285.html
Ввод/вывод двоичных файлов C++
Нужно чтоб первый создаваемый файл был двоичным и данные в нем в двоичном режиме Вот мой код #include <iostream> #include <fstream> #include <stdlib.h> #include <locale> #include <iterator> #include <conio.h> #include <string> #include <vector> #include <algorithm>
C++ Как записать число которое имеет 22 цифр
Здравствуйте! cin>>4958439238923098349024 cout<<-3689348814741910324 Как сделать чтобы число ввести и вывести было одинаковым! Пробовал int __int64 and long long не помогает... Как сделать? Заранее благодарен!
C++ И снова у меня ошибка в коде http://www.cyberforum.ru/cpp-beginners/thread323267.html
Всем доброго времени суток! У меня не пашет опять прога, я не знаю в чём ошибка, вот задание Реализовать умножение двух матриц А(3*4) и В(4*3) когда элементы этих матриц находятся в двух одномерных массивах #include<stdio.h> int main() { int i, j, k, a, b, c; printf("\nvvedy matrycu a: \n"); for(i=0; i<3; i++) for(j=0; j<4; j++)
C++ выбрать последующую литературу... подскажите какие из этих книжек стоит выбрать для дальнейшего прочтения или лучше прочитать их все? на данный момент изучаю по книге: 1. стенли липпман вводный курс 4 издание а вот список книг, которые для себя выбрал для дальнейшего прочтения 2. Керниган Б., Ритчи Д. Язык программирования Си / Пер. с англ., 3-е изд., испр. — СПб.: «Невский Диалект», 2001. 3. Эккель Б. Философия С++.... подробнее

Показать сообщение отдельно
zaxi
2 / 2 / 0
Регистрация: 18.01.2010
Сообщений: 23
23.06.2011, 10:02     Простенькая БД на С++
есть без записи в файл и удаления, но вообще это делается так же, как с масивом - из оперативной памяти запись списка в файл и обратно при необходимости. лучше делать две функции - загрузка в файл и выгрузка. редактирование - найти нужный элемент по люболму полю, а потом последовательно переписать записи

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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
#include "stdafx.h"
#include <string.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<malloc.h>
#include<conio.h>
struct avto
{char name[10];
char fam[10];
int num;
struct avto *next,*prev;};
struct avto *first,*cut,*temp,*p1,*p2,*p3,*p4,*p5, *lst,*p;
 
void Insert( )
{
system("cls");
 if ((temp=(struct avto*)malloc(sizeof(struct avto)))==NULL)exit(1);
 printf("Enter name: ");
 gets((*temp).name);
 printf("Enter surname: ");
 gets((*temp).fam);
 printf("Enter the number of car: ");
 scanf("%d",&(*temp).num);
 if (first==NULL)
  {
   (*temp).next=NULL;
   (*temp).prev=NULL;
   first=temp;
   cut=temp;
  }
  else
   {
    (*temp).next=NULL;
    (*temp).prev=cut;
    (*cut).next=temp;
    cut=temp;
   }
 system("cls");
}
void Delete (int key)
{system("cls");
struct avto  *p, *q, *r, *h;
 char fcon[10];
void clrscr();
 if (first==NULL) printf("The list is empty\n");
 else
 {
 
 h=first;
        while (h!=NULL)
        {
            p=h;
            if ((*p).num==key)
            {
                if((p->prev!=NULL)&&(p->next!=NULL))
                {
                    q=p->prev;
                    r=p->next;
                    q->next=r;
                    r->prev=q;
                    free(p);
                }
                if ((p->prev==NULL)&&(p->next!=NULL))
                {
                    q=p->next;
                    q->prev=NULL;
                    free(p);
                    first=q;
                }
 
                if((p->next==NULL)&&(p->prev!=NULL))
                {
                    q=p->prev;
                    q->next=NULL;
                    free(p);
                }
                break;
            }
            h=h->next;
        }
 
}
}
void Searsh()
{char s[15]; 
int key;
int key1;
system("cls");
void clrscr();
if (first==NULL) printf("The list is empty");
else
{printf("Enter the number of machines: ");
scanf("%d", &key1);
temp=first;
while(temp!=NULL)
    {
        if ((*temp).num==key1)
        {
             printf("\n|----------------------------|\n");
             printf("| Name     | Surname | Number|");
             printf("\n|----------------------------|");
             printf("\n|%10s|%9s|%-7d|",(*temp).name,(*temp).fam,(*temp).num);
             printf("\n|----------------------------|");
             temp=(*temp).next;
        }
        else temp=(*temp).next;
    }
printf("\nDelete? 1 - Yes or 2 - No: ");
scanf("%d",&key);
getchar();
switch(key)
    {
    case    1: Delete(key1);
    case    2: system("cls");
    }
 
}
 
}
void List ( )
{system("cls");
void clrscr();
 if (first==NULL) printf("The list is empty");
  else
  {
   printf("\n|--------------------------------|\n");
   printf("| Name     | Surname | Number      |");
   printf("\n|--------------------------------|");
   temp=first;
   do
   {
    printf("\n|%10s|%9s|%-11d|",(*temp).name,(*temp).fam,(*temp).num);
    printf("\n|--------------------------------|");
    temp=(*temp).next;
   }
   while (temp!=NULL);
  }
 
 getchar();
 getchar();
 
  system("cls");
}
void sort(void)
{p=first;
system("cls");
while(p!=NULL)
    {p1=p;
    p2=p;
    while(p1!=NULL)
        {if(p1->num<p2->num)
            {p2=p1;}
        p1=p1->next;}
    if(p!=p2)
    {if(p->next==p2)
        {if(p->prev!=NULL)
            {p1=p->prev;
            p2->prev=p1;
            p1->next=p2;}
        else
            {p2->prev=NULL;
            first=p2;}
        if(p2->next!=NULL)
            {p1=p2->next;
            p->next=p1;
            p1->prev=p;}
        else
            {p->next=NULL;}
        p->prev=p2;
        p2->next=p;
        }
    else
        {p1=p->prev;
        p3=p->next;
        p4=p2->prev;
        p5=p2->next;
        if(p1!=NULL)
            {p1->next=p2;
            p2->prev=p1;}
        else
            {p2->prev=NULL;
            first=p2;}
        if(p3!=NULL)
            {p3->prev=p2;
            p2->next=p3;}
        else
            {p2->next=NULL;}
        if(p4!=NULL)
            {p4->next=p;
            p->prev=p4;}
        else
            {p->prev=NULL;}
        if(p5!=NULL)
            {p5->prev=p;
            p->next=p5;}
        else
            {p->next=NULL;}
        }
    p=p2->next;}
    else 
    {p=p->next;}
    }
 
}
void main()
{ system("chcp 1251");
 system("cls");
 char key;
 first=NULL;
 while(1)
 {
    void   clrscr();
    printf("\t\tMenu:\n1 - Add record\n");
  printf("2 - View complete list\n3 - Searsh\n4 - Sorting \n0 - Exit\n");
  printf("Your action: ");
  scanf("%d",&key);
  getchar();
   switch(key)
   {
    case 1:Insert();break;
    case 2:List();break;  
    case 3:Searsh();break;
    case 4:sort();break;
    case 0:exit(0);  
   } 
 }
system("cls");
}
 
Текущее время: 13:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru