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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Eiphoria
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 21
#1

класс и удаление - C++

02.06.2011, 19:21. Просмотров 235. Ответов 0
Метки нет (Все метки)

Есть класс студент(расширение группа),не получается написать удаление записи какого-нибудь студента! помогите пожалуйста? компилятор - bc31. вот код программы:
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
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
 
class Student {
private:
 char *familia;
 char *name;
 char *otchestvo;
 int ekz1;
 int ekz2;
 int ekz3;
 int ekz4;
public:
 
Student ():familia(NULL),name(NULL),otchestvo(NULL),ekz1(0),
ekz2(0),ekz3(0),ekz4(0){}
 
void SetStud(char* fbuf,char* nbuf,char* obuf,int e1,int e2, int e3, int e4);
void showStud();
 
char* poisk(){
return(familia);}
 
 
char* poiskIm(){
return(name);}
 
 
char* poiskO(){
return(otchestvo);}
};
 
void Student::showStud(){
printf("\n FIO: %s %s %s ",familia,name,otchestvo);
 
printf("\n Ocenki: %d %d %d %d",ekz1,ekz2,ekz3,ekz4);
}
 
void Student::SetStud(char* fbuf,char* nbuf,char* obuf,int e1,int e2, int e3, int e4){
 familia = (char*)calloc (strlen(fbuf),sizeof(char));
 strcpy (familia,fbuf);
 
 name = (char*)calloc (strlen(nbuf),sizeof(char));
 strcpy (name,nbuf);
 
 otchestvo = (char*)calloc (strlen(obuf),sizeof(char));
 strcpy (otchestvo,obuf);
 
 ekz1=e1;
 ekz2=e2;
 ekz3=e3;
 ekz4=e4;
 }
 
char* zer(char *buf, int kol){
  buf[kol-1]='\0';
  return(buf);
}
 
class Group:public Student{
public:
 
void SetGroup(char* fbuf,char* nbuf,char* obuf,int e1,int e2, int e3, int e4,float sr){
SetStud(fbuf,nbuf,obuf,e1,e2,e3,e4);
sr1=sr;
}
void ShowGr();
 
 
private:
float sr1;
};
 
void Group::ShowGr(){
showStud();
printf("\n Sr ball: %f \n",sr1);
 
}
 
 
void main(){
Group g[5];
char fam[30];
 char nam[30];
 char otch[30];
 int e1,e2,e3,e4;
 float sr,s;
 
clrscr();
 FILE *f=fopen("lab6.txt","rt");
 if (f==NULL) {
  printf ("\nCan't open lab6.txt");
  exit (1);}
 
  int kol=0;
 
 while(5>kol){
  fscanf (f,"%s %s %s %d %d %d %d\r\n",fam,nam,otch,&e1,&e2,&e3,&e4);
  zer(fam,30);
  zer(nam,30);
  zer(otch,30);
  s=(e1+e2+e3+e4);
  sr=s/4.;
  g[kol].SetGroup(fam,nam,otch,e1,e2,e3,e4,sr);
  kol++;
   }
 
kol=0;
 
 
 
 
 
 
menu:
clrscr();
 
printf("\n 1 ->ўcп ЈагЇЇ*");
printf("\n 2 ->Ї®ЁбЄ Ї® д*¬Ё«ЁЁ");
printf("\n 3 ->Ї®ЁбЄ Ї® Ё¬Ґ*Ё");
printf("\n 4 ->Ї®ЁбЄ Ї® ®взҐбвўг");
printf("\n 5 ->ўл室\n");
 
 
int rk;
scanf("%d",&rk);
 
switch (rk){
 
case 1:
clrscr();
for(int j=0;j<5;j++) g[j].ShowGr();
fflush (stdin);
getchar();
goto menu;
 
case 2:
clrscr();
printf("\n\n vvedite familiu  ");
kol=0;
char b[80];
scanf("%s",b);
for(int i=0;i<5;i++){
if(strcmp(g[i].poisk(),b)==0) {g[i].ShowGr(); kol=1;}}
if(kol!=1) printf("\n Net takoi familii");
fflush(stdin);
getchar();
goto menu;
 
 
case 3:
clrscr();
printf("\n\n vvedite Imya  ");
kol=0;
char v[80];
scanf("%s",v);
for(int w=0;w<5;w++){
if(strcmp(g[w].poiskIm(),v)==0) {g[w].ShowGr(); kol=1;}}
if(kol!=1) printf("\n Net takogo imeni");
fflush(stdin);
getchar();
goto menu;
 
case 4:
clrscr();
printf("\n\n vvedite Otchestvo  ");
kol=0;
char e[80];
scanf("%s",e);
for(int w1=0;w1<5;w1++){
if(strcmp(g[w1].poiskO(),e)==0) {g[w1].ShowGr(); kol=1;}}
if(kol!=1) printf("\n Net takogo imeni");
fflush(stdin);
getchar();
goto menu;
 
 
case 5:
exit;
 
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2011, 19:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос класс и удаление (C++):

Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств ) - C++
Описать класс «множество», позволяющий выполнять основные операции – добавление и удаление элемента, пересечение, объединение и удаление...

Абстрактный класс, удаление наследника из std::vector<T> - C++
При удалении через итератор выбивает ошибку в ходе выполнения программы. Имеется абстрактный класс: class Fruit : public...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? - C++
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class matrix { friend class diagonal; ...

Класс "динамический массив" - добавление и удаление элементов в рантайме - C++
#ifndef ARRAY// if not defined #define ARRAY Class ARRAY{ Public ARRAY(); ~ ARRAY(); Void push_back (int...

Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами - C++
Здравствуйте! Никак не могу продумать структуру этой программы. Проходим наследование, но я все равно не знаю, как его здесь применить. Как...

Описать класс "множество", позволяющий выполнять основные операции - добавления и удаление элемента, пересечение, множеств, объединение и разность мно - C++
Люди помогите написать программу, очень нужно!!! Буду очень благодарный........ 1. Описать класс &quot;множество&quot;, позволяющий выполнять...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 19:21
Привет! Вот еще темы с ответами:

Отдельно класс данных, класс формул и главный класс - C++
Здравствуйте! У меня есть три вопроса. Первый вопрос. Скажите пожалуйста! Правильный ли это подход к созданию приложений :...

Реализовать пользовательский класс "Двунаправленный список"; реализовать добавление и удаление элементов - C++
Записи в линейном списке содержат ключевое поле типа *char(строка символов). Сформировать двунаправленный список. Удалить К элементов с...

Реализовать класс "Список"; реализовать добавление и удаление элементов - C++
помогите написать код по спискам. надо создать линейный односвязный (двухсвязный) список. Из списка удалить элементы, стоящие между...

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число" - C++
Ткма работы создать класс pair (пара чисел); определить метод перемножения полей и операцию сложения пар (a,b)+(c,d) =(a+b,c+d)...


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

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

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