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

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

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

Не работает структура - C++

01.12.2011, 22:18. Просмотров 400. Ответов 6
Метки нет (Все метки)

Здравствуйте.Я не сильно разбираюсь в С++,написал программу,вроде все правильно,но почему то не работает,преподаватель тоже смотрел,говорит что написано все правильно а почему не работает не может понять.(Пишу в Visual 2010)
Вот задание и то что я написал.
В магазине продаются несколько видов цветов.Вывести количество роз,проданных на этой неделе.
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
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
const int n=2;
struct Flowers
        {
                char name[10];
                int week;
                int kol;
        };
void InPut (Flowers a[n]);
void OutPut (Flowers a[n]);
void main ()
{
        setlocale (LC_ALL, "Russian_Russia.1251");
        Flowers a[n];
        InPut (a);
        OutPut (a);
}
void InPut (Flowers a[n])
{
        for (int i=1;i<=n;i++)
        {
                cout<<"Название цветка:";
                gets(a[i].name);
                cout<<endl;
                cout<<"Сколько продано вообще:";
                cin>>a[i].kol;
        cout<<endl;
                cout<<"Продано на этой неделе:";
                cin>>a[i].week;
                cout<<endl;
        }
}
void OutPut (Flowers a[n])
{
        char t[5]="roza";
        for (int i=0;i<n;i++)
        {
                if (strcmp (a[i].name,t))
                cout<<a[i].week<<" "<<endl;
        }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2011, 22:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает структура (C++):

Не работает программа (структура и стек) - C++
Вот код: #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;stack&gt; using namespace std; struct sport {

Структура в стеке. Не работает ф-ия renumber - C++
Моя задача Создать стек для сохранения строк файла. ** С помощью стандартного ввода / вывода (stdio.h) считать текстовый файл по...

некорректно работает динамическая структура данных с++ - C++
Взял пример с книги, которая одобренная министерством образования. А код работает не совсем правильно. Не могу найти ошибку, подскажите в...

Есть структура, работает, но странно сравнивает( - C++
Написал программу, но когда она сравнивает номер маршрута с номером введенным с клавиатуры, она всегда пишет Error! , когда сравниваю по...

Не работает метод сортировки односвязного списка, оформленного классом(узел - структура) - C++
Повторно прошу помощи, так как уже курсовая горит, а идей для решения задачи нету. Помогите, пожалуйста. Надо переделать(написать)...

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость. - C++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...

6
Сыроежка
Заблокирован
01.12.2011, 22:23 #2
kirill0000,

Вы не сообщили, что у вас должно выводиться и какие данные вы вводите в свою программу. Но мне представляется, что ошибка может быть в предложении

C++
1
                if (strcmp (a[i].name,t))
Скорей всего вместо этого следует написать

C++
1
                if (strcmp (a[i].name,t) == 0 )
0
kirill0000
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 22
01.12.2011, 22:33  [ТС] #3
Спасибо помогло.Теперь,если первым я введу roza,то выведет количество проданных роз,но после ввода первого цветка стало перескакивать сразу на количество проданных цветов,т.е. вводится только первое название и все,вне зависимости от того сколько цветов нужно будет вводить.
0
Сыроежка
Заблокирован
01.12.2011, 22:36 #4
kirill0000,
Что-то не увидел я спасибо.
Что касается второго вашего вопроса, то вам следует исправить предложение цикла, где индексация должна начинаться с 0, а не с 1

C++
1
2
       for (int i=1;i<=n;i++)
        {
1
kirill0000
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 22
01.12.2011, 22:54  [ТС] #5
Нет не помогло( все равно перескакивает сразу на количество проданных цветов,название вводится только для первого.
0
Сыроежка
Заблокирован
01.12.2011, 23:04 #6
kirill0000,
Если я не ошибаюсь, метод gets читает строку до символа новой строки (клавиша Enter). Поэтому этот символ остается в буфере ввода и считается следующей операцией ввода. Вам надо его удалить из воода, например, с помощью get после gets.
1
kirill0000
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 22
02.12.2011, 01:21  [ТС] #7
Большое спасибо теперь работает) правда в конце эррор но на это пофиг)
0
02.12.2011, 01:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2011, 01:21
Привет! Вот еще темы с ответами:

Структура «База», сущности «Универсам» и «Продукты», структура «Товар» - C++
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

Структура "Штраф". Функция поиска криво работает - C++
Не работает функция poisk(); Переписать в новый файл информацию о штрафах, размер которого и дата вводятся с клавиатуры. ...

Структура "Владелец автомобиля". Почему не работает? - C++
25. Дан файл, содержащий сведения о владельцах автомобилей. Структура записи файла: фамилия и инициалы владельца, марка и номер автомобиля....

Структура DateTime, битовая структура - C++
Условие: Структура содержит информацию о дате и времени некоторого события: struct datetime { unsigned short Year; // год ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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