Помогите с прогой [C++]

C++, Assembler, PHP и т.д. и т.п...

Модератор: Tiger

Аватара пользователя
GOBLIN
Сообщения: 391
Зарегистрирован: Вт 30 ноя, 2004 11:49
Откуда: Ул Свободы Д 38
Контактная информация:

Помогите с прогой [C++]

Сообщение GOBLIN » Пт 08 июн, 2007 16:32

Народ помогите с прогой, вот всё написал тока СА неправильно расчитывается.
Помогите его поправить ))
/*
Задание 10 (повышенной сложности)
В классе учится N - человек, причём известны фамилияЮ имя и отчество каждого из них.
В конце года весь класс написал итоговую контрольную работу. Напишите программу составления сводной ведомости по итогам написания контрольной работы с указанием ФИО и оценки, полученной учеником. Также выведите на экран сообщение об итогах работы всего класса (средний бал), изходя из условия:
5-4,5 - "Ochen horosho!";
4-4,4 - "horosho!";
3-9,3 - "UDOVOLIT!";
менее 3 плохо
*/

Код: Выделить всё

#include <iostream.h>
#include <fstream.h>
#include <windows.h>

   char bufRus [256];
   char* Rus (const char* text){
   CharToOem (text, bufRus);     // Науим С++ русскому. :)
   return bufRus;
   }
void main()
{
   
   int kol_vo=0;
   long sr=0;
   int otsum=0;
   char name[64];
   char family[64];
   char otcestv[64]; //INFO
   float otcenka=0;

   cout << Rus ("Введите количество учеников: ");
   cin >>kol_vo;
   system("cls");
   cout << Rus ("Внимание! Данные необходимо вводить латинскими bykvami!\n")<<endl;
   cout << Rus("В классе: ") <<kol_vo;
   cout << Rus(" человек") <<endl;

   for (int i=0; i<kol_vo; i++)
   {
      cout << Rus ("Введите имя ") <<i+1; cout << Rus (" ученика: ");
      cin >>name;
      system("cls");
      cout << Rus ("Введите фамилию ") <<i+1; cout << Rus (" ученика: ");
      cin >>family;
      system("cls");
      cout << Rus ("Введите отчество ") <<i+1; cout << Rus (" ученика: ");
      cin >>otcestv;
      system("cls");
      cout << Rus ("Введите отценку ") <<i+1; cout << Rus (" ученика: ");
      cin >>otcenka;
      otsum=otsum+otcenka;
      system("cls");

      {
         ofstream book_file("vedomost.dat,ios::app");
         book_file <<"Сводная ведомость\n\n" << endl;
         book_file <<"Человек в классе: " <<kol_vo << endl;
         book_file <<">------------------------------<"<< endl;
         book_file <<"Ученик № " <<i+1 << endl;
         book_file <<"Ученик: " <<family <<name <<otcestv << endl;

         if (otcenka >= 5)
         {
         
         book_file <<"Отценка: "<< otcenka  <<" - Отлично!" << endl;

         }
         else if (otcenka == 4)
         {
         
         book_file <<"Отценка: "<< otcenka  <<" - Хорошо!" << endl;

         }
         else if (otcenka == 3)
         {
         
         book_file <<"Отценка: "<< otcenka  <<" - Удоволитворительно!" << endl;
         }
         else if (otcenka < 3)
         {
         
         book_file <<"Отценка: "<< otcenka  <<" - Плохо!" << endl;
         }
         book_file <<">------------------------------<"<< endl;
   
      }

         
   }//for

   cout << Rus ("Сводная ведомость успешно обновленна")<<endl;
   cout << Rus ("Итог работы всего класса (средний бал) ")<<endl;
   sr=otsum/kol_vo;
   if (sr >= 5)
   {
      cout << Rus ("Очень Хорошо!") <<endl;
      cout << Rus ("Средний бал=") <<sr;
   }
   else if (sr == 4)
   {
      cout << Rus ("Хорошо!") <<endl;
      cout << Rus ("Средний бал=") <<sr;
   }
   else if (sr == 3)
   {
      cout << Rus ("Удоволитворительно!") <<endl;
      cout << Rus ("Средний бал=") <<sr;
   }
   else if (sr < 3)
   {
      cout << Rus ("Плохо!") <<endl;
      cout << Rus ("Средний бал=") <<sr;
   }


}
http://goblin.tushino.com/ - Сайт для программистов :lol:

214
Сообщения: 166
Зарегистрирован: Сб 14 фев, 2004 20:03
Контактная информация:

Сообщение 214 » Вс 10 июн, 2007 20:49

Да вроде правильно расчитывается (сумма_элементов/количество_элементов).
Только не понятно зачем book_file открывается в цикле. Не лучше ли открыть его перед циклом, записать заголовок (сводная ведомость, человек в классе), потом в цикле ИФО и оценки, и после цикла закрыть?

Аватара пользователя
GOBLIN
Сообщения: 391
Зарегистрирован: Вт 30 ноя, 2004 11:49
Откуда: Ул Свободы Д 38
Контактная информация:

Сообщение GOBLIN » Вс 10 июн, 2007 22:25

214 - Спасибо ))

Мне просто всегда кажется, что я где-то ошибся... :lol:

book_file - Действительно можно открыть перед циклом.

Ещё раз спасибо. :)
http://goblin.tushino.com/ - Сайт для программистов :lol:


Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость