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

Написать программу, описывающую структуру, содержащую указанные поля и выполняющую над ней указанные действия - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерные массивы. Определить среднее количество учеников классах в каждой параллели http://www.cyberforum.ru/cpp-beginners/thread1070306.html
Помогите решить задачу: В двумерном массиве хранится информация о количестве учеников в том или ином классе каждой параллели школы с первой по одиннадцатую (в первой строке - информация о количестве учеников в первых классах, во второй - о вторых и т.д.). В каждой параллели имеются 4 класса. Определить среднее количество учеников классах в каждой параллели.
C++ Написать программу, в которой каждый элемент одномерного массива сдвигается на 1 вправо Нужно написать программу, в которой каждый элемент одномерного массива сдвигается на 1 вправо. http://www.cyberforum.ru/cpp-beginners/thread1070301.html
C++ Расчет суммы или количества элементов массива, удовлетворяющих некоторому условию
Дан массив целых чисел. Найти: а) сумму нечетных элементов; б) сумму элементов, кратных заданному числу; в) сумму элементов массива, кратных а или b.
C++ Определение максимального и минимального значений во время ввода данных
Даны натуральное число n и целые числа a1, a2,...,an. Найти номер максимального и номер минимального из чисел аi. Если чисел с максимальным или с минимальным значением несколько, то должны быть найдены номера последних из них. В заранее спасибо:)
C++ составить программу для вычисления конечных сумм а и добутков в http://www.cyberforum.ru/cpp-beginners/thread1070282.html
составить программу для вычисления конечных сумм а и добутков в. выбрав функцию F(x)=2,574x. выбрав данные z=12a-b2. в результатах применить форматный вывод. извините если я пишу с ошибками я просто с Украины и не до конца умею правильно писать по-русски
C++ int glob уже определен в main.obj Почему #ifndef не помогает? 1.h: #ifndef ONE_H #define ONE_H int glob; #endif подробнее

Показать сообщение отдельно
Gaila
0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 8
13.01.2014, 16:45     Написать программу, описывающую структуру, содержащую указанные поля и выполняющую над ней указанные действия
Требуется помощь
1. Описать структуру с именем PRICE, содержащую следующие поля:
- GOODS – название товара;
- SHOP – название магазина, в котором продается товар;
- COST – стоимость товара в руб.
2. Создать программу, выполняющую:
- ввод из файла данных в массив LIST, состоящий из n структур типа PRICE;
- упорядочение массива LIST, записи разместить в алфавитном порядке по названиям магазинов (полю SHOP);
- вывод на экран упорядоченного массива;
- вывод на экран информации о товарах, продающихся в магазине, название которого введено с клавиатуры; если такого нет, вывести соответствующее сообщение.

Собственно вот код,однако проблема в том,что программа не корректно выполняет последнюю подзадачу (при любых условиях вывод сообщение о том,что товар отсутствует)
Кому не трудно помогите

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
#include <stdio.h>
#include "conio.h"
#include <string.h>
#include "locale.h"
#include <tchar.h>
#include <stdlib.h>
#include <fstream>
#include <iostream>
#include <cstring>
#include <windows.h>
using namespace std;
 
 
struct PRICE {
   
    char    tovar[64];
    char    magazin[64];
    double stoimost;
};
 
 
int main() 
{ setlocale(LC_ALL, "russian");
  
 int n, i;
  double s = 0;
 
 cout << "Введите размер массива структур\n";
  cin >> n; // Число элементов в массиве структур
 
  // Выделение динамической памяти для массива 
  // структур
  PRICE * price = new PRICE[n];
 
  // Открытие файла для ввода
  ifstream instr("inform.txt");
 
  if (!instr){//Проверка корректного открытия файла
     cout << "Файл не может быть открыт\n";
     return 1;  // Выход из программы
  }
 
  // Заполнение массива считыванием из файла
  for (i = 0; i < n; ++i) {
      instr >> price[i].tovar >>  price[i].magazin >>price[i].stoimost ;
     cout <<  price[i].tovar <<" " // Вывод на экран
         <<  price[i].magazin << "\n"
         <<  price[i].stoimost << "\n";
  }
  // Закрытие файла
  instr.close();
 
 
    
    PRICE tmp;
 // сортировка по алфавиту
    for(int t = 0; t < n; t++)
        for(int i = 0; i < n; i++)
            if( price[i].tovar[0] > price[t].tovar[0] )
            {
                tmp = price[i];
                price[i] = price[t];
                price[t] = tmp;
            }
    cout << endl;
 
 
    cout << "\nИмеющиеся в наличии товары: " << endl;
     for(int i = 0; i < n; i++)
    {
                cout << "Название:  " << price[i].tovar << endl;
                cout << "Магазин:   " << price[i].magazin << endl;
                cout << "Стоимость: " << price[i].stoimost << endl;
                
            }
    
 
    char str[20];
 printf("Магазин: \n");
 scanf("%s",str);
 int b=0;
 for ( i=0; i<n; i++){
  if (strcmp(price[i].magazin,str)==0){
   printf("Товар:%s, Стоимость:%d \n",price[i].tovar,price[i].stoimost);
   b=1;
  }
 }
 if(!b){
  printf("Отсутствует!\n");
 }
 return 0;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru