Форум программистов, компьютерный форум 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 ругается подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
04.04.2011, 00:15     Структуры: Списки студентов
printf в некоторых случаях предпочтительней. Например, когда пишешь на С.
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
 
typedef struct Card {
        int  surname;
        int  group;
        int  discipline;
        int  mark;
} Card;
 
void CardInit(struct Card *card, int surname_id, int group_id,
                                 int  discipline_id, int  mark) {
  card->surname = surname_id;
  card->group = group_id;
  card->discipline = discipline_id;
  card->mark = mark;
}
 
void CardPrint(struct Card *card, char *surnames[], char *groups[],
               char *disciplines[]) {
  printf("Surname: %s\nGroup: %s\nDiscipline: %s\nMark: %d\n-----\n",
         surnames[card->surname], groups[card->group],
         disciplines[card->discipline], card->mark);
}
 
typedef struct CardStatistics {
  int surname;
  int group;
  int is_good;
} CardStatistics;
 
void CardStatisticsInit(struct CardStatistics *card_statistics,
                        int surname_id, int group_id) {
    card_statistics->surname = surname_id;
    card_statistics->group = group_id;
    card_statistics->is_good = 1;
}
 
void CardStatisticsCorrect(
       struct CardStatistics card_statistics[],
       struct Card *card) {
  if (card->mark >= 4)
    return;
  size_t result = 0;
  while (!(card_statistics[result].surname == card->surname &&
         card_statistics[result].group == card->group))
    ++result;
  card_statistics[result].is_good = 0;
}
 
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  char *groups[] = { "101", "201", "301" };
  char *disciplines[] = { "math", "physics", "biology", "history" };
  char *surnames[] = { "Petrov", "Ivanov", "Sidorov", "Kuznetsov" };
  size_t group_count = sizeof(groups) / sizeof(*groups);
  size_t discipline_count = sizeof(disciplines) / sizeof(*disciplines);
  size_t surname_count = sizeof(surnames) / sizeof(*surnames);
 
  size_t card_array_size = group_count * discipline_count * surname_count;
  struct Card cards[card_array_size];
 
  int group_id, discipline_id, surname_id, card_id = 0;
  for (surname_id = 0; surname_id < surname_count; ++surname_id)
    for (group_id = 0; group_id < group_count; ++group_id)
      for (discipline_id = 0; discipline_id < discipline_count; ++discipline_id)
        CardInit(&cards[card_id++], surname_id, group_id,
                 discipline_id, rand() % 3 + 3);
 
  for (card_id = 0; card_id < card_array_size; ++card_id)
    CardPrint(&cards[card_id], surnames, groups, disciplines);
 
  size_t card_statistics_size = group_count * surname_count;
  int card_statistics_id = 0;
  struct CardStatistics card_statistics[card_statistics_size];
  for (surname_id = 0; surname_id < surname_count; ++surname_id)
    for (group_id = 0; group_id < group_count; ++group_id)
      CardStatisticsInit(&card_statistics[card_statistics_id++],
                         surname_id, group_id);
 
  for (card_id = 0; card_id < card_array_size; ++card_id)
    CardStatisticsCorrect(card_statistics, &cards[card_id]);
 
  for (card_statistics_id = 0; card_statistics_id < card_statistics_size;
       ++card_statistics_id) {
    if (card_statistics[card_statistics_id].is_good)
      printf("Student %s of group %s has all marks good.\n",
             surnames[card_statistics[card_statistics_id].surname],
             groups[card_statistics[card_statistics_id].group]);
  }
 
  return 0;
}
 
Текущее время: 00:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru