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

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

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

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

19.03.2009, 14:12. Просмотров 944. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2009, 14:12     Некорректное отображением float
Посмотрите здесь:

C++ Некорректное условие
C++ Некорректное отображение с функцией gets
Некорректное считывание из файла C++
C++ Некорректное отображение окна
некорректное считывание из файла C++
C++ Вывод выражения типа "float". Некорректное отображение
Visual Studio - баг с отображением C++
Некорректное обрезание строки C++
C++ Дилемма с отображением типа флоат
Некорректное выполнение программы C++
Некорректное считывание строки C++
C++ Некорректное шифрование

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

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

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