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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2011, 10:28   #1
Сольвейг
Пользователь
 
Регистрация: 10.12.2011
Сообщений: 17
По умолчанию Задача на структуры (С++)

Определите структуру или класс для представления записи информации о сданных студентом экзаменах (фамилия студента, число экзаменов, массив полученных оценок). Определите необходимые функции (или методы класса) для обработки отдельного объекта (например, метод, проверяющий, сданы ли все экзамены на 4 и 5). Используя спроектированный тип, напишите функцию или класс для обработки массива структур. В результате обработки требуется вычислить характеристику качественной успеваемости студентов, то есть(отношение числа студентов, сдавших экзамены на 4 и 5, к общему числу студентов, в %. Результат вычислений должен быть выведен в файл на диске, при этом вывод результатов данных должен осуществляться внешней функцией (или методом другого класса).
Сольвейг вне форума Ответить с цитированием
Старый 11.12.2011, 12:03   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Сделаю быстро и недорого.
Аська под аватаром.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 11.12.2011, 17:19   #3
Сольвейг
Пользователь
 
Регистрация: 10.12.2011
Сообщений: 17
По умолчанию

С задачей вообщем справилась, не пойму как вычислить отношение студентов, сдавших на 4 и 5 к общему числу в %. Если ставлю внутри цикла, то результат вылезает 5 раз (по кол-ву повторений) А если вне цикла, то параметры массива функция не видит, и программа не работает.
Подскажите, пожалуйста, кто знает как реализовать. Спасибо!
Код:
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
//opredelaem strukturu
struct Spisok
{
	char Fam[4];
	int Exam[5];
	int Ball[5];
};
int main()
{
	const int n=4;
	Spisok stud[4]; // sozdaem massiv strok
	int mas[n]={0};
	for (int i=0; i<n; i++)
	{
		cout<< "vvedite familijy: \n";
		cout<<"\n";
		cin>>stud[i].Fam;
		cout<< "vvedite baly po predmetam: \n";
		cout<<"\n";
		cout<<"matematika | fizika | informatika | etika | psihologija \n";
		
		for (int j=0; j<5; j++)
		{
			cout <<"\n";
			cin >> stud[i].Ball[j];
			
		}
		
	};
	return 0;
}
Сольвейг вне форума Ответить с цитированием
Старый 11.12.2011, 18:11   #4
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
сдавших на 4 и 5 к общему числу в %
Так?
Код:
Код:
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
//opredelaem strukturu
struct Spisok
{
	char Fam[4];
	int Exam[5];
	int Ball[5];
};
int main()
{
	const int n=4;
	Spisok stud[4]; // sozdaem massiv strok
	int mas[n]={0};
	for (int i=0; i<n; i++)
	{
		cout<< "vvedite familijy: \n";
		cout<<"\n";
		cin>>stud[i].Fam;
		cout<< "vvedite baly po predmetam: \n";
		cout<<"\n";
		cout<<"matematika | fizika | informatika | etika | psihologija \n";
		
		for (int j=0; j<5; j++)
		{
			cout <<"\n";
			cin >> stud[i].Ball[j];	
		}
	}

	char namePredmets[5][32];
	strcpy(namePredmets[0], "matematika");//Присваиваем namePredmets[0] строку "matematika"
	strcpy(namePredmets[1], "fizika");
	strcpy(namePredmets[2], "informatika");
	strcpy(namePredmets[3], "etika");
	strcpy(namePredmets[4], "psihologiya");
	for (int j=0; j<5; j++)//j - текущий предмет, 5 - всего предметов
	{
		int badRes = 0, goodRes = 0;

		for (int i=0; i<n; i++)//i - текущий студент, n - всего студентов
		{
			if ((stud[i].Ball[j] == 4) || (stud[i].Ball[j] == 5))
			{
				goodRes++;
			}
			else
			{
				badRes++;
			}
		}

		cout << namePredmets[j] << ": " << (goodRes * (100 / 4)) << endl;
		//100 / 4, 100 количество процентов (т.е. всегда сто), 4 - количество студентов, 1 студент - 25 процентов от всех студентов
	}

	return 0;
}
zotox вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на структуры! VIPchk Общие вопросы C/C++ 13 05.04.2011 02:54
задача на структуры hunter08923 Общие вопросы C/C++ 5 04.04.2011 19:26
Задача на структуры с сортировкой на С++ Many man Помощь студентам 3 25.04.2009 10:32
Массивы и структуры в структурах (Задача в С++) bel_ka Общие вопросы C/C++ 4 16.12.2007 15:31