Разработать структуру с именем PRICE - C (СИ)
Формулировка задачи:
Помогите пожалуйста, у меня небольшая проблемка.
Есть задача по теме структуры, но из за частого числа разъездов по молодежным семинарам язык "Си" вылетел из моей головы.
За пару я успел сделать по задаче следующее:
на этом мои познания гугла закончились...и время пары тоже...так сложилось что на ноутбуке отсутствует Microsoft Visual Studio..(((
Задача:
Не по теме:
Разработать структуру с именем PRICE , содержащую поля: • Название товара ; • Название магазина , в котором продаётся товар; • Стоимость товара в рублях . Написать программу , выполняющую следующие действия : • Ввод с консоли данных в массив структур PRICE ; • Вывод на консоль информации о товаре , название которого введено с консоли . Если такого товара нет, вывести на консоль соответствующее сообщение .
#include <stdio.h>
#include <string.h>
#include <iostream>
typedef struct {
char NT[36]; //Название товара
char NM[36]; //Название магазина
float SELL; //цена товара
}PRICE;Решение задачи: «Разработать структуру с именем PRICE»
textual
Листинг программы
const int size = 5;
PRICE prices [size];
for(int i = 0; i < size; i++)
{
std::cout << "ITEM # " << i << std::endl;
std::cout << " NT: ";
std::cin >> prices[i].NT;
std::cout << " NM: ";
std::cin >> prices[i].NM;
std::cout << " SELL: ";
std::cin >> prices[i].SELL;
}
char name [36];
std::cout << "INPUT NAME TO FIND : ";
std::cin >> name;
bool ret = false;
for(int i = 0; i < size; i++)
{
if(!strcmp(prices[i].NM, name))
{
std::cout << "FOUND AT INDEX " << i << std::endl;
ret = true;
}
}
if(!ret)
{
std::cout << "ERROR: NOT FOUND!" << std::endl;
}
Объяснение кода листинга программы
- Объявляется константа size равная 5, и массив PRICE с пятью элементами.
- В цикле for от 0 до 4 вводится информация о каждом товаре:
- Выводится номер товара.
- Вводится цена товара NT.
- Вводится наименование товара NM.
- Вводится признак продажи товара SELL.
- Объявляется строка name для ввода имени товара.
- Вводится имя товара.
- Объявляется булевая переменная ret со значением false.
- В цикле for от 0 до 4 проверяется, совпадает ли имя товара с искомым именем:
- Если имена совпадают, выводится сообщение об успешном поиске, переменная ret устанавливается в true.
- Если товар не найден, выводится сообщение об ошибке.
- Если переменная ret остается равной false, значит товар не найден.