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

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

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

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

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

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

Помогите с заданием на c++. А то что-то не могу найти в учебнике.
вроде всё решил. вот только точку не могу поставить. хочу чтобы средний балл при выводе ограничивался двумя знаками после запятой.
А заодно может что-то критическое найдётся.
Вложения
Тип файла: doc my_lab7.doc (27.0 Кб, 10 просмотров)

Последний раз редактировалось михалсаныч; 05.06.2011 в 01:25.
михалсаныч вне форума Ответить с цитированием
Старый 05.06.2011, 03:08   #2
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Когда Вы назначаете переменную для среднего балла, Вы выбрали double sb.... Для двух знаков после запятой нужен тип float......

Или уже выкручиваться форматированием (смотрите в справочнике спецификаторы формата)..... искусственно указываем при выводе, что нам нужно 2 знака после запятой. Для этого нужна библиотека <stdio.h>
Код:
#include <stdio.h>
Пример
Код:
printf("Переменная x = %.2f",x);
Результат
Переменная x = 10.35

В вашем случае

Код:
printf("Средний балл = %.2f",sb);

Вот ссылочка на примеры применения форматов (таблицы справочные там же)
http://www.realcoding.net/articles/f...ntf-scanf.html
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan

Последний раз редактировалось Blondy; 05.06.2011 в 03:12.
Blondy вне форума Ответить с цитированием
Старый 05.06.2011, 09:28   #3
михалсаныч
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 16
По умолчанию

во-как! к сожалению мы ничего кроме cout<<-cin>> и не рассматривали. Все лабы только так оформляем.
Попробовал вставлять %.2f --пишет ошибку.
Видимо придётся ставить точку в работе. Ведь программу составлял согласно методичке. Прога работоспособна да вот только много знаков после запятой смотрятся некрасиво, и с практической точки сотых долей --вполне было бы достаточно.
Экспериментировать с посторонними "операторами" не рискну -боюсь что препод. подумает что работа "заказанная". А у "заказной" работы защита несколько сложнее.
Посему всем арэвидерчи.
михалсаныч вне форума Ответить с цитированием
Старый 05.06.2011, 10:48   #4
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

можете попробовать следующее:
1. полученный результат умножаете на 100.
2. то что получилось - округляете до целого.
3. округленное число делите на 100
Должно остаться 2 знака после запятой...
(но, конечно, могут быть и подводные камни)
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 05.06.2011, 11:14   #5
михалсаныч
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 16
По умолчанию

Да! В армии, когда наш камроты заставлял чистить снег на плацу ломиком, мы недоумевали -зачем так "сложно". На что тот "наставлял": главное не снег а упорство.
михалсаныч вне форума Ответить с цитированием
Старый 05.06.2011, 11:20   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

setprecision
Код:
cout << setprecision(2) << x;
как-то так вроде. Не знаю что у вас за методичка и препод, но обычно подобные операторы оставляют на самостоятельное изучение при необходимости.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 05.06.2011 в 11:24.
Alex11223 вне форума Ответить с цитированием
Старый 05.06.2011, 12:41   #7
михалсаныч
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 16
По умолчанию

выдает ошибку. добавил библиотек --ошибка пропала. Выдает только целую часть.
на преподов обижаться пока нет причин. идиотов слава.... -нет

Последний раз редактировалось михалсаныч; 05.06.2011 в 12:45.
михалсаныч вне форума Ответить с цитированием
Старый 05.06.2011, 12:55   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

ой, т.е. так.
Код:
 cout << fixed << setprecision(2)<< x;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.06.2011, 14:33   #9
михалсаныч
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 16
По умолчанию

Врагу не сдаётся наш гордый "ВАРЯГ".

cpp(48) : error C2065: 'fixed' : undeclared identifier
cpp(48) : error C2065: 'setprecision' : undeclared identifier

#include<iostream.h>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

с другими библиотеками я не сталкивался
михалсаныч вне форума Ответить с цитированием
Старый 05.06.2011, 14:39   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

iomanip библиотека, по ссылке выше же написано)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно определиться с выбором mr_mag Visual C++ 14 30.01.2011 15:48
Надо определиться tolstij Свободное общение 3 24.01.2010 18:45
Не могу определиться. И с чего начать? ale11055 Microsoft Office Access 3 07.06.2008 11:06
Помогите определиться с доменом ERASERROR Свободное общение 8 23.03.2008 16:19
Помогите определиться с средой разработки Руслантус Свободное общение 3 14.03.2008 23:27