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

Структуры. Ввод значения поля - C++

Восстановить пароль Регистрация
 
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
04.10.2012, 14:20     Структуры. Ввод значения поля #1
Проблема: при заполнении полей пишет переменная не инициализирована. Т.е. если я в коде инициализирую, то считает. А когда делаешь запрос на ввод вылетает. Подскажите пожалуйста. Вот код:
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
struct vector
{
    double x;
    double y;
    double z;
};
vector enter_coord(vector b)//ввод координат вектора
{
    //vector a;
    double x,y,z;
    cout<<"enter the coordinates of X"<<endl;
    cin>>x;
    b.x=x;  
    cout<<b.x<<endl;
    cout<<"enter the coordinates of Y"<<endl;
    cin>>y;
    b.y=y;  
    cout<<"enter the coordinates of Z"<<endl;
    cin>>z;
    b.z=z;
    return b;
}
double Length  (vector a)//длина вектора
{
    double length;
    length=sqrt(a.x*a.x+a.y*a.y+a.z*a.z);
    cout<<"Length of a vector= "<<length<<endl;
    return length;
}
double Scalar (vector a,vector b)//скалярное произведение
{
    double rez=(a.x*b.x+a.y*b.y+a.z*b.z);
    cout<<"scalar product= "<<rez<<endl;
    return rez;
}
vector delta(vector a,vector b)//разность векторов
{
    vector rez;
    rez.x=(a.x-b.x);
    rez.y=(a.y-b.y);
    rez.z=(a.z-b.z);
    cout<<"a-b= "<<rez.x<<"; "<<rez.y<<"; "<<rez.z<<"; "<<endl;
    return rez;
};
bool collinear(vector a,vector b)//проверка на коллинеарность 
{
    bool power;
    double x,y,z;
    x=(a.x/b.x);
    y=(a.y/b.y);
    z=(a.z/b.z);
    if (x==y,y==z)
        power=true;
    else
        power=false;
    return power;   
}
int _tmain()
{
    vector a,b;
    //a.x=2; a.y=3;a.z=5;
    //b.x=2; b.y=13;b.z=11;
 
    cout<<"enter the coordinates of a vector a"<<endl;
    enter_coord(a);
    cout<<"enter the coordinates of a vector b"<<endl;
    enter_coord(b);
    Length(a);
    Scalar(a,b);
    delta(a,b);
    if (collinear(a,b)==true)
        cout<<"collinear vectors"<<endl;
    else
        cout<<"vectors are not collinear"<<endl;
    system("pause");
    return 0;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2012, 14:20     Структуры. Ввод значения поля
Посмотрите здесь:

Закрытые поля структуры. C++
Структуры(ввод...) C++
C++ Напишите программу, которая выдает запрос на ввод значения часов и значения минут.
C++ Структуры и ввод данных
C++ Преобразование значения переменной (long) через функцию в значения структуры
C++ Передача значения из поля структуры в функцию
C++ Поля структуры в памяти
C++ Ввод в начало структуры

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
04.10.2012, 14:30     Структуры. Ввод значения поля #2
Цитата Сообщение от Ded_Vasilij Посмотреть сообщение
vector enter_coord(vector b)
надо исправить на
vector enter_coord(vector& b)
т.е. передавать в функцию не копию вектора, а тот же вектор по ссылке
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
04.10.2012, 14:35  [ТС]     Структуры. Ввод значения поля #3
Точно. Благодарю. Нам сегодня об этом на лекции рассказывали. А код я пару дней назад написал
Yandex
Объявления
04.10.2012, 14:35     Структуры. Ввод значения поля
Ответ Создать тему
Опции темы

Текущее время: 06:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru