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

Ввести несколько структур типа «Зачетка студента» - C++

Восстановить пароль Регистрация
 
Valerangb3
1 / 1 / 0
Регистрация: 24.02.2014
Сообщений: 6
24.02.2014, 08:50     Ввести несколько структур типа «Зачетка студента» #1
Вот условие задачи:
Ввести несколько структур типа «Зачетка студента» с полями
{Фамилия студента
Номер зачетки
Массив из 4 оценок
}
Написать программу, выполняющую следующие действия:
Сортировка структур по фамилии или среднему баллу
Удаление всех зачеток троечников

Не получается удалить студентов троечников, не пойму в чем ошибка. Можете написать как правильно это делать? Помогите пожалуйста и если не трудно объясните.
Выделил красным, где есть ошибка.

Вот код:
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
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{const int n=5;
struct Zachetka
{char fam[30]; int nom; int oc[4];};
int j,i,a, num;
char c;
Zachetka box[n], tmp;
for(i=0;i<n;i++)
{
cin.sync();
cout«"Vvedite Familiy"«endl;
cin.getline(box[i].fam, 30);
cout«"Vvedite nomer zachetki"«endl;cin»box[i].nom;
cout«"Vvedite ocenki"«endl;
cout«"ocenka 1"«endl;cin»box[i].oc[0];
cout«"ocenka 2"«endl;cin»box[i].oc[1];
cout«"ocenka 3"«endl;cin»box[i].oc[2];
cout«"ocenka 4"«endl;cin»box[i].oc[3];};
for(i=n-1; i>0 ; i--)
{for(j=0; j<i ; j++)
{if(strcmp( box[ j ].fam, box[ j+1 ].fam )>0)
{ tmp=box[ j ]; box[ j ]=box[ j+1 ]; box[ j+1 ]=tmp;}}}
for(i=0;i<n;i++)
{cout«box[i].fam«endl;}
for(i=0; i<n; i++)                         // <---
if(box[i].ocenka[j] == 3)               // <---
delete [] box[i].fam;                    // <---
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2014, 08:50     Ввести несколько структур типа «Зачетка студента»
Посмотрите здесь:

C++ Как ввести данные в динамический массив структур?
Описать структуру с именем NOTE, с полями: фамилия, номер телефона, год рождения. Ввести несколько структур. C++
C++ Создать программу обработки файла типа запись "Успеваемость студента"
Калькулятор. Ввести возможность определения и использования структур (записей) C++
C++ описать структуру, создать класс, в котором описать 3 поля: два простых типа и массив структур. Создать в классе 4 функции работы с массивом структур
C++ Интерполирующий поиск в массиве структур типа char
Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код C++
Поместить в класс несколько структур как реализовать C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
24.02.2014, 08:54     Ввести несколько структур типа «Зачетка студента» #2
почитайте про vector и используйте его для хранения ваших структур - там есть методы для удаления элементов, у вас же обыйный массив, который вы чистите при помощи delete , в результате под тем индексом, который вы очистили у вас будет мусор...
можно ещё связный список использовать для хранения, но проще вектор
Yandex
Объявления
24.02.2014, 08:54     Ввести несколько структур типа «Зачетка студента»
Ответ Создать тему
Опции темы

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