Форум программистов, компьютерный форум CyberForum.ru

Вывод определённого кол-ва знаков после запятой в структуре! - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
sniperni
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 46
21.02.2012, 21:27     Вывод определённого кол-ва знаков после запятой в структуре! #1
Ребята,передо мной была поставлена задача,которую я решил,но теперь вот у меня возник вопрос! вот прога по структурам,которую я написал:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include<iostream> 
#include<conio.h> 
#include<string.h>
#include<stdlib.h> 
#include<stdio.h>
#include<windows.h>
using namespace std;
struct towary
 {
     char name[30];
     double price;
     double nacenka;
     double rozprice;
 };
int main()
{
    SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
towary *t;
t=new towary;
int k,i;
double ucenka;
cout<<"Введите кол-во товаров: ";
cin>>k;
for(i=0;i<k;i++)
{
    cin.sync();
    cout<<"Введите наименование "<<i+1<<"-ого товара: ";
    cin.getline(t[i].name,29);
    cout<<"Укажите закупочную цену "<<i+1<<"-ого товара (в рублях): ";
    cin>>t[i].price;
    cout<<"Укажите наценку "<<i+1<<"-ого товара (в процентах): ";
    cin>>t[i].nacenka;
    t[i].rozprice=t[i].price+t[i].price*t[i].nacenka*0.01;
    system("cls");
}
cout<<"База введённых товаров!\n";
for(i=0;i<k;i++)
{
    cout<<i+1<<"-ый(-ой) товар\n";
    cout<<"Наименование товара: ";
    puts(t[i].name);
    cout<<"Закупочная цена: "<<t[i].price<<" руб.\n";
    cout<<"Наценка: "<<t[i].nacenka<<"%\n";
    cout<<"Розничная цена: "<<t[i].rozprice<<" руб.\n";
    cout<<"############################################\n";
}
cout<<"Укажите цену(в рублях), и товар,стоимость которого больше этой цены, будет уценён на 20%: ";
cin>>ucenka;
cout<<"############################################\n";
for(i=0;i<k;i++)
    if(t[i].rozprice>ucenka)
    {
        t[i].rozprice=t[i].rozprice*0.8;
        cout<<i+1<<"-ый(-ой) товар уценён!\n";
    }
    cout<<"############################################\n";
    cout<<"Товары с учётом уценки!\n";
for(i=0;i<k;i++)
{
    cout<<i+1<<"-ый(-ой) товар\n";
    cout<<"Наименование товара: ";
    puts(t[i].name);
    cout<<"Закупочная цена: "<<t[i].price<<" руб.\n";
    cout<<"Наценка: "<<t[i].nacenka<<"%\n";
    cout<<"Розничная цена: "<<t[i].rozprice<<" руб.\n";
    cout<<"############################################\n";
}
char stn[30];
double stprice;
double stnacenka;
double strozprice;
for(i=k-1;i>0;i--)
for(int j=0;j<i;j++)
{
    stn[0]=0;
    if(t[j].rozprice>t[j+1].rozprice)
    {
        strcpy(stn,t[j+1].name);
        stprice=t[j+1].price;
        stnacenka=t[j+1].nacenka;
        strozprice=t[j+1].rozprice;
        strcpy(t[j+1].name,t[j].name);
        t[j+1].price=t[j].price;
        t[j+1].nacenka=t[j].nacenka;
        t[j+1].rozprice=t[j].rozprice;
        strcpy(t[j].name,stn);
        t[j].price=stprice;
        t[j].nacenka=stnacenka;
        t[j].rozprice=strozprice;
    }
}
cout<<"Нажмите клавишу Enter, и ваша база товаров будет отсортированна в порядке возрастания розничной цены!\n";
getch();
cout<<"############################################\n";
cout<<"База товаров в порядке возрастания розничной цены!\n";
for(i=0;i<k;i++)
{
    cout<<i+1<<"-ый(-ой) товар\n";
    cout<<"Наименование товара: ";
    puts(t[i].name);
    cout<<"Закупочная цена: "<<t[i].price<<" руб.\n";
    cout<<"Наценка: "<<t[i].nacenka<<"%\n";
    cout<<"Розничная цена: "<<t[i].rozprice<<" руб.\n";
    cout<<"############################################\n";
}
 getch();
 delete t;
}
 Комментарий модератора 
Используйте теги форматирования кода!

Подскажите мне пожалуйста, как сделать так,чтобы значение,которое я нахожу в строке "t[i].rozprice=t[i].price+t[i].price*t[i].nacenka*0.01;" в программе принимало значения такие,что у них будет только 2 знака после запятой.... как это сделать??? Заранее ОГРОМНОЕ СПАСИБО!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 21:27     Вывод определённого кол-ва знаков после запятой в структуре!
Посмотрите здесь:

Увеличение количества знаков после запятой C++
количество знаков после запятой C++
Вывод определенного количества знаков до запятой C++
C++ Насчёт числа знаков после запятой
Вывод n знаков после запятой C++
C++ Увеличить количество знаков после запятой
Форматированный вывод с точностью до двух знаков после запятой C++
Максимальное количество знаков после запятой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
22.02.2012, 22:53     Вывод определённого кол-ва знаков после запятой в структуре! #2
как будет с использованием cout не могу сказать,а с printf'ом будет так:

printf("%f 5.2", t[i].rozprice);

5.2 означает, что будет выведено всего 5 знаков, а после запятой всего 2 знака
только подгоните под себя)
Yandex
Объявления
22.02.2012, 22:53     Вывод определённого кол-ва знаков после запятой в структуре!
Ответ Создать тему
Опции темы

Текущее время: 20:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru