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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2015, 01:50   #1
Ravgus
 
Регистрация: 22.03.2014
Сообщений: 7
По умолчанию Составить программу, для обработки информации об оценках студентов

Привет всем )) Нужна помощь
Задача (язык С ++). Составить программу, которая запрашивает фамилии 10 студентов и их оценки по 10 предметам, а после этого вычисляет среднюю оценку каждого студента и среднюю оценку каждого предмета.
Я написал рабочий код, все работает отлично, только программа слишком громоздкая. Прошу помочь мне ее как-то сократить(скорее всего через циклы). Программа прилагается(просто она не влазит на страницу(().



P.S. Внизу программы находится таблица, куда вносятся результаты работы программы.
Вложения
Тип файла: txt Proga.txt (9.4 Кб, 125 просмотров)

Последний раз редактировалось Ravgus; 22.03.2015 в 13:38.
Ravgus вне форума Ответить с цитированием
Старый 22.03.2015, 02:23   #2
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Позвольте полюбопытствовать: русский - ваш родной язык?
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 22.03.2015, 09:43   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include<iostream.h>
#include<conio.h>
main()
{
clrscr();
char name[10];
int mark[100], predmet[10],i;
float sered[10];

for(i=0;i<10;i++){
cout<<"\n Vasha Familiya:";cin>>name[i];
cout<<"\n Vasha Ocenka po matematice:";cin>>mark[0];
cout<<"\n Vasha Ocenka po biologii:";cin>>mark[1];
cout<<"\n Vasha Ocenka po himii:";cin>>mark[2];
cout<<"\n Vasha Ocenka po fizike:";cin>>mark[3];
cout<<"\n Vasha Ocenka po yazuky:";cin>>mark[4];
cout<<"\n Vasha Ocenka po literature:";cin>>mark[5];
cout<<"\n Vasha Ocenka po angl. yazuke:";cin>>mark[6];
cout<<"\n Vasha Ocenka po fizkulture:";cin>>mark[7];
cout<<"\n Vasha Ocenka po trudy:";cin>>mark[8];
cout<<"\n Vasha Ocenka po psihologyi:";cin>>mark[9];
 predmet[0] = (mark[0]+mark[1]+mark[2]+mark[3]+mark[4]+mark[5]+mark[6]+mark[7]+mark[8]+mark[9]);
 sered[0] = predmet[0] /10;
}
cout<<"\n Student       \t Srednyay ocenca studenta                 \t Predmet                    \t Srednyay ocenka predmeta";
for(i=0;i<10;i++){
 cout<<"\n"<< name[i]  << "\t \t \t \t"<< sered[i]                  <<"\t \t \t \t Matematica "  << "\t \t \t \t"<< predmet[i];
}
getch();
Устраивает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.03.2015, 12:36   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Примерно так.
Код:
#include<iostream.h>
#include<conio.h>
#include<string>
int main()
{
clrscr();
char name[10];
int mark[10][10], predmet[10],i,j;
float sered[10];


strings name_predmet[10] ={"matematice", "biologii", "himii",
                           "fizike", "yazuky", "literature", "angl. yazuke",
                           "fizkulture", "trudy", "psihologyi"};
for(j=0; j<10; j++)
{
  cout<<"\n Vasha Familiya:";cin>>name[j];
  predmet[j] = 0;
  for(i=0;i<10;i++)
  {
    cout<<"\n Vasha Ocenka po " << name_predmet[i]; cin>>mark[j][i];
    predmet[j] += mark[j][i];
  }
  sered[j] = predmet[j] /10;
}

for(i=0;i<10;i++)
{
  cout << "Familiya:  " << name[i] << "Srednyay ocenca:  "
   << sered[i] << "Predmet:  " << name_predmet[10] << endl;
}
getch();
return 0;
}
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 22.03.2015, 15:01   #5
Ravgus
 
Регистрация: 22.03.2014
Сообщений: 7
По умолчанию

Спасибо всем за помощь)) Единственное, с чем у меня возникают проблемы, так это с вычислением средней оценки каждого предмета, т.е. например, нужно найти среднюю оценку всех студентов по предмету "математика"((оценка 1студ по мат.+..+оценка Nстуд. по мат.)/n).Подскажите пожалуйста, можно ли это реализовать в данном коде?
Код:
#include<iostream.h>
#include<conio.h>
main()
{
clrscr();
char name1[10], name2[10], name3[10], name4[10], name5[10], name6[10], name7[10], name8[10], name9[10], name10[10];
int mark[100], i;
float sered[10], predmet[10], oc_stud[10];

cout<<"\n Vvedite imena studentov:";
cin>>name1;
cin>>name2;
cin>>name3;

for(i=0;i<10;i++){
cout<<"\n Vvedite ocenki "<<i+1<<" studenta:";
cout<<"\n Ocenka po matematice:";cin>>mark[0];
cout<<"\n Ocenka po biologii:";cin>>mark[1];
cout<<"\n Ocenka po himii:";cin>>mark[2];
cout<<"\n Ocenka po fizike:";cin>>mark[3];
cout<<"\n Ocenka po yazuky:";cin>>mark[4];
cout<<"\n Ocenka po literature:";cin>>mark[5];
cout<<"\n Ocenka po angl. yazuke:";cin>>mark[6];
cout<<"\n Ocenka po fizkulture:";cin>>mark[7];
cout<<"\n Ocenka po trudy:";cin>>mark[8];
cout<<"\n Ocenka po psihologyi:";cin>>mark[9];
predmet[i] = (mark[0]+mark[1]+mark[2]+mark[3]+mark[4]+mark[5]+mark[6]+mark[7]+mark[8]+mark[9]);
sered[i] = predmet[i] /10;
oc_stud[i]=sered[i];
}

cout<<"\n Student "<<" \t Srednyay ocenca studenta "<<" \t Predmet";
cout<<"\n "<< name1 << " \t \t \t"<< oc_stud[0] <<" \t \t \t Matematica ";
cout<<"\n "<< name2 << " \t \t \t"<< oc_stud[1] <<" \t \t \t Bioligia ";
cout<<"\n "<< name3 << " \t \t \t"<< oc_stud[2] <<" \t \t \t Himiya ";
cout<<"\n" << name4 << " \t \t \t"<< oc_stud[3] <<" \t \t \t Fizika ";
cout<<"\n" << name5 << " \t \t \t"<< oc_stud[4] <<" \t \t \t Yazuk ";
cout<<"\n" << name6 << " \t \t \t"<< oc_stud[5] <<" \t \t \t Literatura ";
cout<<"\n" << name7 << " \t \t \t"<< oc_stud[6] <<" \t \t \t Angl.yazuk ";  
cout<<"\n" << name8 << " \t \t \t"<< oc_stud[7] <<" \t \t \t Fizkultura ";  
cout<<"\n" << name9 << " \t \t \t"<< oc_stud[8] <<" \t \t \t Trudy ";       
cout<<"\n" << name10<< " \t \t \t"<< oc_stud[9] <<" \t \t \t Psihologiya "; 


getch();
}

Последний раз редактировалось Ravgus; 22.03.2015 в 17:33.
Ravgus вне форума Ответить с цитированием
Старый 22.03.2015, 15:15   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
for(i=0,j;i<10;i++){
j=0;
cout<<"\n Vvedite ocenki "<<i+1<<" studenta:";
cout<<"\n Ocenka po matematice:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po biologii:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po himii:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po fizike:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po yazuky:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po literature:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po angl. yazuke:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po fizkulture:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po trudy:";cin>>mark[j]; predmet[j++]+=mark[j];
cout<<"\n Ocenka po psihologyi:";cin>>mark[j]; predmet[j++]+=mark[j];
}
for(i=0,j;i<10;i++) sered[i] = predmet[i] /10;
Так годится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.03.2015, 17:50   #7
Ravgus
 
Регистрация: 22.03.2014
Сообщений: 7
По умолчанию

Простите меня за мое не понимание, но не могли бы вы пожалуйста мне объяснить, что делает последняя строчка, и что она по идее должна выдавать(среднее по предмету или средняя оц. студента)?
Ravgus вне форума Ответить с цитированием
Старый 22.03.2015, 18:31   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да. Она подсчитывает средние значения по предметам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.03.2015, 19:04   #9
Ravgus
 
Регистрация: 22.03.2014
Сообщений: 7
По умолчанию

Все, спс большое за помощь)
Ravgus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу для ввода, вывода и обработки заданной структуры данных. Владимир123321 Помощь студентам 10 26.06.2013 13:59
Составить программу для обработки массивов с разным количеством элементов. Паскаль. gudok2 Помощь студентам 1 09.04.2013 08:23
Составить программу для обработки массивов с разным количеством елементов. Pumba1 Помощь студентам 0 06.04.2013 12:43
составить программу для обработки информации о кадрах предприятия Лунатик13 Помощь студентам 2 28.03.2012 16:31
Составить программу для обработки данных во время ввода. Васильева Зинаида Помощь студентам 9 01.11.2010 21:36