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

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

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

Некорректное отображением float - C++

19.03.2009, 14:12. Просмотров 956. Ответов 2
Метки нет (Все метки)

Когда вводим название товара, который необходимо найти в массиве и если он там есть, то при выводе информации о товаре, почему то не корректно отображается его цена (product[i].itsPrice).
Если цена товара была 456.9, то в результате поиска цена становиться такой 0.000000
Подскажите пожалуйста что я сделал не так.
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
#include <stdio.h>
#include <string.h>
 
struct Price
{
    char itsNameProduct[100];
    char itsNameShop[100];
    float itsPrice;
};
 
int main ()
{
    const int n=1;
    int i,x;
    char enterNameProduct[100];
    Price product[n];
    for(i=0; i<n; i++)
    {
        if (i==0)
            printf("Product %i:\n",i+1);
        else printf("\nProduct %i:\n",i+1);
 
        printf("  The product name: ");
        scanf("%s",&product[i].itsNameProduct);
        printf("  The shop name:    ");
        scanf("%s",&product[i].itsNameShop);
        printf("  Goods cost:       ");
        scanf("%f",&product[i].itsPrice);
    }
    printf("-------------------------------------------\n");
    printf("Search: ");
    scanf("%s",&enterNameProduct);
    printf("-------------------------------------------\n");
    for(i=0; i<n; i++)
    {
        x=strcmp(product[i].itsNameProduct,enterNameProduct);
        if (!x)
        {
        printf("  The shop name: %s\n",&product[i].itsNameShop);
        printf("  Goods cost:    %f\n",&product[i].itsPrice);
        printf("-------------------------------------------\n");
        }
        else printf("\n  Not found.\n\n");
    }
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2009, 14:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Некорректное отображением float (C++):

Вывод выражения типа "float". Некорректное отображение - C++
#define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include &lt;clocale&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; ...

опять ошибка.на этот раз cannot convert `float (*)(float)' to `float' in argument passing - C++
#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; float f1(float x)/*vira*enie 1*/ {return (x*cos(x))/(1+ pow(x,2));} ...

Чем отличаются float преобразования (float)var от float(var) - C++
Здравствуйте! Подскажите, чем отличается (float)var от float(var)

invalid types `float[float]' for array subscript - C++
void SEARCH(float vol, float price, int i) { if (i&gt;N) { if(price&gt;maxprice) { ...

неверное приведение void* к *float а далее к float - C++
Почему когда привожу void* к int* потом к int то все работает, данные не бьются и работают нормально, когда делаю те же операции но с...

cannot convert `float' to `float*. Почему так происходит? - C++
всем привет, помогите исправить ошибки... а то голова мало варит уже, а завтра надо сдать уже #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tamplar
5 / 5 / 1
Регистрация: 02.08.2008
Сообщений: 45
19.03.2009, 14:39 #2
C++
1
if(!x)
Что-то не могу понять суть этого условия ведь "х" не имеет никакого значения ??
Извиняюсь конкретно протупил нашол
0
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
19.03.2009, 14:51 #3
Цитата Сообщение от TheWanderer Посмотреть сообщение
C++
1
printf(" Goods cost: %f\n",&product[i].itsPrice);
передавать надо значение ,а не адрес
C++
1
printf(" Goods cost: %f\n",product[i].itsPrice);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2009, 14:51
Привет! Вот еще темы с ответами:

Ошибка cannot convert 'float' to 'float*' - C++
Здравствуйте, что означает error: cannot convert 'float' to 'float*' for argument '1' to 'int mas_time(float*, int)'? Из-за чего она...

ОШИБКА [Error] cannot convert 'int*' to 'float*' for argument '1' to 'void Syma(float*,int*,int) - C++
Какая то проблема с указателями,незнаю,не хочет щитать суму парних чисел в второй подпрограме.Извиниет за ошибки.Не владею руским.Помогите...

"Значение типа float* нельзя использовать для инициализации сущности типа float" - C++
#include &lt;math.h&gt; #include&lt;iostream&gt; #include &lt;iomanip&gt; #include&lt;conio.h&gt; using namespace std; ...

Ошибка преобразования: значение типа "float *" нельзя присвоить сущности типа "float" - C++
Помогите исправить.Значение типа &quot;float *&quot; нельзя присвоить сущности типа float void Mode2() { const int n=20,m=20 ; float a, b;...


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

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

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