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

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

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

Программа с объединением, место целочисленного или вещественного числа,выдает постоянно одну и ту же цифру - C++

02.11.2012, 00:04. Просмотров 347. Ответов 2
Метки нет (Все метки)

Программа с объединением, место целочисленного или вещественного числа,выдает постоянно одну и ту же цифру.. И ещё, помогите пожалуйста её доработать,надо удалять учреждение с указанным весом из массива структур. Пробовал.не получается.
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
#include "stdafx.h"
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <clocale>
#include <conio.h> 
#include <Windows.h>
 
 
 
struct Product {
    char name[20];
    int stoimost;
    int weight;
    char shop[20];
    double gb[3];
    union
    {
        int int_weight; 
        double double_weight;
    };
    int type;
};
 
 
int _tmain(int argc, _TCHAR* argv[])
 
{
setlocale(LC_ALL, "Russian");
SetConsoleCP(1251);//кодировка консоли библиотека Windows.h
    SetConsoleOutputCP(1251);//кодировка консоли для вывода
const int a=2; //число структур
struct Product pr[a];//массив структур
for (int i=0; i<a; i++)//заполнение
{
cout<<endl<<"Введите наименование "<<i+1<<"-ого продукта:"<<endl;
cin>>pr[i].name;
cout<<endl<<"Введите стоимость "<<i+1<<"-ого проукта:"<<"\n";
cin>>pr[i].stoimost;
cout<<endl<<"Введите тип веса - 1(целое), 2(вещественное): ";
        cin>>pr[i].type;
        cout<<"вес: ";
        if(pr[i].type == 1)
            cin>>pr[i].int_weight;
        else if(pr[i].type == 2)
            cin>>pr[i].double_weight;
        else
            return 1;
 
cout<<endl<<"Введите название магазина "<<i+1<<"-ого продукта:\n ";
cin>>pr[i].shop;
cout<<endl<<"Введите габариты"<<i+1<<"-ого продукта:\n ";
cout<< "Длина:";
cin>>pr[i].gb[0];
cout<< "Ширина:";
cin>>pr[i].gb[1];
cout<< "Высота:";
cin>>pr[i].gb[2];
 
//сортировка
    /*for (int i=0; i<a-1; i++){
        for (int j=0; j<a-1-i; j++){
            if(pr[j + 1].type == 1){
                if(pr[j].type == 1){
                    if(pr[j + 1].int_weight < pr[j].int_weight) swap(pr[j], pr[j+1]);
                }
                else
                    if(pr[j + 1].int_weight < pr[j].double_weight) swap(pr[j], pr[j+1]);
            }
            else {
                if(pr[j].type == 2){
                    if(pr[j + 1].double_weight < pr[j].double_weight) swap(pr[j], pr[j+1]);
                }
                else
                    if(pr[j + 1].double_weight < pr[j].int_weight) swap(pr[j], pr[j+1]);
            }
        }
 
    }*/
    {
 
cout<<endl<<"|Название|Cтоимость|Магазин|Вес|Габариты|";
 
    cout<<endl<<pr[i].name << " " <<pr[i].stoimost << " "<<pr[i].shop << " " <<pr[i].weight << " "<<pr[i].gb[0]<<'x'<<pr[i].gb[1]<<'x'<<pr[i].gb[2]<<endl;
}
    
 
 
/*int k=0;
    char weight;
    cout<<endl<<"Введите вес:";
    cin>>weight; //тут хранится искомый знак
    for (int i=0; i<a; i++){
        if ((pr[i].weight, weight) == 0)
 
 
        
{
cout<<endl<<pr[i].name << " " <<pr[i].stoimost << " "<<pr[i].shop << " " <<pr[i].weight << " "<<pr[i].gb[0]<<'x'<<pr[i].gb[1]<<'x'<<pr[i].gb[2]<<endl;
}
if (k==0) 
        cout<<endl<<"Нет такого"<<endl;*/
 
    _getch();
    }
}
Добавлено через 2 часа 0 минут
Помогите пожалуйста исправить ошибки,программа то почти сделана.

