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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу кот. удаляет повторы из array http://www.cyberforum.ru/cpp-beginners/thread686328.html
Нужно написать программу кот. удаляет повторы из array. Например: Only three more lessons to go after this one! Должно быть: Only thremoresgafi! Задача звучит так: Написать функцию -...
C++ Для масива 7 на 7 найти строки з максимальным и минимальным елементом и поменять их местами Для масива 7 на 7 найти строки з максимальным и минимальным елементом и поменять их местами Вот начало, создал масив, а вот как найти строки и поменять их местами я уже не знаю #include... http://www.cyberforum.ru/cpp-beginners/thread686327.html
C++ Поменять местами столбцы в массиве
В массиве a поменять местами 1 и 3 столбец. Исходный и получившийся массив вывести в виде матрицы. Заранее спасибо.
Написать программу вывода площадей колец C++
с++ builder Нужно написать программу вывода площадей колец.Программа должна проверять правильность исходных данных т.е радиус кольца должен быть больше радиуса отверстия ,если условие нарушается то...
C++ Оператор выбора: по введенному числу вывести возраст человека в годах http://www.cyberforum.ru/cpp-beginners/thread686311.html
С++ Builder Тема:оператор выбора Цель Научится составлять программы разветвляющейся структуры Напишите программу,которая вводит с клавиатуры натуральное число n (n<=100) и выводит возраст...
C++ Си++ Ребята помогите пожалуйста. # include <iostream.h> # include <stdio.h> void main() { int a; cout <<"Program\n" <<"1. Kuhna\n" <<"2. Games\n" подробнее

Показать сообщение отдельно
xexe73
1 / 1 / 0
Регистрация: 27.09.2012
Сообщений: 22

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

02.11.2012, 00:04. Просмотров 364. Ответов 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 минут
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.