Душа в рай
Гость
|
|
« Ответ #90 : 13-05-2008 06:00 » |
|
Со stdio.h я погоречился изночально стоял iostream , но и в этом случае он выдаёт те же ошибки.
|
|
|
Записан
|
|
|
|
Душа в рай
Гость
|
|
« Ответ #91 : 13-05-2008 06:06 » |
|
Алексей1153++ , благодарю за подсказку ту был прав.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #92 : 13-05-2008 18:02 » |
|
Душа в рай, слушай Димку, он правильно говорит - параметры main надо переделать по стандарту , например передать указатель на структуру
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #93 : 13-05-2008 18:51 » |
|
параметры main надо переделать по стандарту , например передать указатель на структуру Шо? Всегда думал, что они выглядят либо int main() либо int main(int argc, char *argv[]) либо int main(int argc, char *argv[], char *envv[]) либо, на худой конец, void main() Где структуры?
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #94 : 13-05-2008 19:03 » |
|
dimka, Ты еше забыл изобретения ֵMicrosoft Типа WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR CmdParam, int nCmdShow)
И еше парочка подобных. Кстати Не стандартно. У меня g++ на подобное обрашение очень сильно ругается. Недавно на форуме пробегал такой же вопрос. Рома сказал, что это компилируется без ошибок и ворнингов только для стандарта С 1999 года.
|
|
« Последнее редактирование: 13-05-2008 19:06 от Finch »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #95 : 14-05-2008 13:34 » |
|
dimka, да передать то можно, хоть через тот же char *argv[]
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #96 : 14-05-2008 16:43 » |
|
Алексей1153++, можно. Тут не вопрос в том, как или куда, тут вопрос: откуда?
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #97 : 14-05-2008 16:51 » |
|
dimka, не, вопрос - зачем А откуда - через параметры, откуда ж ещё. Только напрямую структуру, конечно, передать не удасться в main , а в виде строки - почемяу бы и нет, если сильно надо ?
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #98 : 15-05-2008 05:51 » |
|
Только напрямую структуру, конечно, передать не удасться в main , а в виде строки - почемяу бы и нет, если сильно надо ? Так это не структура будет, а параметры командной строки. Что ты тут воду мутишь? Структуры...
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #99 : 15-05-2008 17:50 » |
|
dimka, челолвеку хотелось через командную строку передать что нибудь - вот я и стараюсь помочь
|
|
|
Записан
|
|
|
|
Душа в рай
Гость
|
|
« Ответ #100 : 18-05-2008 15:52 » |
|
Так, я смотрю вы тут совсем переспорились без меня.Эта прога работает, хоть и вякает что-то поэтому можно вернуться(чёт для меня эт немного дремучая тема) к этому вопросу чуть по позжя.В справочнике есть такая прога: #include <string>
std::string incantation; void respond (const string& answer) { if (answer == incantation){ } else if (answer == "yes"){ } } В скобках нужно что то вводить,внимание вопрос, ЧТО?
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #101 : 18-05-2008 16:34 » |
|
Душа в рай, Ну наверное свой код программы. Все зависит от "а нафига нужен данный кусок кода".
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Душа в рай
Гость
|
|
« Ответ #102 : 19-05-2008 12:38 » |
|
В справочнике написино:" Строки могут сравниваться друг с другом и со строковыми литералами".Ну и далее этот кусок.
|
|
|
Записан
|
|
|
|
McZim
|
|
« Ответ #103 : 19-05-2008 12:53 » |
|
Душа в рай, ну вот вам показали как они могут сравниваться. (хотя я бы не так сравнивал)
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Душа в рай
Гость
|
|
« Ответ #104 : 19-05-2008 14:56 » |
|
А как?
|
|
|
Записан
|
|
|
|
Душа в рай
Гость
|
|
« Ответ #105 : 19-05-2008 15:03 » |
|
#include <string> using namespace std; string name = "Niels Stroustrup";
void main () { string s = name.substr (6,10); name.replace (0,5, "Nicholas"); cout<<name; }
В чём ошибка? Выдаётся: error C2065: 'cout' : undeclared identifier
|
|
« Последнее редактирование: 19-05-2008 15:05 от Душа в рай »
|
Записан
|
|
|
|
Sands
Помогающий
Offline
|
|
« Ответ #106 : 19-05-2008 15:08 » |
|
Думаю стоит подключить <iostream.h>
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #107 : 19-05-2008 16:59 » |
|
Sands, без ".h" - вроде тут речь про VS 2005 шла.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #108 : 19-05-2008 17:02 » |
|
Душа в рай, Я так понял, что ты не понимаеш одну маленькую вешь. "В программировании само из ниоткуда ничего не берется." Чтобы программа работала, весь код должен быть уже ранеее написан, или же написан тобой. Все эти string.h, iostream.h и куча еше чего, это уже ранне написанный код другими людьми. Чтобы воспользоваться им, нужно соответствуюший хедер подключить к своей программе через команду прекомпилятора #include. Ты хочеш использовать cout, значит нужно подключить библиотеку где она описана iostream. Захочеш воспользоваться например математическими функциями, нужно использовать библиотеку math.h где эти функции описаны.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Душа в рай
Гость
|
|
« Ответ #109 : 21-05-2008 05:20 » |
|
Finch, ты прав!Я совершенно не подумал о том что cout не принадлежит string'у подставил iostream ивсё работает.
|
|
|
Записан
|
|
|
|
Душа в рай
Гость
|
|
« Ответ #110 : 21-05-2008 06:26 » |
|
:(Ввёл программу следующего содержагия: #include <iostream> using namespace std; int main(); {
const float factor = 2.54; float x, in, cm; char ch = 0; cout<<"vvedite dlinnu:"; {
duble d; cin >>x; cin >>ch;
switch (ch); case'i': in = x; cm = x*factor; break; case'c': in = x/factor; cm = x; break; default: in = cm = 0: break; }
cout<< in <<"duimov = "<< cm <<"cm\n";
} Ответ был таков: error C2447: '{' : missing function header (old-style formal list?) Работать прога не хочет.Прокоментируйте
|
|
« Последнее редактирование: 21-05-2008 06:30 от Душа в рай »
|
Записан
|
|
|
|
McZim
|
|
« Ответ #111 : 21-05-2008 06:39 » |
|
1. int main(); - не нужна точка с запятой 2. {} - вторые фигурные скобки не нужны.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #112 : 21-05-2008 06:40 » |
|
switch (ch); - убери ";" , а все позиции свича заключи в фигурные скобки switch (ch) { case'i': { in = x; cm = x*factor; } break;
case'c': { in = x/factor; cm = x; } break;
default: { in = 0; //<<=========== а тут надо ";" cm = 0; } break; }
|
|
« Последнее редактирование: 21-05-2008 06:43 от Алексей1153++ »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #113 : 21-05-2008 06:41 » |
|
ага, у него кажись одна скобка из свича вверх и уехала )
|
|
|
Записан
|
|
|
|
McZim
|
|
« Ответ #114 : 21-05-2008 06:42 » |
|
Алексей1153++, у свича ; не заметил
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #115 : 21-05-2008 06:44 » |
|
McZim, а я у мейна )))
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #116 : 22-05-2008 05:36 » |
|
а все позиции свича заключи в фигурные скобки А зачем? Конец case-последовательности явно определяется оператором break или концом всей конструкции. Ошибиться можно, только забыв break, и скобки не помогут. А так получается лишнее нагромождение скобок.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #117 : 22-05-2008 06:08 » |
|
dimka, я вообще то имел в виду не каждую позицию, а ВСЕ позиции в один блок, то есть switch() { <-- это } <-- а остальное я просто по своей привычке расставил И там есть плюсы. нагромождение скобок (с) - это плюс, а не минус, так как повышается читабельность, стройность и красиво, в конце концов если у каждого case не поставить скобки, то рано или поздно будет момент, когда компилятор станет ругаться на места, типа: int x=7; switch(x) { case 1: int i=3; break;
case 2: int i=10; break;
}
а так, вводя новый case, автоматом пишем: и не забудешь break
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #118 : 22-05-2008 11:39 » |
|
если у каждого case не поставить скобки, то рано или поздно будет момент, когда компилятор станет ругаться на места Ибо нечего писать километровые свичи Потому что их от нечитабельности никакие скобки не спасут. И вообще рекомендуется разделять код управления исполнением программы и код преобразования данных, разнося их по разным функциям.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #119 : 22-05-2008 11:48 » |
|
dimka, ну мало ли что рекомендуют
|
|
|
Записан
|
|
|
|
|