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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2011, 21:33   #1
eriskay
 
Регистрация: 06.01.2011
Сообщений: 9
По умолчанию Оператор условия или как сделать чтобы анализировало все переменные

Итак имеется задача следующего вида:
"Стипендия студентам выплачивается в следующем размере: если студент составил три экзамена на "5", то получает 125% основной стипендии; если средний балл сессии 4 (но без троек), то основную стипендию; если средний балл меньше 4, то студент стипендию не получает . Определить размер стипендии студенту по результатам сессии."
Получается нам нужно ввести 3 оценки, если средний балл 4 то студент получает основную стипендию, но главное чтобы было без троек, значит программа должна анализировать все оценки. Но как это сделать ума не приложу
Думал сделать через оператор иф,
Код:
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,k=a+b,st; // оцінки
printf("Vvedit osinky za 1 ekzamen: \n");
scanf("%f",&a);
printf("Vvedit osinky za 2 ekzamen: \n");
scanf("%f",&b);
printf("Vvedit osinky za 3 ekzamen: \n");
scanf("%f",&c);
{
	float s=(a+b+c);
	if (s==15) // такой результат может быть только когда все оценки 5
	{
		printf("Vasha stupendiya= 125% \n");
	}
	else 
	
		(s==14); // такой результат может быть если есть оценки 5 4 и 5 в любой последовательности
		printf("Obuchna stipuxa \n");
	
}
}
Но как сделать чтобы анализировало все оценки? Ведь если сума = 12 то могут быть оценки как (4, 4, 4) так и (5,4,3)
eriskay вне форума Ответить с цитированием
Старый 06.01.2011, 21:40   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

omg ) если все три переменные равны 5 - получить 125%;
иначе если хотя бы одна из переменных равна 3 - не получать вообще;
иначе получать 100%
Son Of Pain вне форума Ответить с цитированием
Старый 06.01.2011, 21:47   #3
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Сравниваешь каждую оценку после ввода, и если это 3 то стипендии нет, иначе считаешь среднюю и всё
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 06.01.2011, 21:56   #4
eriskay
 
Регистрация: 06.01.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
omg ) если все три переменные равны 5 - получить 125%;
иначе если хотя бы одна из переменных равна 3 - не получать вообще;
иначе получать 100%
О точно но вот вопрос

Код:
{
	float s=(a+b+c);
	if (s==15) // hh
	{
		printf("Vasha stupendiya= 125% \n");
	}
    else 
		(a==3,b==3,c==3); // o
	{	
	printf("nema stipuxu \n");
	}
	else 
	{
		printf("obuchna \n");
		}
}
}
Ругается на вот это место
else
{
printf("obuchna \n");
}

error C2181: illegal else without matching if

Цитата:
Сообщение от Ghost of Night Посмотреть сообщение
Сравниваешь каждую оценку после ввода, и если это 3 то стипендии нет, иначе считаешь среднюю и всё
Но а как сравнивать каждую оценку? Простой пример если можно

Последний раз редактировалось Stilet; 06.01.2011 в 23:33.
eriskay вне форума Ответить с цитированием
Старый 06.01.2011, 22:28   #5
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Да просто пишешь
Код:
if ((a+b+c)==15) {
printf("125%\n");
}
else if ((a==3) || (b==3) || (c==3)) {
printf("хрен\n");
}
else {
printf("100%\n");
}

Последний раз редактировалось Stilet; 06.01.2011 в 23:35.
Son Of Pain вне форума Ответить с цитированием
Старый 06.01.2011, 22:38   #6
eriskay
 
Регистрация: 06.01.2011
Сообщений: 9
По умолчанию

Большое спасибо) Кстати такой вопрос: можно так сделать чтобы с++ понимал русские буквы?
eriskay вне форума Ответить с цитированием
Старый 06.01.2011, 22:42   #7
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

в студийном компиляторе можно )
setlocale(LC_ALL, "Russian");
Son Of Pain вне форума Ответить с цитированием
Старый 06.01.2011, 23:02   #8
eriskay
 
Регистрация: 06.01.2011
Сообщений: 9
По умолчанию

И еще вопрос а как украинские шрифты? і,є,ї
eriskay вне форума Ответить с цитированием
Старый 06.01.2011, 23:39   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
setlocale(LC_ALL, "Ukranian");
попробуй.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.01.2011, 00:19   #10
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Ukrainian только )
Son Of Pain вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оператор выбора или условный оператор[Перенесено из JavaSE] merhaba1992 Помощь студентам 1 20.01.2011 17:06
Неявные переменные или как-то так kuzjma PHP 3 24.10.2010 22:33
КАК СДЕЛАТЬ ТАК ЧТОБЫ ВСЕ КОМПОНЕНТЫ КОТ. НА ФОРМЕ РАСТЯГИВАЛИСЬ НА ВСЁ ОКНО ПРИ РАЗВЁОТЫВАНИЕ ОКНА???? Alexij Общие вопросы Delphi 4 23.06.2008 10:44
Оператор условия [Smarik] Помощь студентам 8 22.02.2008 18:49