Добавлено через 2 часа 16 минут
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 00:04     Программа с объединением, место целочисленного или вещественного числа,выдает постоянно одну и ту же цифру
Посмотрите здесь:

Определить и вывести первую цифру из дробной части положительного вещественного числа - C++
Используя арифметические операции, определить и вывести первую цифру из дробной части положительного вещественного числа x...

Программа выдает одну и ту же ошибку - C++
Программа выдает одну и ту же ошибку Parameter argc/argv never used Как ее исправить? Программный код на С++ написанный в Borland...

Программа выдает одну ошибку, якобы в 48 строчке - C++
Завтра мне кирдык если не сделаю! Программа выдает одну ошибку, якобы в 48 строчке #include &lt;iostream.h&gt; #include &lt;math.h&gt; double...

Удалить все числа, которые начинаются и заканчиваются на одну и ту же цифру - C++
в одномерном массиве заменить все числа начинаются и заканчиваются на одну и ту же цифру Добавлено через 3 минуты сори ошибка в...

Масивы: удалить все числа которые начинаются и заканчиваются на одну и ту же цифру - C++
В одномерном массиве удалить все числа начинаются и заканчиваются на одну и ту же цифру

Используя одну операцию деления нацело, вывести первую цифру данного трехзначного числа - C++
Дано трехзначное число. Используя одну операцию деления нацело, вывести первую цифру данного числа (сотни). решите пожалуйста полностью...

Программа постоянно печатает степени целого числа 2 - C++
Напишите программу, которая постоянно печатает степени целого числа 2, соответственно 2, 4, 8, 16, 32, 64 и т.д. Число повторений...

Написать программу хранения целочисленного, либо вещественного типа данных в переменной - C++
Написать программу хранения целочисленного, либо вещественного типа данных в переменной. Выдаёт ошибку 'struct tag_var' has no member...

Выдает одну одну ошибку как испрвить - C++
Вот в такая ошибка: C:\Users\1\Lava 4.cpp(6) : error C2447: missing function header (old-style formal list?) #include &lt;conio.h&gt; ...

Выведите все двухзначные числа, которые делятся на N, или содержат цифру N - C++
Выведите все двухзначные числа ,которые делятся на N или содержат цифру N,где N-цифра введенная пользователем .помогите пожалуйста )

Найти все двузначные числа, которые делятся на n или содержат цифру n - C++
Найти все двузначные числа, которые делятся на n или содержат цифру n Добавлено через 20 минут #include &quot;stdafx.h&quot; #include...

Выведите все двузначные числа, которые делятся на N или содержат цифру N - C++
Выведите все двузначные числа, которые делятся на N или содержат цифру N, где N – цифра, введенная пользователем.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
02.11.2012, 00:31     Программа с объединением, место целочисленного или вещественного числа,выдает постоянно одну и ту же цифру #2
вы значение присваиваете double_weight или int_weight, а выводите совсем другое поле: weight.
выводите то, чему присваиваете, и будет вам счастье)
покажите код, который должен удалять элементы, вам помогут.
xexe73
1 / 1 / 0
Регистрация: 27.09.2012
Сообщений: 22
02.11.2012, 12:08  [ТС]     Программа с объединением, место целочисленного или вещественного числа,выдает постоянно одну и ту же цифру #3
Цитата Сообщение от ZoRT Посмотреть сообщение
вы значение присваиваете double_weight или int_weight, а выводите совсем другое поле: weight.
выводите то, чему присваиваете, и будет вам счастье)
покажите код, который должен удалять элементы, вам помогут.
Я как раз и не могу сделать код который удаляет элементы.
Yandex
Объявления
02.11.2012, 12:08     Программа с объединением, место целочисленного или вещественного числа,выдает постоянно одну и ту же цифру
Ответ Создать тему
Опции темы

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