Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LoMoHoCoB
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 2
#1

написанием функции 100системы оценивания - C++

20.03.2010, 15:29. Просмотров 618. Ответов 8
Метки нет (Все метки)

help! обьясните или покажите хоть как примерно будет выглядить код


Написать функцию, которая получает оценку студента по 100 бальной системе и возвращает оценку в 12 бальной системе. За основу взять следующие значения: [ 95-100 ] = 12, [90-94] = 11, [85-89] =10, [75-84 ]=9, [ 65-74 ]=8, [60-64]=7, [55-59]=6, [40-49] = 4, [30-39]=3, [20-29]=2, [10-19]=1, [0-9]=0.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2010, 15:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос написанием функции 100системы оценивания (C++):

Проблемы с написанием N дерева - C++
Начал писать N дерево, но запутался: в каждом узле должен храниться массив указателей на его дочерние элементы. Приведённый выше код...

Сложности с написанием кода программы - C++
Доброго времени суток :) Хотела бы попросить Вас о совете в написании кода к следующей задаче: "Написать программу, позволяющую по...

Промежуток между написанием строчек - C++
Я работаю через программу dev c++ и недавно я столкнулся с проблемой при написании следующего: cout<<rus(" Тут текст1")<<endl; ...

Помощь с написанием класса List - C++
Здравствуйте, помогите пожалуйста с задачей. Реализуйте класс List, представляющий список, элементами которого являются целые числа. ...

Помогите с написанием блок-схемы к программе - C++
подскажите пожалуйста,как она будет выглядеть к этой программе # include <conio.h> # include <stdio.h> void main () { ...

Помогите с написанием программы по курсовой работе - C++
Помогите с написанием программы по курсовой работе на тему:"Автоматизація обліку книг в публічній бібліотеці".:sorry: Очень нужно.

8
fantaz1
33 / 25 / 2
Регистрация: 08.11.2008
Сообщений: 107
20.03.2010, 15:59 #2
можно так:
C++
1
2
3
4
5
6
7
8
int func(int bal)
{
int bal_12;
if(bal >= 95 && bal <= 100) bal_12 = 12; 
else if( bal >= 90 && bal <= 94) bal_12 = 11;
..и тд
return bal_12;
}
1
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
20.03.2010, 16:03 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <conio.h>
int transfotm(int input_v);
int main(){
int bal_in_100_s = 0;
 
printf("input bal_in_100_s ");scanf("%d",&bal_in_100_s);
printf("ball_in_12_s %d",transfotm(bal_in_100_s) );
 
printf("\n");
return 0;
}
 
int transfotm(int input_v){
if(input_v>=95&&input_v<=100)return 12;
if(input_v>=90&&input_v<=94)return 11;
if(input_v>=85&&input_v<=89)return 10;
if(input_v>=75&&input_v<=84)return 9;
if(input_v>=65&&input_v<=74)return 8;
if(input_v>=60&&input_v<=64)return 7;
if(input_v>=55&&input_v<=59)return 6;
 
if(input_v>=41&&input_v<=54)return 5; //у тебя пять пропущено.
if(input_v>=40&&input_v<=49)return 4;
if(input_v>=30&&input_v<=39)return 3;
if(input_v>=20&&input_v<=29)return 2;
if(input_v>=10&&input_v<=19)return 1;
if(input_v>=0&&input_v<=9)return 0;
 
return -1;
}
Добавлено через 2 минуты
Уже не помню как интервал обозначается, короче если это интервал поставь заместо
<= < а заместо >= >
2
LoMoHoCoB
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 2
23.03.2010, 09:43 #4
Спасибо подскажи только что именно делает в этом коде
("%d",&bal_in_100_s)
что выполняет ? мне просто не понятно откуда взялось "%d"
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
23.03.2010, 15:57 #5
Заводим массив.
int conv[101];
Заполняем
conv[95]= conv[96]= conv[97]= conv[98]= conv[99]= conv[100]= 12;
И так далее.

После чего задача решается в 1 шаг.
1
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
23.03.2010, 16:49 #6
Хитро.

Добавлено через 11 минут
Размышления:
Может какой-нибудь коэффициент придумать что бы отнял или разделил на него и получил трансформированную версию бала.
В некоторых задачах я так и поступал:
Вот к примеру для данного случая интересное предложение:
100/8 == 12.5
90/8 == 11.25
85/8 == 10.6
Четкие границы конечно точным условиям не поддаются,
но всё же процессор меньше напрягов делает.
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
24.03.2010, 10:30 #7
Вот к примеру для данного случая интересное предложение:
Это как чисто учебное применение - составить формулу для преобразования.

Но в реальном программировании вместо кучи if или switch, case,
можно использовать матричный способ - тот который я описал.
Есть такой способ программирования.
В данном случае преобразование простое.
Но можно матричным способом описывать конечные автоматы.
Программирование с помощью конечных автоматов хорошо тем,
что можно отследить все варианты и правильно все реализовать.
Использование матриц для задания переходов в автомате удобно тем,
что код легко поддается модификации и код достаточно быстр.
1
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.03.2010, 11:33 #8
conv[95]= conv[96]= conv[97]= conv[98]= conv[99]= conv[100]= 12;
Но ручками долго прописывать, надо хотя бы цикл заполнения с условиями.
0
Day
1159 / 964 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
24.03.2010, 11:58 #9
C
1
2
3
  int Gran[14] = { 0,10,20,30,40,50,55,60,65,75,85,90, 95,101 };
  for(i=; i<13; i++) if(bal>=Gran[i] && bal<Gran[i+1]) break;
  bal12 = i;
0
24.03.2010, 11:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2010, 11:58
Привет! Вот еще темы с ответами:

Вылезает ошибка с написанием меню (WinAPI) - C++
Я писал пробную менюшку по учебнику (Ганеева), вылезла ошибка печальная :( В чем дело? Код: #include...

Не могу разобраться с написанием ActiveX в ATL - C++
Вопрос ко всем знатокам COM и ATL и не только! Создал ActiveX control c с помощью мастера. Добавил Connection Point с помощью...

Сложности с написанием программы сопровождения базы данных - C++
проблемы у меня жуткие с языком ANCY C помогите задана задача создать программу сопровождения базы данных по продметной области...

Помогите с написанием программы по обработке фотографий с использованием графических фильтров. - C++
Срочно


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.