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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2007, 19:48   #1
Riddick2013
 
Регистрация: 09.11.2007
Сообщений: 6
По умолчанию Помогите с задачей по Borland С++

Помогите пожалуйста с задачей на структуры.

Дана информация о пяти студентах. Запись имеет вид: фамилия, имя, отчество и 4 оценки за экзамены. Вывести данные о студентах, сдавших сессию на отлично.

заранее спасибо...
Riddick2013 вне форума Ответить с цитированием
Старый 05.12.2007, 20:30   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Код:
#include<iostream.h>

float sr(int q, int ball[])
{
   int i;
   float s; /*Переменная - накопитель*/

   for(i=0, s=0; i<q; i++)
      s+=ball[i];
   return s/q; /*Вернуть среднюю оценку*/
}

void main()
{
   const int NAMEL = 30;
   struct EXAM {
      char name[30]; /* Имя студента*/
      int ball[7];  /* Оценки по экзаменам */
   };
	
   int i,j; /* Переменные циклов */
   int qs, /* Количество студентов */
       qe; /* Количество экзаменов*/

   struct EXAM exam[50]; /* Объявление массива структур*/

   cout << "Количество студентов в группе (<50):";
   cin >> qs;
   cout << "Количество экзаменов (<7):";
   cin >> qe;

   for (i=0; i < qs; i++) /*Ввод оценок студентов*/
   {
      cout << "Введите фамилию студента: ";
      cin >> exam[i].name;
      for( j=0; j<qe; j++) 
      {
         cout << "Введите оценку по " << j+1 << "экзамену";
         cin >> exam[i].ball[j];
      }
   }

/*Вывести на экран список студентов по категориям*/
   float sr1;
   cout << "\nОтличники (ср. балл > 4.5):";
   for (i=0; i<qs; i++)
      if(sr(qe, exam[i].ball) > 4.5)
         cout << endl << exam[i].name;

   cout << "\nХорошисты (ср. балл > 3.5 и <= 4.5): ";
   for (i=0; i<qs; i++)
   {
      sr1 = sr(qe, exam[i].ball);
      if(sr1 <= 4.5 && sr1 > 3.5)
         cout << endl << exam[i].name;
   }

   cout << "\nТроечники (ср. балл <= 3.5 и > 2.5):";
   for (i=0; i<qs; i++)
   {
      sr1 = sr(qe, exam[i].ball);
      if(sr1 <= 3.5 && sr1 > 2.5)
         cout << endl << exam[i].name;
   }


   cout << "\nДвоечники (ср. балл <= 2.5):";
   for (i=0; i<qs; i++)
      if(sr(qe, exam[i].ball) <= 2.5)
         cout << endl << exam[i].name;

   cout << endl;
}
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 05.12.2007, 21:26   #3
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

to AIDelta молодец (Google рулит), но все же С++ красив краткостью и красотой кода !!!
Можно и вот так...

Код:
#include <iostream.h>
#include <conio.h>
const int COUNT = 5;

struct study
  {
    char surname[10];
    char firstname[10];
    char fathername[10];
    int  estimation;
  };

int main()
{
study sec[COUNT];
int enu;
for (int i = 0; i < COUNT; i++)
{
  cout << "Surname "<< i << " ";
  cin  >> sec[i].surname;
  cout << "Firthtname "<< i << " ";
  cin  >> sec[i].firstname;
  cout << "Fathername "<< i << " ";
  cin  >> sec[i].fathername;
  cout << "Estimation "<< i << " ";
  cin  >> sec[i].estimation;
}

cout << endl;
cout << "Input Estimation ";
cin   >> enu;

for (int i = 0; i < COUNT; i++)
{
if (sec[i].estimation = enu)
 {
   cout << "" << sec[i].surname << endl; // Можешь дописать все данные если надо
 }
}

getch ();
return 0;
}

Последний раз редактировалось merax; 05.12.2007 в 21:51.
merax вне форума Ответить с цитированием
Старый 07.12.2007, 13:51   #4
Riddick2013
 
Регистрация: 09.11.2007
Сообщений: 6
По умолчанию

А вы не можете написать полную программу (не код).

Мне надо так: вводишь фамилию имя отчество студента и 4 оценки за экзамен. Потом вводишь фамилию имя отчество второго студента и 4 оценки за экзамен. И т.д. 5 студентов.
И программа сразу должна выводить: фамилии имена и отчества студентов сдавших сессию на отлично.

Пожалуйста помогите...
Riddick2013 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с Borland C++ Builder 6.0 Enterprise Noor Софт 4 15.10.2007 14:13
ПОМОГИТЕ НАСТРОИТЬ Borland Dragon-z Общие вопросы C/C++ 1 26.12.2006 21:00