Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Синтаксис, гдето ошибка 
:(
    Опции темы
Mr Proper
  Дата 28.4.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



#include<iostream.h>
#include<conio.h>
int main()
{
struct baza {
char name1[20];
char name2[20];
};
baza listArray1[1];
cin>>listArray1[0].name1;
cin>>listArray1[1].name2;
clrscr();
for (int i=0;i<2;i++) {
cout<<baza.listArray1[i];
}
getch();
}

после компеляции выдаёт
[C++ Error] Unit1.cpp(14): E2108 Improper use of typedef 'baza'

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


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



я же тебе говорил: вынеси описание за реализацию. + на кнопку код тыкать не стесняйся ++ в цикле у тебя вообще бред написан. что ты им добится хочеш?

Код

struct baza
{
char name1[20];
char name2[20];
};

int main()
{
    baza listArray1[1];

    cin >> listArray1[0].name1;



--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Бегемот
Дата 28.4.2005, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 26.1.2005
Где: На границе Европы и Азии

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



baza это тип данных определённый тобой! Что ты там с ним в цикле мудришь?
Если я правильно понял, ты сначало хочешь навводить чего-то с клавиатуры, а затем вывести всё это на экран.
ИМХО, проще сделать так:
Код

#include<iostream.h>
#include<conio.h>
struct baza {
char name1[20];
char name2[20];
};
baza listArray1[5];
int main()
{
 for(int i=0;i<5;i++)
 {
  cout<<"name1["<<i<<"]:";
  cin>>listArray1[i].name1;
  cout<<"name2["<<i<<"]:";
  cin>>listArray1[i].name2;
 }
 clrscr();
 for (int i=0;i<5;i++)
 {
  cout<<"name1["<<i<<"] = "<<listArray1[i].name1<<"\t";
  cout<<"name2["<<i<<"] = "<<listArray1[i].name2<<endl;
 }
 getch();
}

Так как тип массива - твоя структура, один его элемент уже содержит и name1, и name2. А размерность массива определяет кол-во пар name1,name2.



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


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

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



Да много тут тебе наговорили хочу добавить:

Ошибки:

1. Если создаешь массив то пиши в скобках число элементов больше 1 т.е.

Код

baza listArray1[2];


иначе смысл массива теряется.

2. Да и если неважен результат завершения функции main() объявляй ее без возвращаемого
значения т.е.

Код

void main()
{
//свой код
}


конечно компилятор на это не ругается это просто хороший тон программирования, который поможет тебе избежать мелких недоразумений в дальнейшем, а проблема вот:

Код

cout<<baza.listArray1[i];


нужно писать так:

Код

cout << listArray1[i].name1;


конечно можно записать и так:

Код

cout << listArray1[i];


но здесь вместо структуры нужно писать класс baza и переопределять оператор << (operator<<), но это уже совсем другая история.

Удачи!!! smile




--------------------
user posted image
PM MAIL   Вверх
Void
Дата 1.5.2005, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Цитата(tigger @ 30.4.2005, 21:55)
2. Да и если неважен результат завершения функции main() объявляй ее без возвращаемого
значения т.е.
Код

void main()
{
//свой код
}

void main() по стандарту недопустимо. Есть int main() и int main(int argc, char *argv[]). Других вариантов не дано. Не вижу причин писать void main, тем более что возврат из int main() без return эквивалентен return 0.



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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