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

База данных - C++

Восстановить пароль Регистрация
 
evox
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 6
22.05.2012, 19:49     База данных #1
Задание:Создать БД с N записями, которая содержит информацию о студентах одного факультета.
1. Осуществить поиск по фамилии студента.
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct stud{
char fam[30];
char gruppa[30];
char kafedra[30];};
void main (void){
struct stud x[50],art,aux;
int i,n,q,k;
char search[30],r,w;
FILE *f1;
 
m0: clrscr();
printf("\n\n\t***MENU***\n\n");
printf("\t1: Zapolnenie BD\n");
printf("\t2: Chtenie BD iz faila\n");
printf("\t3: Vvod novoi zapisi v BD\n");
printf("\t4: Poisk po BD\n");
printf("\t5: Rasstaviti BD v obratnom poreadke\n");
printf("\t6: Exit\n\t");
scanf("%d",&q);
switch(q){
case 1: goto m1;
case 2: goto m2;
case 3: goto m3;
case 4: goto m4;
case 5: goto m5;
case 6: goto m6;
default: goto m0;}
 
m1: clrscr();
printf("\n\nVvedite chislo studentov: ");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("\nVvedite familiiu studenta %d: ",i);
scanf("%s",&x[i].fam);
printf("\nVvedite nazvanie gruppi %d: ",i);
scanf("%s",&x[i].gruppa);
printf("\nVvedite nazvanie kafedri %d: ",i);
scanf("%s",&x[i].kafedra);}
 
f1=fopen("baza.txt","w");
for(i=0;i<n;i++){
fwrite(&x[i],sizeof(x[i]),1,f1);}
fclose(f1);
printf("\nZapolnennaea BD sohranena v faile \"baza.txt\"\n");
printf("\nPress any key\n");
getch(); goto m0;
 
m2: clrscr();
printf("\n\n\t***Vivod bazi na monitor***\n\n");
printf("\t|-------------------------------------------|\n");
printf("\t|  Familiea studenta  |  Gruppa  |  Kafedra |\n");
printf("\t|-------------------------------------------|\n");
f1=fopen("baza.txt","r"); i=0;
while(fread(&x[i],sizeof(x[i]),1,f1)==1){
printf("\t|%21s|%10s|%10s|\n",x[i].fam,x[i].gruppa,x[i].kafedra); i++;
printf("\t|-------------------------------------------|\n");}
fclose(f1);n=i;
printf("\n\tPress any key\n");
getch(); goto m0;
 
m3: clrscr();
printf("\nHotite dobaviti novuiu zapisi? y/n\n");
w=getch();
if((w=='n')||(w=='N')){goto m0;}
if((w=='y')||(w=='Y')){
printf("\nVvedite familiiu studenta %d: ",i);
scanf("%s",&aux.fam);
printf("\nVvedite nazvanie gruppi %d: ",i);
scanf("%s",&aux.gruppa);
printf("\nVvedite nazvanie kafedri %d: ",i);
scanf("%s",&aux.kafedra);
 
f1=fopen("baza.txt","a");
for(i=0;i<n;i++){
fwrite(&aux,sizeof(aux),1,f1);}
fclose(f1);
printf("\nZapisi bila dobavlena v konets faila\n");
printf("\nPress any key\n");
getch(); goto m0;}
 
m4: clrscr();
f1=fopen("baza.txt","r"); i=0;
while(fread(&x[i], sizeof(x[i]),1,f1)==1){i++;}
n=i; fclose(f1);
printf("\nPoisk po familii\nVvedite iskomuiu familiiu: ");
scanf("%s",&search);
printf("\n\n\t***Rezulitat poiska:***\n\n");
printf("\t|-------------------------------------------|\n");
printf("\t|  Familiea studenta  |  Gruppa  |  Kafedra |\n");
printf("\t|-------------------------------------------|\n");
k=0;
for(i=0;i<n;i++){
if(strcmp(x[i].fam,search)==0){ k++;
printf("\t|%21s|%10s|%10s|\n",x[i].fam,x[i].gruppa,x[i].kafedra); i++;
printf("\t|-------------------------------------------|\n");}}
if(k==0){ printf("\nTakogo studenta net v BD\n"); }
printf("\nPress any key\n");
getch(); goto m0;
 
m5: clrscr();
f1=fopen("baza.txt","r"); i=0;
while(fread(&x[i], sizeof(x[i]),1,f1)==1){i++;}
n=i; fclose(f1);
for (k=0;k<n-1;k++){
art=x[k]; x[k]=x[n-k-1]; x[n-k-1]=art;}
 
printf("\n\n\t***Uporeadochennaea BD***\n\n");
printf("\t|-------------------------------------------|\n");
printf("\t|  Familiea studenta  |  Gruppa  |  Kafedra |\n");
printf("\t|-------------------------------------------|\n");
for(i=0;i<n;i++){
printf("\t|%21s|%10s|%10s|\n",x[i].fam,x[i].gruppa,x[i].kafedra);
printf("\t|-------------------------------------------|\n");}
printf("\n\tPress any key\n");
getch(); goto m0;
 
m6: clrscr();
printf("\nPress any key\n");
getch();}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 19:49     База данных
Посмотрите здесь:

База данных в С++. C++
база данных C++
C++ Использование псевдопеременных: bd (3,5) = s, где bd - база данных, s - элемент базы данных, тогда с 3 по 5 элементы базы данных заменить на элемент s.
база данных С++ C++
C++ Удалённая база данных - запрос и вывод данных
C++ База данных
база данных C++
База данных C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru