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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Какую же книгу изучать? :O C++ http://www.cyberforum.ru/cpp-beginners/thread264608.html
Здравствуйте все. :senor: Сложилась небольшая проблема, касающаяся определения книги, которую можно было бы достойно изучить. Не могли бы вы подсказать новичку какую книгу или какое учебное пособие можно было бы купить, дабы овладеть знаниями программирования на языке "C++". Желательно, чтобы в предложенной вами книге были: 1) Графика. 2) ООП. 3) Задачи и упражнения. 4) Четкое (или может...
C++ Народ, чет с while... Тут проблемка, захотел написать миниатюрную игрушечку на с++ и в єпизоде боя использовал do-while... и вот вроде кк все нормально, оба бьються, но бой не коньчается... просто хп в - уходит и считай так до бесконечности... если ктот шарит прошу помочь... вот мой код: do { int r,d; srand(time(&t)); d=rand()%10+10; hp-=d; cout<<"Противник нанес вам "<<d<< " урона. у вас осталось... http://www.cyberforum.ru/cpp-beginners/thread264569.html
C++ Инициализация вещественных статических константных полей класса С++
static const double x=2.15; //c double и float не инициализирует. Почему??
вычислить сумму и количество элементов в массива X[15],для 0<x1<1 C++
вычислить сумму и количество элементов в массива Xв массив y и подсчитать их количество для для 0<x1<1
C++ СОРТИРОВКА http://www.cyberforum.ru/cpp-beginners/thread264529.html
Нужно отсортировать массив тремя видами сортировки : Шелла,Слияния,Пирамидальная. Язык : С++
C++ Тип для факториала Какой тип нужно изпользовать для вычесления факториала числа 999?? Пробовал unsigned long long считает максимум факториал 31 а если еще пару словечек long дописать, то dev-cpp ругается подробнее

Показать сообщение отдельно
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);
}
 
Текущее время: 02:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru