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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2009, 14:09   #1
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию Помогите найти ошибку (С++).

Когда вводим название товара, который необходимо найти в массиве и если он там есть, то при выводе информации о товаре, почему то не корректно отображается его цена (product[i].itsPrice).
Если цена товара была 456.9, то в результате поиска цена становиться такой 0.000000
Подскажите пожалуйста что я сделал не так.
Код:
#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;
}
TheWanderer вне форума Ответить с цитированием
Старый 19.03.2009, 15:00   #2
Nomlpppp
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 51
По умолчанию

При выводе
Код:
	printf("  The shop name: %s\n",&product[i].itsNameShop);
	printf("  Goods cost:    %f\n",&product[i].itsPrice);
надо убрать символ &(опрация взятия адреса в printf не нужна в данном случае).
Nomlpppp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку! Picaso18 Паскаль, Turbo Pascal, PascalABC.NET 3 24.01.2009 15:32
Помогите найти ошибку Dmitriy Общие вопросы Delphi 4 01.08.2008 23:32
Помогите найти ошибку NeiL Общие вопросы Delphi 7 04.03.2008 07:14
help!!! Помогите найти ошибку!!! linker13 Общие вопросы Delphi 2 07.07.2007 23:15