Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2018, 09:29   #1
1Qwerty2
 
Регистрация: 18.01.2018
Сообщений: 3
По умолчанию Написать программу которая будет считать студентов без троек из accessa

нужно написать программу которая будет считать студентов без троек из accessa
Код:
void __fastcall TForm1::BitBtn6Click(TObject *Sender)

{

int sum=0;
double sred;

ADOTable1->First();
while (!ADOTable1->Eof)
  {
  for (int i=2;i<ADOTable1->FieldCount;i++)
 {
 while (ADOTable1->Fields->Fields[i]->AsInteger>3)
 sum=sum+1;

 }
  ADOTable1->Next();
  }
;
MessageDlg(13+"без троек: "+
     FloatToStr(sum),mtInformation,TMsgDlgButtons()<<mbOK,0);
     }

Последний раз редактировалось 1Qwerty2; 18.01.2018 в 09:57.
1Qwerty2 вне форума Ответить с цитированием
Старый 18.01.2018, 09:43   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:
  int count_good_student = 0;
  while (!ADOTable1->Eof)
  {
    int is_curr_good=1; 
    for (int i=2;i<ADOTable1->FieldCount;i++)
    {
     if(ADOTable1->Fields->Fields[i]->AsInteger<4){
       is_curr_good=0;  
       break;
     }
    } 
    if(is_curr_good==1){
     count_good_student++;
    }
    ADOTable1->Next();
  }

  MessageDlg(13+"без троек: "+
     IntToStr(count_good_student),mtInformation,TMsgDlgButtons()<<mbOK,0);
но вообще лучше (и проще и быстрее)
всего один ADOQuery и один запрос.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.01.2018, 09:51   #3
1Qwerty2
 
Регистрация: 18.01.2018
Сообщений: 3
По умолчанию

выдает только 0
1Qwerty2 вне форума Ответить с цитированием
Старый 18.01.2018, 10:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от 1Qwerty2 Посмотреть сообщение
выдает только 0
значит, таких студентов нет.

или Вы ошибочно работаете с полями записи.

Какая структура записи в таблице?

p.s. ADOTable1->First(); не забыли поставить перед циклом?!

Последний раз редактировалось Serge_Bliznykov; 18.01.2018 в 10:10.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.01.2018, 10:16   #5
1Qwerty2
 
Регистрация: 18.01.2018
Сообщений: 3
По умолчанию

Нашел ошибку. Большое спасибо
1Qwerty2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Язык си: написать программу которая будет автоматизировать каталог МахычD Помощь студентам 0 10.12.2014 22:30
Можно ли написать программу которая будет работать в Windows и Linux Arassir Qt и кроссплатформенное программирование С/С++ 2 27.10.2011 23:35
Возможно ли написать такую программу которая будет решать уравнение ? Anizotrop Помощь студентам 3 28.09.2011 13:49
Написать программу, которая будет использовать ранее созданную библиотеку. sanya94 Общие вопросы C/C++ 3 19.02.2011 00:58
написать программу,которая будет определять,и выводить на экран английскую букву Tiny Помощь студентам 3 25.06.2010 23:23