Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > C/C++/С#


Ответ
 
Опции темы Опции просмотра
Старый 26.11.2015, 21:25   #1 (permalink)
Ank2503
Новичок
 
Регистрация: 26.11.2015
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Список студентов

Распечатать анкетные данные студентов, получивших за все время обучения одну оценку 3, а все остальные оценки — 4 и 5. C++.Не знаю почему, но в моем коде выводит всех студентов.

Код:
#include <iostream>
using namespace std;
void main()
{
	int o4=0, o3=0, o5=0;
	typedef struct{
		char f[20];
		int date;
		char k;
		int o[6];
	} Student;
	Student m[5];
	for (int i = 0; i < 5; i++)
	{
		cout << "Insert surname - ";
		cin >> m[i].f;
		cout << "Insert date - ";
		cin >> m[i].date;
		cout << "Insert kurs - ";
		cin >> m[i].k;
			for (int j = 0; j < 6; j++)
			{
				cout << "Insert mark  " ;
				cin >> m[i].o[j];
			}
	}
	for (int i = 0; i < 5; i++)
	{
		for (int j = 0; j < 6; j++)
		{

			if (m[i].o[j] == 3)
				o3 = o3 + 1;
			if (m[i].o[j] == 4)
				o4 = o4 + 1;
			if (m[i].o[j] == 5)
				o5 = o5 + 1;
		}
	}			
		for (int i = 0; i < 5; i++)
		{
						if (o3 = 1) if (o4 = 1) if (o5=1)
			{
				cout << "1." << m[i].f << endl;
				cout << "2." << m[i].date << endl;
				cout << "3." << m[i].k << endl;
				cout << "4.";

				for (int j = 0; j < 6; j++)
				{

					cout << m[i].o[j]<<" ";

				}
				cout << endl;
			}
		}
	
	system("pause");
}
Ank2503 вне форума   Ответить с цитированием

Старый 26.11.2015, 21:25
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Пока в вашей теме нет ответов вы можете обратить внимание на эти ссылки

А у студентов-то праздник!
Интересное предложение для студентов и выпускников
Связный список
Вывести список положительных чисел, список отрицательных чисел на C#
Подскажите программу для тестирования студентов

Старый 27.11.2015, 12:16   #2 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
По умолчанию

Ну во первых непонятно , что вы делаете во втором цикле, вы подсчитываете количество тех или иных оценок ВСЕХ студентов, что по условиям задачи совсем не нужно, вам нужно по каждому студенту отдельно
Во вторых в третьем цикле условия if не совпадают с постановкой задачи
Исправил бы так
Код:
#include <iostream>
using namespace std;
void main()
{
	int ox =0, o4=0, o3=0, o5=0;
	typedef struct{
		char f[20];
		int date;
		char k;
		int o[6];
                int condition; // признак попадания в условия задачи
	} Student;
	Student m[5];
	for (int i = 0; i < 5; i++)
	{
		cout << "Insert surname - ";
		cin >> m[i].f;
		cout << "Insert date - ";
		cin >> m[i].date;
		cout << "Insert kurs - ";
		cin >> m[i].k;
			for (int j = 0; j < 6; j++)
			{
				cout << "Insert mark  " ;
				cin >> m[i].o[j];
			}
	}
	for (int i = 0; i < 5; i++)
	{
               ox = o3 = o4 = o5 = 0;
		for (int j = 0; j < 6; j++)
		{
// оценки меньше 3
                        if (m[i].o[j] < 3) 
                          ox++;
                        
			if (m[i].o[j] == 3)
				o3++;
// проверять сколько 5 и 4 нет смысла
/*			if (m[i].o[j] == 4)
				o4++;
			if (m[i].o[j] == 5)
				o5++;
*/
		}
                 m[i].condition = 0;
                 if (ox==0 && o3==1) m[i].condition = 1;
	}			
		for (int i = 0; i < 5; i++)
		{
		if (m[i].condition==1)
			{
				cout << "1." << m[i].f << endl;
				cout << "2." << m[i].date << endl;
				cout << "3." << m[i].k << endl;
				cout << "4.";

				for (int j = 0; j < 6; j++)
				{

					cout << m[i].o[j]<<" ";

				}
				cout << endl;
			}
		}
	
	system("pause");
}
MagentaTiger вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 16:31.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.