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

Структуры: Списки студентов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какую же книгу изучать? :O C++ http://www.cyberforum.ru/cpp-beginners/thread264608.html
Здравствуйте все. :senor: Сложилась небольшая проблема, касающаяся определения книги, которую можно было бы достойно изучить. Не могли бы вы подсказать новичку какую книгу или какое учебное...
C++ Проверка на NaN (С/С++) Подскажите, пожалуйста, как проверить является ли вещественное число NaN'ом? Как вариант сделать побитовое умножение на маску... Но тогда первый бит (знак) теряется.. Что делать? Желательно без... http://www.cyberforum.ru/cpp-beginners/thread264598.html
Народ, чет с while... C++
Тут проблемка, захотел написать миниатюрную игрушечку на с++ и в єпизоде боя использовал do-while... и вот вроде кк все нормально, оба бьються, но бой не коньчается... просто хп в - уходит и считай...
C++ Инициализация вещественных статических константных полей класса С++
static const double x=2.15; //c double и float не инициализирует. Почему??
C++ вычислить сумму и количество элементов в массива X[15],для 0<x1<1 http://www.cyberforum.ru/cpp-beginners/thread264537.html
вычислить сумму и количество элементов в массива Xв массив y и подсчитать их количество для для 0<x1<1
C++ СОРТИРОВКА Нужно отсортировать массив тремя видами сортировки : Шелла,Слияния,Пирамидальная. Язык : С++ подробнее

Показать сообщение отдельно
eddilou
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
28.03.2011, 21:18  [ТС]
Цитата Сообщение от Deviaphan Посмотреть сообщение
Сделай чтоб фурычило. Статический от динамического массивы различаются только способом создания/удаления. РАботает со статическим, будет и с динамическим. Думай.
понимаешь проблема в том что НЕКУДА мне хранить нфу о том ск создано всего структур на этапе формирования списка ибо kist.N и тд обнуляется

Добавлено через 1 час 7 минут
Цитата Сообщение от Deviaphan Посмотреть сообщение
Сделай чтоб фурычило. Статический от динамического массивы различаются только способом создания/удаления. РАботает со статическим, будет и с динамическим. Думай.
сделал как и говорил ты, НО проблема возникла ОН ее н еудаляет т.е. delete[]=card и delete[]=session не работают он ошибку выдает
и после выхода из фнкции CREATE_LIST значение list[0].N = 0 хотя по идее должен хранить число больше 0 ибо столько скоь создал списков
кстати при помощи твоего NEW вместо мфддщс
он засоряет память а именно если в первом списке я исп неск раз Disc и Rat то во втором списке т.е. допустим создаю 2 фамилию и для него дисц и рат он засоряет ратинг а именно печатает каракули всесто Rating печатаут Rat 4 или 5 ведь написано что printf('Rating") так что скажешь?
вот попробуй на борланде 3,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
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define cherta printf("-----------------------------------------------------------------\n")
 
/************************************************************************
              STRUCTURS
***********************************************************************/
struct card
       {
    int N;
    char surname[50];
    char group[10];
    struct session *SES;
       };
 
struct session
       {
    int PR;
    char dp[50];
    char rating[20];
       };
/*************************************************************************
               FUNCIONS
**************************************************************************/
 
 
struct session *CREATE_LIST_SES(card *list,int i)
{   session *SES= new session[100];
int j=1;
 list[0].SES[0].PR=1;
// do{
 
  for(; j<=list[0].SES[0].PR; j++)
    {
 //    list[i].SES=(session*)malloc(sizeof(SES));
     printf("Dicsipline: ");
     scanf("%s",&list[i].SES[j].dp);
     printf("Rating: ");
     scanf("%s",&list[i].SES[j].rating);
     if(getch()==13) list[0].SES[0].PR++;
    }
 //  }while(getch()!=27);
 return SES;
}
 
 
 
struct card *CREATE_LIST()
{ card *list= new card[100] ;
 int i=1;
 list[0].N=1;
// do{
    for(; i<=list[0].N; i++)
    {
     cherta;
  //   list=(card*)malloc(sizeof(list));
     printf("Surname: ");
     scanf("%s",&list[i].surname);
     printf("Number Group: ");
     scanf("%s",&list[i].group);
     CREATE_LIST_SES(list,i);
     cherta;
     printf("Nazhmite ENTER esli hotite prodolzhit spisok ili 2 raza ESC dlya vihoda\n");
     if(getch()==13) list[0].N++;
    }
//   }while(getch()!=27);
 return list;
}
 
int CONTROL(card *list, int i)
{int x, x1=1, x2=1;
 for(int j=1; j<=list[0].SES[0].PR; j++)
  {
   char *ocenka[]={"horosho", "otlichno", "4", "5"};
   if(strcmp(list[i].SES[j].rating,ocenka[0])==0
      || strcmp(list[i].SES[j].rating,ocenka[1])==0
      || strcmp(list[i].SES[j].rating,ocenka[2])==0
      || strcmp(list[i].SES[j].rating,ocenka[3])==0) x1=1;
      else x2=0;
      x=x1*x2;
  }
 return x;
}
 
 
void PRINT_LIST(card *list, session *SES)
{
 for(int i=1; i<=(list[0].N); i++)
  {
   if(CONTROL(list,i)==1)
    {
     printf("Surname: %s\n", list[i].surname);
   //  printf("Number Group: %s\n", list[i].group);
   //  printf("Dicsipline: %s\n", list[i].dp);
   //  printf("Rating: %s\n", list[i].rating);
   //  cherta;
    }
  }
}
/***************************************************************************
               PROGRAMMA
****************************************************************************/
void main()
{ card *list; session *SES;
do{
 clrscr();
 printf("Vvedite spisok studentov:\n");
 CREATE_LIST();
 clrscr();
 printf("Spisok studentov y kotorix ocenki ne nizhe 'horosho':\n");
 cherta;
 PRINT_LIST(list, SES);
 printf("\nVvesti spisok snova? yes/no (AnyKey/ESC)"); //delete[]=card; delete[]=session;
 }while(getch()!=27);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru