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

Создать массив, элементами которого являются структуры – список учеников - C++

Восстановить пароль Регистрация
 
Алена_Коваленко
Заблокирован
02.12.2013, 15:36     Создать массив, элементами которого являются структуры – список учеников #1
Задание: Создать массив, элементами которого являются структуры – список учеников (хранятся фамилия, класс, школа). Вывести информацию по ученикам, фамилии которых начинаются на букву, введенную пользователем.
Не могу понять каким образом сделать вывод по первой букве.

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
#include <conio.h>
#include <stdio.h>
#include <iostream>
 
  using std::cout;
  using std::endl;
  using std::cin;
  
struct spisok
{
     char *fam;
     int klass;
     int school;
};
     
void vvod(spisok *s)
{     
      cout << "Ââåäèòå ГґГ*ìèëèþ: ";
      s ->fam = new char [20];
      cin.get();
      cin.getline(s -> fam, 20);
      
      cout << "Ââåäèòå ГЄГ«Г*Г±Г±: ";
      cin >> s -> klass;
      
      cout << "Ââåäèòå В№ øêîëû: ";
      cin >>s -> school;
      cout << endl;
}
 
void vivod (const spisok *s)
{
     cout << "Ó÷åГ*ГЁГЄГЁ : " << s -> fam << endl;
}
 
int main ()
{
         int kol, i, l;
         setlocale (LC_ALL , "Russian");
          
         cout << "Ââåäèòå êîëè÷åñòâî ГіГ·ГҐГ*èêîâ: \n";
         cin >>  kol; 
         
         spisok d[kol];
         
         for ( int i(0); i < kol; i++)
         {
             cout << i+1 << " ГіГ·ГҐГ*ГЁГЄ: \n\n";
             vvod (&d[i]);   
         }
                  
         cout << "Ââåäèòå ïåðâóþ ГЎГіГЄГўГі ГґГ*ìèëèè:";
         cin >> l;
         
         for (int i(0); i < kol; i++)
         {
             // ??????  
         }
         
             
_getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2013, 15:36     Создать массив, элементами которого являются структуры – список учеников
Посмотрите здесь:

Вывод вектора, элементами которого являются структуры C++
C++ Список элементами которого являются очереди
Сформировать массив ИМ (100), элементами которого являются числа... C++
C++ Дан массив А(n). Создать новый массив, элементами которого являются произведение A(i) на максимальный элемент массива A.
Сформировать массив В, элементами которого являются нули и единицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XRinat
4 / 4 / 0
Регистрация: 06.11.2013
Сообщений: 17
02.12.2013, 16:09     Создать массив, элементами которого являются структуры – список учеников #2
if(d[i].fam[0]=='Нужная буква')//проверяем в списке d все элементы fam в 0-ом символе на равенство нужной букве
{
выводим информацию;
}
Алена_Коваленко
Заблокирован
02.12.2013, 21:13  [ТС]     Создать массив, элементами которого являются структуры – список учеников #3
XRinat, при поиске выводит какие-то иероглифы, почему?
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
#include <conio.h>
#include <stdio.h>
#include <iostream>
 
  using std::cout;
  using std::endl;
  using std::cin;
  
struct spisok
{
     char *fam;
     int klass;
     int school;
};
     
void vvod(spisok *s)
{     
      cout << "Ââåäèòå ГґГ*ìèëèþ: ";
      s ->fam = new char [20];
      cin.get();
      cin.getline(s -> fam, 20);
      
      cout << "Ââåäèòå ГЄГ«Г*Г±Г±: ";
      cin >> s -> klass;
      
      cout << "Ââåäèòå В№ øêîëû: ";
      cin >>s -> school;
      cout << endl;
}
 
void vivod (const spisok *s)
{
     cout << "Ó÷åГ*ГЁГЄГЁ : " << s -> fam << endl;
}
 
int main ()
{
         int kol, i, l;
         setlocale (LC_ALL , "Russian");
          
         cout << "Ââåäèòå êîëè÷åñòâî ГіГ·ГҐГ*èêîâ: \n";
         cin >>  kol; 
         
         spisok d[kol];
         
         for ( int i(0); i < kol; i++)
         {
             cout << i+1 << " ГіГ·ГҐГ*ГЁГЄ: \n\n";
             vvod (&d[i]);   
         }
                  
         cout << "Ââåäèòå ïåðâóþ ГЎГіГЄГўГі ГґГ*ìèëèè:";
         cin >> l;
         
         for (int i(0); i < kol; i++)
         {
             if(d[i].fam[0] == 'l');
             cout << d[i].fam << d[i].klass << d[i].school;   
         }
         
             
_getch();
return 0;
}
XRinat
4 / 4 / 0
Регистрация: 06.11.2013
Сообщений: 17
03.12.2013, 10:16     Создать массив, элементами которого являются структуры – список учеников #4
в стоке 38 переменная l должна быть типа char
в строке 57 в конце условия не ставиться ;
в строке 57 проверка должна быть на переменную l а не на символ l (убери одинарные ковычки)
Алена_Коваленко
Заблокирован
03.12.2013, 16:08  [ТС]     Создать массив, элементами которого являются структуры – список учеников #6
XRinat, спасибо, даже не заметила.
Исправила, но все равно не выводит нормально

Исправленный:
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
#include <conio.h>
#include <stdio.h>
#include <iostream>
 
  using std::cout;
  using std::endl;
  using std::cin;
  
struct spisok
{
     char *fam;
     int klass;
     int school;
};
     
void vvod(spisok *s)
{     
      cout << "Ââåäèòå ГґГ*ìèëèþ: ";
      s ->fam = new char [20];
      cin.get();
      cin.getline(s -> fam, 20);
      
      cout << "Ââåäèòå ГЄГ«Г*Г±Г±: ";
      cin >> s -> klass;
      
      cout << "Ââåäèòå В№ øêîëû: ";
      cin >>s -> school;
      cout << endl;
}
 
void vivod (const spisok *s)
{
     cout << "Ó÷åГ*ГЁГЄГЁ : " << s -> fam << endl;
}
 
int main ()
{
         int kol, i;
         char l;
         setlocale (LC_ALL , "Russian");
          
         cout << "Ââåäèòå êîëè÷åñòâî ГіГ·ГҐГ*èêîâ: \n";
         cin >>  kol; 
         
         spisok d[kol];
         
         for ( int i(0); i < kol; i++)
         {
             cout << i+1 << " ГіГ·ГҐГ*ГЁГЄ: \n\n";
             vvod (&d[i]);   
         }
                  
         cout << "Ââåäèòå ïåðâóþ ГЎГіГЄГўГі ГґГ*ìèëèè:";
         cin >> l;
         
         for (int i(0); i < kol; i++)
         {
             if(d[i].fam[0] == l)
             cout << d[i].fam << d[i].klass << d[i].school;   
         }
                      
_getch();
return 0;
}
XRinat
4 / 4 / 0
Регистрация: 06.11.2013
Сообщений: 17
04.12.2013, 08:01     Создать массив, элементами которого являются структуры – список учеников #7
По подробнее что не выходит нормально?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 00:30     Создать массив, элементами которого являются структуры – список учеников
Еще ссылки по теме:

Сформировать массив IM( 50 ) ,элементами которого являются числа 1,3,5,…,49,50,48,46 ,…,2 C++
Создать массив, элементами которого являются *. Вывести на экран C++
C++ Реализуйте класс List, представляющий список, элементами которого являются целые числа

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

Или воспользуйтесь поиском по форуму:
Алена_Коваленко
Заблокирован
05.12.2013, 00:30  [ТС]     Создать массив, элементами которого являются структуры – список учеников #8
XRinat, в смысле результат компиляции. А на счет того, что вывод был корявым, то эту программу надо было открыть через какой-то g++.

Добавлено через 1 минуту
XRinat, а вы не могли бы мне помочь еще с одним заданием?
Нужно так же поиск сделать, только по заданному слову и в файле.
Yandex
Объявления
05.12.2013, 00:30     Создать массив, элементами которого являются структуры – список учеников
Ответ Создать тему
Опции темы

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