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

Помощь с ф-ией поиска лучших студентов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выбор первой книги по c++ http://www.cyberforum.ru/cpp-beginners/thread619305.html
Всем доброго времени суток. И сразу же к проблеме. Знакомый посоветовал выбрать <<C++ для "чайников">> (Стефан Р. Дэвис), нашел две книги, 4-е и 5-е издание, но они немного друг от друга отличаются. Посоветуйте, какую из них лучше выбрать или альтернативу этой книги. В с++ я "нуб", пока особых знаний в этом направлении нет.
C++ Создать массив структур "Person" Создать массив структур "Person" (фамилия, имя, отчество, пол, возраст, занятость), записать в бинарный файл. Вывести на экран содержимое файла. Удалить из файла элемент с заданным номером, изменяя при этом размер файла. Добавить элемент в конец файла. Указанные действия должны быть оформлены в виде отдельных функций. http://www.cyberforum.ru/cpp-beginners/thread619304.html
C++ Графика: Олимпийская эмблема
осваиваю азы графики. необходимо изобразить олимпийскую эмблему из пяти колец используя функции OWL. //olymp.cpp - Олимпийская эмблема #include <owl/applicat.h> #include <owl/framewin.h> #include <owl/dc.h> #define COL 5 // Цвета #define AWX 310 // Длина окна #define AHY 160 // Высота окна
C++ Дерево должностей
у меня такая задача: мне надо сделать дерево должностей т.е. выводило кто кому подчиняется и при на жатии на ту или иную должность выводила в сю информацию о ней .и также надо чтоб можно было добавить любу должность в любое место этого дерева. жду ваших советов!)
C++ Русский текст вывод http://www.cyberforum.ru/cpp-beginners/thread619246.html
братцы есть быдло код: #include <iostream> #include <string> #include <stdlib.h> #include <vector> #include<locale.h> using namespace std; class Home
C++ Как заменить определенный символ на номера попорядку? Извините ели не туда написал. Есть документ в нем 9000 адресов с символом n. Как этот сделать так, чтобы символы поменялись на номера по порядку, например 1,2,3, или вставились буквы a, b, c. Спасибо! подробнее

Показать сообщение отдельно
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.07.2012, 12:52
Цитата Сообщение от Altair_69 Посмотреть сообщение
У меня такая проблема - не работает функция по поиску лучших студентов void BestSt (). Далее привожу полный код программы
В главном меню отсутствует пункт перехода к редактированию группы. Приходится только догадываться, что нужно ввести номер группы. Заход в коде сделан по default.

Добавлено через 50 минут
сбой в 50 строке при обработке второй группы.

Добавлено через 38 минут
Вместо 73 стороки напишите:
C++
1
2
3
best1->nextst = new student;
best1=best1->nextst;
best1->nextst = 0;
Добавлено через 41 минуту
Тут ещё много что не работает. При удалении группы сбой.

Добавлено через 38 минут
Есть ещё плавающий сбой при сортировке лучших студентов. Зависит от количества студентов в группах.

Добавлено через 6 часов 13 минут
Начало функции лучше так написать:
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
void BestSt()
{
    if(headgr)
    {
        system("cls");
        gruppa *grop;
        student *st,*hbest,*best1,*last1,*best2,*best3;        
        double dq;
        double dp;
        best1=0;
        last1=0;
        hbest=0;
 
    for(grop=headgr;grop!=0;grop=grop->nextgr)
     {
     if(grop->headst!=0)
      {
         best1=new student;
    best1->nextst = 0;
    if (hbest == 0) hbest=best1;
    else last1->nextst = best1;
    last1=best1;
               strcpy (best1->fam,grop->headst->fam); //сбой
    strcpy(best1->name,grop->headst->name);
     strcpy (best1->otc,grop->headst->otc);
    for(int i=0;i<4;i++)
    {
                   
        best1->ocenki[i]=grop->headst->ocenki[i];
    }
                best1->b=grop->headst->b;
                best1->step=grop->headst->step;
                dp=((best1->ocenki[0])+(best1->ocenki[1])+(best1->ocenki[2])+(best1->ocenki[3]))/4;
                for(st=grop->headst;st!=0;st=st->nextst)
                {
                    dq=((st->ocenki[0])+(st->ocenki[1])+(st->ocenki[2])+(st->ocenki[3]))/4;
                    if(dq>dp)
                    {
                        dp=dq;
                        strcpy (best1->fam,st->fam);
                        strcpy (best1->name,st->name);
                        strcpy (best1->otc,st->otc);
                        for(int i=0;i<4;i++)
            {
                          
                best1->ocenki[i]=st->ocenki[i];
             }
                       best1->b=st->b;
                      best1->step=st->step;
                    }
                }
            }
}
и разбираться с сортировкой списка. Составление списка лучших нормально работает.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru