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

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

Войти
Регистрация
Восстановить пароль
 
влад0
4 / 4 / 0
Регистрация: 22.05.2012
Сообщений: 122
#1

Не выводит в консоль результаты работы программы - C++

16.03.2014, 14:02. Просмотров 473. Ответов 4
Метки нет (Все метки)

Условие найти товар по стране используя структуры:
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iomanip>
 
 
using namespace std;
ifstream fin;
 
struct tovar
{
    char name_prod;
    char country_prod;
    int number_prod;
};
 
 
 
void menu(int); //Функция выбора операции из меню
void close(void); //функция завершение программы
void program_search_country();//Программа поиска товара по названию страны
void read(int&);//Функция ввода
tovar *read(int, tovar*);//Перегрузка функции ввода
tovar *seeking_tovar(char,int,tovar*,tovar*);//Функция поиска товара по стране
void output(tovar*, int);//Функция вывода
int size_mas_b(char, int, tovar*);//Размер массива B 
 
int main()
{
    setlocale(0,"");
    int num_of_program=0;//Переменная для выбора операции из меню
    cout<<"Что вы хотите сделать?\n\t1.Поиск товара производителя\n\t2.Вывод общего кличества товара\n\t0.Выход из программы\nВаш выбор: ";
    cin>>num_of_program;//Ввод значения переменной для выбора операции
    menu(num_of_program);//Вызов фунции меню
    close();
    return 0;
}
 
void menu(int num)
{
    system("cls");//Очистка экрана
    switch (num)
    {
    case 1:{program_search_country(); break;}
    case 2:{/*Общее количество товара*/break;}
    case 0:{close(); break;}
    default:
        {
            main();
            break;
        }
    }
}
 
void close(void)
{
    system("cls"); //Очистка экрана
    cout<<"Спасибо за использование программы!\n"; 
    system("pause"); //Задержка окна
}
 
 
void program_search_country()
{
    int count_a;//Переменная для количества товара
    char seeking_country;
    read(count_a);//Вызов функции считывания данных(колличсетва).
    tovar *A = new tovar[count_a]; //Весь товар
    read(count_a, A);
    cout<<"\n\tПОИСК ТОВАРА ПО СТРАНЕ ПРОИЗВОДИТЕЛЮ\n\nВведите название страны: ";
    cin>>seeking_country;//Ввод искомой страны
    int count_b=size_mas_b(seeking_country, count_a, A);
    tovar *B = new tovar[count_b]; //Искомый товар
    seeking_tovar(seeking_country, count_a, A, B); //Операция поиска товара
    output(B, count_b);
    system("pause");
;
} 
void read(int &c)//
{
    fin.open("input.txt");
    fin>>c;
    fin.close();
}
tovar *read(int c, tovar *a)
{
    fin.open("input.txt");
    for (int i=0; i<c; i++)
    {
        fin>>a[i].name_prod>>a[i].country_prod>>a[i].number_prod;
    }
    fin.close();
    return a;
}
 
 
 
tovar *seeking_tovar(char sc, int c, tovar *a, tovar *b) //название страны, количество товара
{
    for(int i=0; i<c;i++)
    {
        if (sc==a[i].country_prod)
        {
            b[i].name_prod=a[i].name_prod;
            b[i].country_prod=a[i].country_prod;
            b[i].number_prod=a[i].number_prod;
        }
        else 
            b=0;
    }
    return b;
}
int size_mas_b(char sc, int c, tovar *a)
{
    int size=0;
    for(int i=0; i<c;i++)
    {
        if (sc==a[i].country_prod)
        {
            size++;
        }
    }
    return size;
}
 
void output(tovar* b, int c)
{
    cout<<"Результаты поиска: \n";
    if (b==0)
        cout<<"\n\tНичего не найдено!";
    else
    {
        for(int i=0; i<c;i++)
        {
            cout<<"\t"<<i+1<<")."<<setw(15)<<b[i].name_prod<<" ["<<b[i].number_prod<<"] \n";
        }
    }
 
}
Содержимое input.txt:
Кликните здесь для просмотра всего текста
6
Banana Egypt 300
Orandge Australia 755
Potato Ukraine 3860
Beet Russia 1600
Carrot Russia 2576
Watermelon Ukraine 400


Собственно предпологалось что после "Результаты поиска:" будут сами результаты поиска... НУ или сообщение "Ничего не найдено" а оно вот так:
Не выводит в консоль результаты работы программы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2014, 14:02     Не выводит в консоль результаты работы программы
Посмотрите здесь:

Результаты выполнения программы не помещаются в консоль - C++
В кратце - начал изучать С++,пишу программу,но когда я её компилирую,а потом запускаю и ввожу данные - получаю результаты,у меня...

Криво выводит результаты программы в файл - C++
Приветствую=) Собственно говоря весь вопрос в заголовке. Дело в том что на экран выводит верную информацию а в файл какую-то ерунду....

Консоль не вмещает результаты - C++
Недавно начал изучать С++ и решил как то реализовать полученные знания, к тому же подвернулась объемная и рутинная задача для вычисления,...

Программа которая выводит два наибольших числа из десяти введенных. Пожалуйста объясните суть работы программы - C++
#include &lt;iostream&gt; using namespace std; int main() { int i; float number, largest, largest2;

Запускаеться только консоль результаты не показывает,что нужно исправить? - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; int main(void) { int t,i, num; /* çàãðóçêà ÷èñåë */ for(t=0; t&lt;5; ++t) for (i=0;...

Не выводит текст в консоль - C++
Программа, скомпиленная в Visual C++, не выводит текст. Эта же программа, скомпиленная в MinGW выводит. Почему? #include &lt;cstdio&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
влад0
4 / 4 / 0
Регистрация: 22.05.2012
Сообщений: 122
16.03.2014, 17:47  [ТС]     Не выводит в консоль результаты работы программы #2
Неужели никто не знает?
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
16.03.2014, 17:55     Не выводит в консоль результаты работы программы #3
Цитата Сообщение от влад0 Посмотреть сообщение
cin>>seeking_country;//Ввод искомой страны
вводит символ, на который указывает поток ввода.
Если перед этим вводилось число, то поток указывает на символ конца строки.
Он то и считывается. Соответственно и сравнение не выполняется.
влад0
4 / 4 / 0
Регистрация: 22.05.2012
Сообщений: 122
16.03.2014, 18:08  [ТС]     Не выводит в консоль результаты работы программы #4
Я не понял как решать сею проблему...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2014, 18:29     Не выводит в консоль результаты работы программы
Еще ссылки по теме:

Не выводит информацию в консоль - C++
Вот код : #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; float Bisection(int a, int b, float eps,...

Не выводит Hello World в консоль - C++
#include &lt;windows.h&gt; #include &lt;stdio.h&gt; using namespace std; DWORD CALLBACK WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ ...

запускается консоль и ничего не выводит - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; using namespace std; int func(int **mas, int i, int j, int n, int...

Code::Blocks не выводит текст в консоль - C++
когда запускаю любой программный код выдает ошибку

Функция не выводит результат на консоль (таблица истинности) - C++
Нужно построить таблицу истинности для формулы A _ (!B _ !C), где _ - это запрос на введение команды у пользователя (&amp;,+,&gt;,=). Отрицание B,...

Программа которая выводит крест на экран (консоль) - C++
Нужно написать программу с использованией for, язык C++


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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
16.03.2014, 18:29     Не выводит в консоль результаты работы программы #5
Цитата Сообщение от влад0 Посмотреть сообщение
Я не понял как решать сею проблему...
После ввода числа надо либо сбросить поток, либо зачитать этот символ
во временную char переменную.
Yandex
Объявления
16.03.2014, 18:29     Не выводит в консоль результаты работы программы
Ответ Создать тему
Опции темы

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