Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: C++ Структуры  (Прочитано 8726 раз)
0 Пользователей и 1 Гость смотрят эту тему.
library
Новенький

ru
Offline Offline

« : 07-03-2011 18:41 » 

Люди, извините, что обращаюсь, но возникла проблема, и не могу её решить. В Интернете искал решение и не нашел. Скромно так...
От преподАВАТЕЛЯ получил задание разработать структуру, в которой описан анализ мочи. ( тема так себе, но другим не повезло еще больше).
Она должна содержать 3 числовых значения, 3 текстовых и 1 логическое. Проблемы возникли с логикой и цифрами.
В цифрах при записи переменной в структуру говорило, что указатель слева должен иметь тип класса. Решил это заменой типа переменной с int на char. Но это не вариант. Зная преподаВАТЕЛЯ, можно сразу сказать, что он это решение не примет.
С логикой сложнее. При построениИ ошибки не выдает, но при вводе значений в программе (ввожу true) выдает 204. Здесь была моя ладья...

Код: (C)
#include <iostream>
#include <conio.h>
using namespace std;
//определяем структуру
struct Analiz
{
char Fam[20];
char Sex[6];
char Age[2];
char cvet[30];//цвет мочи текст
char glucoza[30];//глюкоза текст
bool T;//слизь бул
char belok[30];//белок текст
char prozrachnost[30];//степень прозрачности
char lei[4];//лейкоцит
char tromb[4];
char eri[4];
char ket[4];
};
struct Time{ char date[2]; char mounth[2];char year[4];};//структура даты
int main()
{
setlocale(LC_ALL, "rus");
Time Date;
Analiz stud; // создаем массив строк

cout<< "Введите фамилию: \n";
cout<<"\n";
cin>>stud.Fam;
cout<< "Введите пол: \n";
cin>>stud.Sex;
cout<< "Введите возраст: \n";
cin>>stud.Age;
cout<< "Дата: \n";
cin>>Date.date>>Date.mounth>>Date.year;
cout<< "Анализ: \n";
cout<< "Цdет мочи: \n";cin>>stud.cvet;
cout<< "Есть ли глюкоза?(Да,Нет): \n";cin>>stud.glucoza;
cout<< "Есть ли белок?(Да, Нет): \n";cin>>stud.belok;
cout<< "Степень прозрачности?: \n";cin>>stud.prozrachnost;
cout<< "Наличие слизи?(true. false): \n";cin>>stud.T;
cout<< "Количество: \n";
cout<< "Лейкоцитов: \n";cin>>stud.lei;
cout<< "Тромбоцитов: \n";cin>>stud.tromb;
cout<< "Эритроцитов: \n";cin>>stud.eri;
cout<< "кетовых тел: \n";cin>>stud.ket;

cout<<"\n" ;
cout<< "Вывод структуры: \n";
cout<<"________________________\n";

// вывод

cout<< "Фамилию: \n";
cout<<"\n";
cout<<stud.Fam<<endl;
cout<< "Пол: \n";
cout<<stud.Sex<<endl;
cout<< "Возраст: \n";
cout<<stud.Age<<endl;
cout<< "Дата: \n";
cout<<Date.date<<":"<<Date.mounth<<":"<<Date.year<<endl;
cout<< "Анализ: \n";
cout<< "Цыет мочи: \n";cout<<stud.cvet<<endl;
cout<< "Есть ли глюкоза?(Да,Нет): \n";cout<<stud.glucoza<<endl;
cout<< "Есть ли белок?(Да, Нет): \n";cout<<stud.belok<<endl;
cout<< "Степень прозрачности?: \n";cout<<stud.prozrachnost<<endl;
cout<< "Наличие слизи?(true. false): \n";cout<<stud.T<<endl;
cout<< "Количество: \n";
cout<< "Лейкоцитов: \n";cout<<stud.lei<<endl;
cout<< "Тромбоцитов: \n";cout<<stud.tromb<<endl;
cout<< "Эритроцитов: \n";cout<<stud.eri<<endl;
cout<< "кетовых тел: \n";cout<<stud.ket<<endl;

cout<<"_________________________\n";

_getch();
return 0;
}

ПС: и не подскажЕте еще, как сделать так, чтобы при выполнениИ в консоли принимались русские буквы?
« Последнее редактирование: 08-03-2011 08:02 от Джон » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 07-03-2011 19:02 » 

library, а откуда вообще возникла идея хранить числовые значения в виде строчек, состоящих из цифр? Есть же числовые типы данных...
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
library
Новенький

ru
Offline Offline

« Ответ #2 : 08-03-2011 09:43 » 

При использование числовых типов данных (int, double и тд) выдает что значение слева от точки должно иметь тип класса...
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 08-03-2011 12:47 » 

library, кто выдаёт и где выдаёт? Или ты будешь писать содержательно, или тебе не помогут.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #4 : 09-03-2011 07:20 » 

Было бы круто, если бы описал ОС, компилятор и т.д. и т.п. рескну предположить, что это MS Win + Borland C++

Она должна содержать 3 числовых значения, 3 текстовых и 1 логическое. Проблемы возникли с логикой и цифрами.
Чудесно, кстати почему переменные Sex и Age с большой буквы, а остальное с маленькой, комплексы? Улыбаюсь

В цифрах при записи переменной в структуру говорило, что указатель слева должен иметь тип класса. Решил это заменой типа переменной с int на char. Но это не вариант.
Пример кода, текст ошибки?

С логикой сложнее. При построениИ ошибки не выдает, но при вводе значений в программе (ввожу true) выдает 204. Здесь была моя ладья...
Пример кода (ввод/вывод), где ты увидел 204, в консоли, в отладчике, в астрале, в эфире?

ПС: и не подскажЕте еще, как сделать так, чтобы при выполнениИ в консоли принимались русские буквы?
https://forum.shelek.ru/index.php/topic,5245.msg242300.html#msg242300
https://forum.shelek.ru/index.php/topic,16287.0.html
https://forum.shelek.ru/index.php/topic,9347.0.html
Записан

Странно всё это....
library
Новенький

ru
Offline Offline

« Ответ #5 : 11-03-2011 00:54 » 

ОС: Windows Seven
Microsoft Visual Studio
Цитата
Чудесно, кстати почему переменные Sex и Age с большой буквы, а остальное с маленькой, комплексы?
Ага
Цитата
Пример кода, текст ошибки?

нашел ошибку...просто задачу переменной не так написал


Цитата
Пример кода (ввод/вывод), где ты увидел 204, в консоли, в отладчике, в астрале, в эфире?
выдает в консоли...возможно форма вывода не та...честно не знаю почему так...вроде все по учебнику делал
ПС: Спс за ссылки
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #6 : 11-03-2011 04:04 » 

Код:
cout<< "Наличие слизи?(true. false): \n";cout<<stud.T<<endl;
эта строчка выдаёт 204?

Код:
cout<< "Наличие слизи?(true. false): \n";cin>>stud.T;
ты уверен, что эта строка превращает "true" и "false" в bool true и bool false
я сильно сомневаюсь

сделай тестовую програмку из пары строчек:
1. прочитать из консоли
2. вывести на консоль
и посмотри как ведёт себя переменная bool и вывод на консоль в зависимости от вводимых значений
Записан

Странно всё это....
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 11-03-2011 06:53 » 

Цитата: Антон (LogRus)
сделай тестовую програмку из пары строчек:
1. прочитать из консоли
2. вывести на консоль
и посмотри как ведёт себя переменная bool и вывод на консоль в зависимости от вводимых значений
Аналогично с числами int, double (может float).
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #8 : 11-03-2011 07:02 » new

с числами прокатит, а вот с bool сильно сомневаюсь
Записан

Странно всё это....
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines