Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
3 / 3 / 2
Регистрация: 30.11.2014
Сообщений: 23

Сравнение полей структур

15.11.2015, 20:29. Показов 643. Ответов 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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <cstring.h>
void main()
{
struct parallelogramm
{
int s1,s2,s3,s4;  //storona
int u1,u2,u3,u4;  //ugol
float p,s;
string tip;
char name[4];
}mnoj[20];
int n,i;
cout<<"skoliko parallelogrammov trebuetsa proanalizirovati? ";
cin>>n;
for (i=0;i<n;i++)
{
cout<<"vvedite oboznacheniye: ";
gets(mnoj[i].name);
cout<<"vvedite razmer storoni "<<(char)toupper(mnoj[i].name[0])<<(char)toupper(mnoj[i].name[1])<<": ";
cin>>mnoj[i].s1;
cout<<"vvedite razmer storoni "<<(char)toupper(mnoj[i].name[1])<<(char)toupper(mnoj[i].name[2])<<": ";
cin>>mnoj[i].s2;
cout<<"vvedite razmer storoni "<<(char)toupper(mnoj[i].name[2])<<(char)toupper(mnoj[i].name[3])<<": ";
cin>>mnoj[i].s3;
cout<<"vvedite razmer storoni "<<(char)toupper(mnoj[i].name[3])<<(char)toupper(mnoj[i].name[0])<<": ";
cin>>mnoj[i].s4;
cout<<"vvedite ugol: ";
cin>>mnoj[i].u1;
mnoj[i].u2=180-mnoj[i].u1;
mnoj[i].u3=mnoj[i].u1;
mnoj[i].u4=mnoj[i].u4;
}
for (i=0;i<n;i++)
if ((mnoj[i].u1!=mnoj[i]u2)&&mnoj[i]s1!=mnoj[i]s3) mnoj[i].tip="proizvolniy";
getch();
}

Кратко суть- вводим информацию о параллелограммах: их обозначение, длины сторон, угол.
Программа выдает площадь, периметр, и тип параллелограмма(произвольный, ромб, квадрат, прямоугольник).
Вопрос: при выполнении сравнения углов mnoj[i].u1!=mnoj[i]u2 возникает ошибка (38,18)Illegal structure operation, чуть правее есть (38,27)")" expected и (38,74)If statement missing ).
Что я делаю не так при сравнении полей структур?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.11.2015, 20:29
Ответы с готовыми решениями:

Сравнение полей структур
Задача имела формулировку: &quot;Сведения о выдаче экземпляра журнала состоят из названия журнала, номера журнала, фамилии читателя. Написать...

Сравнение полей структур
Привет! Стоит задача: реализовать проверку всех записей на уникальность (не должно быть повторяющихся записей с совпадающими значениями...

Заполнение полей массива структур
Не могу понять как заполнить поле структуры Это хэдэр struct ArrayData; ArrayData Data; Это один из спп файлов struct...

2
Почетный модератор
12274 / 5340 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
15.11.2015, 20:58
Pukanium, ходят слухи, что Вы нашли ошибку в коде. С нами поделитесь? Вдруг кому-то поможет в аналогичном случае?
0
3 / 3 / 2
Регистрация: 30.11.2014
Сообщений: 23
15.11.2015, 21:04  [ТС]
Цитата Сообщение от Taatshi Посмотреть сообщение
С нами поделитесь?
Непременно
вот рабочий код, извините за громоздкость
Кликните здесь для просмотра всего текста
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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <cstring.h>
#include <math.h>
void main()
{
struct parallelogramm
{
int s1,s2,s3,s4;  //storona
int u1,u2,u3,u4;  //ugol
float p,s,h,rad;
string tip;
char name[4];
}mnoj[20];
int n,i;
cout<<"skoliko parallelogrammov trebuetsa proanalizirovati? ";
cin>>n;
for (i=0;i<n;i++)
{
cout<<"vvedite oboznacheniye: ";
gets(mnoj[i].name);
cout<<"vvedite razmer storoni "<<(char)toupper(mnoj[i].name[0])<<(char)toupper(mnoj[i].name[1])<<": ";
cin>>mnoj[i].s1;
cout<<"vvedite razmer storoni "<<(char)toupper(mnoj[i].name[1])<<(char)toupper(mnoj[i].name[2])<<": ";
cin>>mnoj[i].s2;
cout<<"vvedite razmer storoni "<<(char)toupper(mnoj[i].name[2])<<(char)toupper(mnoj[i].name[3])<<": ";
cin>>mnoj[i].s3;
cout<<"vvedite razmer storoni "<<(char)toupper(mnoj[i].name[3])<<(char)toupper(mnoj[i].name[0])<<": ";
cin>>mnoj[i].s4;
cout<<"vvedite ugol: ";
cin>>mnoj[i].u1;
mnoj[i].u2=180-mnoj[i].u1;
mnoj[i].u3=mnoj[i].u1;
mnoj[i].u4=mnoj[i].u4;
}
for (i=0;i<n;i++)                               //opredeleniye parallelogramma i ego ploshadi
if (mnoj[i].u1!=mnoj[i].u2&&mnoj[i].s1!=mnoj[i].s3)
{
mnoj[i].tip="proizvolniy";
mnoj[i].rad=mnoj[i].u1*0.0174533;
mnoj[i].h=(mnoj[i].s1*sin(mnoj[i].rad)/0.0174533);
mnoj[i].s=mnoj[i].s1*mnoj[i].h;
}
if (mnoj[i].u1!=mnoj[i].u2&&mnoj[i].s1==mnoj[i].s3)
{
mnoj[i].tip="romb";
mnoj[i].rad=mnoj[i].u1*0.0174533;
mnoj[i].h=(mnoj[i].s1*sin(mnoj[i].rad)/0.0174533);
mnoj[i].s=mnoj[i].s1*mnoj[i].h;
}
if (mnoj[i].u1==mnoj[i].u2&&mnoj[i].s1!=mnoj[i].s2)
{
mnoj[i].tip="pryamougolnik";
mnoj[i].s=mnoj[i].s1*mnoj[i].s2;
}
if (mnoj[i].u1==mnoj[i].u2&&mnoj[i].s1==mnoj[i].s2)
{
mnoj[i].tip="kvadrat";
mnoj[i].s=mnoj[i].s1*mnoj[i].s1;
}
mnoj[i].p=mnoj[i].s1+mnoj[i].s2+mnoj[i].s3+mnoj[i].s4; //vichisleniye perimetra
for (i=0;i<n;i++)
cout<<"parallelogramm "<<(i+1)<<" iavlyaetsa "<<mnoj[i].tip<<", ego ploshad "<<mnoj[i].s<<" i perimetr "<<mnoj[i].p;
getch();
}

программа не учитывает правильности введенных данных (например, не обязательно писать угол в 90, чтобы это был квадрат)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2015, 21:04
Помогаю со студенческими работами здесь

Вывод полей структур в консоль
Допустим есть структура struct What { int a; char b; float c; }d; Вопрос можно ли вывести в консоль, данные из структуры...

Сортировка массива структур по одному из полей
Есть структура: struct Book { char name; char author; char publisher; int pages; } И массив структур: const int size =...

Инициализация структур, с большим количеством полей
Здравствуйте, такой вопрос: кто как инициализирует структуры? И как вам такая функция для инициализации: template &lt; typename T...

Сортировка массива структур по возрастанию одного из полей
Всем привет, Есть структура struct Taksopark//создание структуры { char vid_avto; int vmestimost; float rashod_topliva; ...

Программирование с использованием перечислений, структур, объединений и полей бит
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем –обработка списка. Сначала в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru