12.12.2007, 22:11 | #31 |
Trader & Freediver
Регистрация: 27.06.2007
Сообщений: 61
|
Товарищи, есть небольшой теоретический вопрос, подскажите пожалуйста. а то я сейчас голову об стену разобью.
Вобщем есть у меня в функции main структура под кодовым названием TEL. Еще объявленна переменная структуы, следующим образом, TEL t[N] (N просто константное число). Как передать эту структуру вместе с переменной в функцию. т .е какие у этой функции будут параметры. Прототип такой: void InStruct(...) . Я пробовол что-то вроде struct TEL &t, но не то. Кто подскажет как правильно?
__________________
Не в деньгах счастье, но и не в их отсутствии. |
13.12.2007, 08:19 | #32 |
Программист
|
Могу ошибаться, но по моему никак. Страктура - это тип, и если он объявлен внутри какой-то функции (в твоем случае функции main), то и пользоваться им можно только внутри этой функции. Если вынесешь объявление за пределы функции (как правило сразу после include'ов), то функцию можно будет объявить так:
void InStruct(TEL *t, int size) { ... } |
13.12.2007, 10:32 | #33 |
Red Machine!
Регистрация: 18.07.2004
Сообщений: 1,401
|
Переменную передать можно примерно так
void InStruct(void *t,int size); правда работать ты с ней нормально не сможешь Читай внимателньей главу про область видимости имён.
__________________
1: Андрей, я тебя ненавижу! 2: Хм, надо же. А кого ненавижу я? А давай угадывать? |
13.12.2007, 17:21 | #34 |
Trader & Freediver
Регистрация: 27.06.2007
Сообщений: 61
|
Спасибо. Сегодня на лабараторной работе использовал вариант, как у Case. Все дело было в том, что шаблон структуры надо было объявить и в функции - я этого не знал
__________________
Не в деньгах счастье, но и не в их отсутствии. |
14.12.2007, 01:19 | #35 |
Профи
Регистрация: 28.05.2007
Сообщений: 1,290
|
Ребята выручайте плиз.
Товарищу прогу нада написать. у него ошибка где не знаю проги нету. Вот условие: Написать программу которая проверяет, является ли введённая с клавиатуры строка двоичным числом. завтро я спрошу как решал, у него не получилось. если не трудно попробуйте написать.
__________________
|
15.12.2007, 10:21 | #36 |
Red Machine!
Регистрация: 18.07.2004
Сообщений: 1,401
|
printf("%s",str); считывает лишь 1 слово (до пробела илим переноса строки, может даже до табуляции, точно незнаю)
__________________
1: Андрей, я тебя ненавижу! 2: Хм, надо же. А кого ненавижу я? А давай угадывать? |
15.12.2007, 22:21 | #37 |
программист
Регистрация: 09.10.2005
Сообщений: 83
|
Тирекс, а как в массив тогда записать? Надо ведь заранее знать количество слов. Значит либо дважды проходить весь файл (в первый раз, чтоб узнать количество слов), но это некрасиво. Использовать списки - думаю пока сложновато для авторов поста. Изучить STL??? Им все таки проще дважды файл пройти)))
Ах да, есть ведь еще вариант создать нереально большой массив, в которых можно запихать дофига и больше слов. Никогда не любил этот вариант, особенно после того, как некоторые преподы специально делали файл, который не влезал в мой массив Но, пожалуй, в данном случае он подойдет лучше остальных
__________________
"Нельзя бояться, страх убивает разум" Ф. Герберт Последний раз редактировалось ZiC_; 15.12.2007 в 22:25. |
16.12.2007, 03:00 | #38 | |
Red Machine!
Регистрация: 18.07.2004
Сообщений: 1,401
|
Цитата:
__________________
1: Андрей, я тебя ненавижу! 2: Хм, надо же. А кого ненавижу я? А давай угадывать? |
|
17.12.2007, 19:47 | #39 | |
[3912]
|
Цитата:
__________________
Сдохни, тостер, сдохни
|
|
17.12.2007, 21:33 | #40 |
заблудился
Регистрация: 12.10.2005
Сообщений: 199
|
fscanf(<указатель>,"<управляющая строка>",<список ввода>);
Указатель - указатель на файл, управляющая строка - сам текст, список ввода - переменные. Также и с директивой fprintf. В твоем примере в printf нет списка переменных и точки с запятой после директивы. В программе сплошные ошибки, она у тебя на считывании массива в бесконечный цикл войдет.))
__________________
|
|