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

Как правильно объявить структуру - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Начертить 100 окружностей случайного диаметра и цвета http://www.cyberforum.ru/cpp-beginners/thread1223003.html
Написать программу, которая вычерчивает на экране узор из 100 окружностей случайного диаметра и цвета.
C++ Найти максимальное из двух целых чисел Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента. http://www.cyberforum.ru/cpp-beginners/thread1223002.html
Вычислить длину введённой с клавиатуры строки C++
Написать программу, которая вычисляет длину введённой с клавиатуры строки.
C++ Найти количество ненулевых элементов массива
Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел, после чего выводит количество ненулевых элементов (массивы)
C++ Вывести на экран значение 10 раз http://www.cyberforum.ru/cpp-beginners/thread1222999.html
Написать программу, которая выводит на экран значение, введённое с клавиатуры, 10 раз. (Циклы)
C++ Проверить, является ли год високосным Написать программу, которая проверяет, является ли год високосным (операторы if, else) подробнее

Показать сообщение отдельно
OverDozero
 Аватар для OverDozero
98 / 98 / 6
Регистрация: 07.04.2011
Сообщений: 517
06.07.2014, 15:38  [ТС]     Как правильно объявить структуру
Вроде разобрался с вложенными структурами.Теперь проблема в выводе:строка 56-pred[i].kolpred не объявлена в этой области.Cоздание массива структур по количеству предметов происходит после создания массива структур студентов,так как к каждому студенту привязывается свое количество предметов
Как объявить структуру pred,чтобы она была видна в выводе?
В строках 36-39 правильно сделано создание массива структур по предметам?И присваивание элементу структуры pred.[0].kolpred количества предметов для конкретного студента?
Кликните здесь для просмотра всего текста
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
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <alloc.h>
/*ÑîñòГ*ГўГЁГІГј ïðîãðГ*ììó ôîðìèðîâГ*Г*ГЁГї Г¤Г*Г*Г*ûõ îá ГіГ±ГЇГҐГўГ*åìîñòè ñòóäåГ*òîâ ГЇГ® äèñöèïëèГ*ГҐ:
ГґГ*ìèëèÿ Г€.ГЋ., 5 îöåГ*îê ГЇГ® ГЄГ®Г*òðîëüГ*ûì ìåðîïðèÿòèÿì.
ÎðãГ*Г*èçîâГ*ГІГј âû÷èñëåГ*ГЁГҐ èòîãîâûõ îöåГ*îê: åñëè ñòóäåГ*ГІ Г*Г*ГЎГ°Г*Г« 80% ГЁ áîëåå îò Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*Г® âîçìîæГ*îãî ГЎГ*ëëГ* – îöåГ*ГЄГ* 5,
îò 60% äî 79% – 4; îò 40% äî 59% -3, ìåГ*ГҐГҐ 40% - 2*/
 
 struct predmet{
    char predm [256];//ïðåäìåò
    int ozp [5];//îöåГ*ГЄГЁ
    int maxball;
    int kolpred;//êîëè÷åñòâî ïðåäìåòîâ 
 };
 struct students{
    char FIO[256];//ÔÈÎ
    struct predmet pred;
  };
int percent=0;//ñêîëüêî ïðîöåГ*ГІ Г*Г*ГЎГ°Г*Г« ñòóäåГ*ГІ
int sumball=0;//Г±ГіГ¬Г* ГЎГ*ëëîâ
int kolvostud=0;//êîëè÷åñòâî Г±ГіГІГҐГ¤Г*òîâ
int pr=0;
 
 int main ()
  {
      
     printf("Vvedite loli4estvo studentov:");
     scanf("%d",&kolvostud);
         students study/*èìÿ ïåðåìåГ*Г*îé ñòðóêòóðû*/ [kolvostud];
      for (int i=0;i<kolvostud;i++){//1 on I
     printf("Vvedite FIO studenta(4erez probel):");
     scanf("%s",study[i].FIO);
          
         printf("Vvedite koli4estvo predmetov u studenta:");
         scanf("%d",&pr);
         predmet pred[pr];
         pred[0].kolpred=pr;
                        for (int j=0;j<pr;j++){//2 on J
     
             printf("Vvedite nazvanie %d predmeta:",j+1);
             scanf("%s",pred[j].predm);
              
               printf("Vvedite max.ball po predmetu %s: ",pred[j].predm);
             scanf("%d",&pred[j].maxball);
               for (int k=0;k<5;++k){//3 on K
                 printf("Vvedite ocenku %d:",k+1);
             scanf("%d",&pred[j].ozp[k]); }//3 off K
                   }//2 off J 
                         }//1 off I
      
      //âûâîä
      for (int i=0;i<kolvostud;i++){//1 on I
      printf("FIO studenta %s:\n",study[i].FIO);
      printf("Koli4estvo predmetov u studenta %s %d:\n",study[i].FIO,pred[i].kolpred);
                  for (int j=0;j<pred[j].kolpred;j++){//2 on J
                  printf("Predmet:%s\n",pred[j].predm);
                  printf("Max.ball po predmetu %s: \n",pred[j].maxball);
                  printf("Bally studenta po predmetu %d:");
                   for (int k=0;k<5;++k){//3 on K
                    
                 printf("%d",pred[j].ozp[k]);
                 printf("/n");
              }//3 off K
                   }//2 off J 
                         }//1 off I
      
    getch();
  return 0;}


Добавлено через 4 минуты
Цитата Сообщение от Vtulhu Посмотреть сообщение
Уважаемый Vtulhu-я пишу так,как удобно мне.
И это Ваша главная проблема.
На данном этапе(этапе изучения),моя приоритетная задача разобраться с синтаксисом языка,написанием кода и тд.Объявление "красивых" переменных, пока в мои планы не входит.Сейчас важен сам принцип.А остальное придет с опытом.
 
Текущее время: 22:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru