Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно написать??? 
:(
    Опции темы
danzer
Дата 7.9.2009, 16:59 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.9.2009

Репутация: нет
Всего: нет



Как правильно написать ?
дана часть кода:
Код C++
#include "stdafx.h"
 
 
main()
{stract znak{char fam
                char imy
                char znakz
                int d[3]}z1;
znak sp[8];
int x=0;
cout<<'введите данные';
for (int j=0, x<9, j++)
cin>>z1.fam>>z1.imy>>z1.znakz>>z1.d[3];
x=x+1;
end;
     return 0;
}


Задача:
1. Определить класс с именем ZNAK, содержащий следующие поля: 
- фамилия, имя; 
- знак Зодиака; 
- день рождения (массив Р13 трех чисел). 
2. Написать методы, выполняющие следующие действия: 
- ввод с клавиатуры данных в массив, состоящий из восьми объектов типа ZNAK; - вывод на экран информации о людях, родившихся под знаком, наименование которого введено с клавиатуры; если таких нет, выдать на дисплей соответствующее сообщение. 
PM MAIL   Вверх
zim22
Дата 7.9.2009, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(danzer @  7.9.2009,  16:59 Найти цитируемый пост)
Код C++

это не код С++. это жалкая пародия на него.
***
по теме: Центр Помощи здесь

Это сообщение отредактировал(а) zim22 - 7.9.2009, 17:10


--------------------
PM MAIL   Вверх
andrew_121
Дата 7.9.2009, 17:37 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



я насчитал 15 ошибок в 13 строках smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
danzer
Дата 7.9.2009, 17:57 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.9.2009

Репутация: нет
Всего: нет



#include &quot;stdafx.h&quot;
#include "stdafx.h"
#include <iostream>
using namespace std 
 
main()
{stract znak{char fam
                char imy
                char znakz
                int d[3]}z1;
znak sp[8];
int x=0;
cout<<'введите данные';
for (int j=0, x<9, j++)
cin>>z1.fam>>z1.imy>>z1.znakz>>z1.d[3];
x=x+1;
end;
     return 0;
}


чем ругаца, лучше бы помогли человеку. где находяца ошибки  и как исправить? 

Это сообщение отредактировал(а) danzer - 7.9.2009, 17:59
PM MAIL   Вверх
iRUSH
Дата 7.9.2009, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 7.9.2009

Репутация: нет
Всего: нет



Цитата(danzer @  7.9.2009,  17:57 Найти цитируемый пост)
чем ругаца, лучше бы помогли человеку. где находяца ошибки  и как исправить? 

Примерно так у тебя должно выглядеть на С++, если конечно пишешь
Код


#include <iostream>

using namespace std;

struct znak
{
   char m_fam;
   char m_imy;
   char m_znakz;
   int  m_d[3];
};

int main()
{
   znak z1[8];
   int x = 0;
   cout << "Input a data: ";
   for (int i = 0; i < 8; ++i)
   {
      cin >> z1[i].m_fam >> z1[i].m_imy >> z1[i8].m_znakz/* >> z1.m_d[3]*/; // <- тут не вкурил что надобыло или в весь массив считать или только в 1 его елемент
   }
   x = x + 1;
   return 0;
}


Это сообщение отредактировал(а) iRUSH - 7.9.2009, 18:18
PM MAIL   Вверх
zim22
Дата 7.9.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



iRUSH, в С++ можно определять локальные классы. не понимаю, зачем ты вынес определение класса вне функции main. может так было задумано... smile


--------------------
PM MAIL   Вверх
iRUSH
Дата 7.9.2009, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 7.9.2009

Репутация: нет
Всего: нет



Цитата(zim22 @  7.9.2009,  18:34 Найти цитируемый пост)
iRUSH, в С++ можно определять локальные классы. не понимаю, зачем ты вынес определение класса вне функции main. может так было задумано... 

да, именно так и задумано было, аргументы :
1) дабы не загромождать функцию main всяким хламом
2)возможно топикстартер захочет определить еще какието функции, помимо main, для того чтобы заюзать эти структуру
3)я пока на практике не встречал чтобы реально кто то описывал структуру внутри функции(я не говорю что это запрещено стандартом или это плохо), вот вложеные классы/структуры внутри классов/структур, это часто встречаеться...

PM MAIL   Вверх
danzer
Дата 7.9.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.9.2009

Репутация: нет
Всего: нет



Цитата(iRUSH @ 7.9.2009,  18:14)
Код

      cin >> z1[i].m_fam >> z1[i].m_imy >> z1[i8].m_znakz/* >> z1.m_d[3]*/; // <- тут не вкурил что надобыло или в весь массив считать или только в 1 его елемент
   }
   x = x + 1;
   return 0;
}

это был ввод данных? а надо кроме этого сделать сравнение по полному эллементу из массива. по моему это strcmp

PM MAIL   Вверх
iRUSH
Дата 7.9.2009, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 7.9.2009

Репутация: нет
Всего: нет



Цитата(danzer @  7.9.2009,  19:13 Найти цитируемый пост)
это был ввод данных? 

Да, это был ввод данных с консоли юзером.


Цитата(danzer @  7.9.2009,  19:13 Найти цитируемый пост)
а надо кроме этого сделать сравнение по полному эллементу из массива. по моему это strcmp

Нет!!!, если я тебя правилно понял то нужно сравнивать структуры, а значит тебе нужно переопределить в структуре оператор сравнения (==), strcmp - работает со строками, ее тут юзать бессмысленно и ошибочно.
Вот например так:
Код

#include <iostream>
#include <vector>
#include <algorithm>

struct znak
{
   char m_fam;
   char m_imy;
   char m_znakz;
   int  m_d[3];
   bool operator ==(const znak& anOther)
   {
      return (m_fam == anOther.m_fam &&
              m_imy == anOther.m_imy &&
              m_znakz == anOther.m_znakz);
   }
};

int main()
{
   std::vector<znak> vznak;
   for (int i = 0; i < 3; ++i)
   {
      std::cout << "Enter a data: ";
      znak z1;
      std::cin >> z1.m_fam >> z1.m_imy >> z1.m_znakz/* >> z1.m_d[3]*/; // <- тут не вкурил что надобыло или в весь массив считать или только в 1 его елемент
      vznak.push_back(z1);
   }

   znak elem;
   std::cout << "Enter element: ";   
   std::cin >> elem.m_fam >> elem.m_imy >> elem.m_znakz;

   if(std::find(vznak.begin(), vznak.end(), elem) != vznak.end())
   {
      std::cout << "Element in array was found: " << std::endl;
      std::cout << "First name: " << elem.m_imy << std::endl;
      std::cout << "Second name: " << elem.m_fam << std::endl;
      std::cout << "ID: " << elem.m_znakz << std::endl;
   }
   else
   {
      std::cout << "Element wasn't found...";
   }
   return 0;
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0761 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.