Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 47

StringGrid - в Memo вывести всех хорошистов

09.05.2015, 23:09. Показов 1763. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Такая проблема, имеется ведомость успеваемость группы по предметам(предметов 9).
Данные записываются в стрингрид, а именно(Ф.И.О. и оценки)
нужно сделать так, чтобы при нажатии на кнопку у меня в мемо выводились студенты у которых оценки только 4 и 5.
Вот код, но он просматривает только одну ячейку и все, как исправить?
Прошу вашей помощи, пожалуйста.
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
        int i,j;
        int chel=0,total=0;
        float kach_zn;
        bool t;
 
        do
        {
         t=true;
         for (i=1; i<StringGrid1->RowCount; i++)
         {
         for (j=3; j<StringGrid1->ColCount; j++)
         {
            if (StringGrid1->Cells[j][i]<=3 )
                {
                t=false;
                //i++;
                }
                else if  (StringGrid1->Cells[j][i]>3)
                {
                t=true;
                chel++;
                }
 
             total=total+1;
             break;
             }
 
             }
         }
 
 
        while(StringGrid1->Cells[j][i] != "");
 
        kach_zn=(chel*100)/total;
        Memo2->Lines->Add("Количество студентов, учащихся на 4 и 5 - " + IntToStr(chel)+" чел.");
        Memo2->Lines->Add("Качество знаний по группе = "+FloatToStr(kach_zn)+"%");
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2015, 23:09
Ответы с готовыми решениями:

Сложить матрицы, из StringGrid и вывести в Memo
В чем ошибка? procedure TForm1.Button4Click(Sender: TObject); Var i,j,a,b:integer; s,s1:string; begin If...

Вывести значения из StringGrid в Memo построчно
Добрый день. Как вывести значения из StringGrid в Memo построчно (чтобы в Memo образовалась матрица StringGrid) ?

Как вывести все ячейки StringGrid в Memo?
Есть необходимость импотра данных из StringGrid в Memo или Rich Edit, помогите плиззз, думал что типа этого должно быть for i:=0 to...

4
Модератор
 Аватар для D1973
9929 / 6466 / 2457
Регистрация: 21.01.2014
Сообщений: 27,422
Записей в блоге: 3
10.05.2015, 09:22
А зачем у тебя break в 25-й строке? Вот он-то и прерывает цикл прохода по гриду после первой же итерации.
Да и не совсем понятно, зачем тут цикл do ... while...

Добавлено через 1 минуту
И каков тайный смысл переменной bool t, если эта t нигде не используется...
0
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 47
10.05.2015, 12:42  [ТС]
Если убрать break из 25 строчки, то он просто посчитает кол-во 5 и 4 в стринггрид. цикл do... while не обязателен, его я уберу.
Делал с преподавателем , сказала поставить bool t, но она тут действительно не используется.
0
Модератор
 Аватар для D1973
9929 / 6466 / 2457
Регистрация: 21.01.2014
Сообщений: 27,422
Записей в блоге: 3
10.05.2015, 16:05
Лучший ответ Сообщение было отмечено VredCro как решение

Решение

Ну вот так как-то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int chel = 0, total = 0;
  double kach_zn;
  for(int i = 1; i < StringGrid1->RowCount; i++)
   {
     if(StringGrid1->Cells[0][i].Trim().Length() == 0) break;
     int temp = 0;
     for(int j = 0; j < StringGrid1->ColCount; j++)
      if(StrToIntDef(StringGrid1->Cells[j][i],1) < 4) continue;
      else temp++;
     if(temp == 9) chel++;
     total++;
   }
  kach_zn = double((chel * 100)) / total;
  Label1->Caption = String().sprintf("Количество студентов, учащихся на 4 и 5 - %d чел.", chel);
  Label2->Caption = String().sprintf("Качество знаний по группе =  %8.2f\%", kach_zn);
}
Миниатюры
StringGrid - в Memo вывести всех хорошистов  
1
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 47
11.05.2015, 12:01  [ТС]
Огромное спасибо очень помогло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.05.2015, 12:01
Помогаю со студенческими работами здесь

Как вывести с memo в stringgrid (без повторения значений)?
Имеется компонент memo в нем n-ое количество значений, так же на форме имеется компонент Stringgrid...Необходимо текст(TString) с...

Вывести в Memo элемент из StringGrid находящийся на пересечении двух букв
Помогите пожалуйста, как мне вывести в Memo элемент из StringGrid находящийся на пересечении двух букв, например букв &quot;В&quot; на...

Как вывести два цикла в одну строку в Memo и в StringGrid?
Как вывести два цикла в одну строку (в Buildere) в memo и stringgrid желательно? кусочки кода такие :) int i,k; float j; int...

Количество положительных элементов массива вывести из stringgrid в memo через button
Здраствуйте Мне нужно из stringgrid1 вывести в memo (если честно,без разницы куда выводить) количество положительных элементов. Матрица в...

Вывести фамилии хорошистов
Известны оценки каждого из 22 учеников по четырем предметам. Вывести фамилии хорошистов


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru