Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
Stoun
0 / 0 / 0
Регистрация: 21.03.2007
Сообщений: 6
#1

Еще один глюк. На этот раз с printf. Объяснит мне кто-нибудь в чем прикол??? - C++

23.03.2007, 11:52. Просмотров 2331. Ответов 10
Метки нет (Все метки)

Вот кусок текста:
Dir = Dir_X + Dir_Y;
printf("X%d,",dX);
printf("%s ",Xs);
printf("Y%d,",dY);
printf("%s ",Ys);
printf("Dr%d ",Dir);
printf("Cm%d\n",Command);

Вот ПРАВИЛЬНЫЕ результаты вывода:
X0, Y0, Dr0 Cm0
X244, 0.489 Y-5935, -11.87 Dr9 Cm0

А это все printf объединены в один:
printf("X%d,%s Y%d,%s Dr%d Cm%d\n", dX,Xs,dY,Ys,Dir,Command);

И вот результаты:
X0, Y-28727,(NULL) Dr4022 Cm-28727
X244, Y-28727, Dr4022 Cm-28727

Вместо числовых значений выводятся вроде как адреса строк, а сами строки пропали... Под WinXP, Win98, DOS - результат одинаковый. Почему такой бардак? Может компилятор сменить? Ткните в ссылку где можно взять более новый или руки мне поправьте...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2007, 11:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Еще один глюк. На этот раз с printf. Объяснит мне кто-нибудь в чем прикол??? (C++):

проверьте пожалуйста еще один код программы, кто может - C++
проверьте пожалуйста еще один код программы(кто может вот условие: программа должна проверить число является ли оно простым или нет? ...

Кто объяснит такой прикол?! - Delphi
вот только что столкнулся! Итак... Input - Delphi 7 - Win XP SP3 - avast ver 7.0 Process создаю новый проект....

Кто нибудь объяснит что хотел разработчик - MySQL
Я не могу понять что эта функция делает (разбираюсь в чужом "движке"), а еще я не понимаю что за прифексы M и S около название полей.......

Добрий вечер !Напишите мне кто-нибудь пожалуйста эту программу с комментариями, чтобы я смогла разобраться, потому что никак не могу понять этот язык - Assembler
создать файл записей (фамилия клиента, паспортные данные, № счета, сумма вклада) с зашифрованным № счета и суммой вклада всех клиентов...

Еще один глюк C# - C#
Есть сумма процентов, которая не должна превышать 100 %. Разница между 100 % и суммой процентов записана в переменную sum типа int. Есть...

И еще один глюк в калькуляторе - Delphi
procedure TForm5.SqrtClick(Sender: TObject); begin a:=strtofloat(Edit1.Text); if a>0 then a:=sqrt(a); //...

10
Valmont1986
0 / 0 / 0
Регистрация: 23.03.2007
Сообщений: 4
23.03.2007, 16:25 #2
Компилятор явно не причём, пока не пойму в чём дело приведи код полностью, я предлагаю использовать потоки, и думаю всё запашет, или ты принципиально их не используешь? Но во всяко случае попробуй так:
cout<<"X"<<" "<<dX<<" "<<Xs<<"Y"<<" "<<dY<<" "<<Ys<<" "<<Dir<<" "<<Command<<endl;
Тока не забуть #include<iostream.h>, опубликуй весь код тогда разберусь!!
0
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
23.03.2007, 16:27 #3
Я пишу на Dev-C++ (www.bloodshed.net) и все твои неполадки отсутствуют. Все нормально (в обоих случаях). Да и визуально видно - ошибок нет, если ты конечно обьявил правильно.
0
Valmont1986
0 / 0 / 0
Регистрация: 23.03.2007
Сообщений: 4
23.03.2007, 16:29 #4
Пришли, весь код подумаем!!! Не в компиляторе дело!!
0
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
23.03.2007, 16:34 #5
Понятно что не с компилятором. Дело в обьявлении и инициализации.
0
Stoun
0 / 0 / 0
Регистрация: 21.03.2007
Сообщений: 6
26.03.2007, 11:45  [ТС] #6
Ну вот, например.


void main()
{
long Imp_dX=623,Imp_dY=532;
char Dir=8,Ent=10,Com=2,Par=14;

printf("X%4d ",Imp_dX);
printf("Y%4d ",Imp_dY);
printf("Dir%X ",Dir);
printf("Ent%d ",Ent);
printf("Com%d ",Com);
printf("Par%X\n", Par);

printf("X%4d Y%4d Dir%X Ent%d Com%d Par%X\n",Imp_dX,Imp_dY,Dir,Ent,Com,Par);
}

А вот результат:

X 623 Y 532 Dir8 Ent10 Com2 ParE
X 623 Y 0 Dir214 Ent0 Com8 ParA

Там где printf отдельно - все выводится правильно .Там где одной строкой - бардак.
0
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
26.03.2007, 16:02 #7
залил программу - работает отлично без глюков!
0
Stoun
0 / 0 / 0
Регистрация: 21.03.2007
Сообщений: 6
27.03.2007, 14:03  [ТС] #8
Скачал Dev-C++ с www.bloodshed.net. В нем действительно все работает без глюков. Да и сама прога намного уобнее и функциональнее. Спасибо за ссылку :-)
Только проблемка. Некоторые функции, которые раньше работали, сейчас не работают.
Компилятор ругается:

10 E:\PROJECT\Test.cpp `window' undeclared (first use this function)

Я так понял, что этой (и др.) функции отсутствуют в соответствующих .h - проверял, действительно нет. тогда как их использовать? Может они по другому называются или нужно еще что-то подключить в настройках компилера?
0
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
28.03.2007, 13:48 #9
Данные функции на самом деле не имеют отношения к яыку C++, как таковому - это функции относятся к Багдаду(Borland'y). Все доступные функции языка С включенные в стандарт - можно узнать в самом стандарте 99 года языка С. Относительно C++ - есть стандарт 98 года - там описаны все поддерживаемые любыми компиляторами возможности. Если действительно хочешь научится С/С++ - читай:
Б. Керниган, Д. Ритчи
Язык программирования Си
(книга основоположников языка!)
и
Б.Страуструп
Язык программирования С++, 3-е издание
или
(предпочтительней)
Язык программирования С++, специальное издание
(издание играет роль!!!!!!)

Будут вопросы задавай.
0
Alucard
1 / 1 / 1
Регистрация: 18.04.2007
Сообщений: 41
23.04.2007, 08:09 #10
Слушай меня: напиши в самую верхнюю строчку
#include <iostream>
0
AltMAN
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 4
11.05.2014, 11:54 #11
используйте форматированный вывод setprecision и setwidth
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2014, 11:54
Привет! Вот еще темы с ответами:

кто нибудь встречался с чем нибудь похожим - jQuery
Привет всем. Недавно наткнулся на очень интересный вариант оформления заказа вот ссылка на него http://www.vezetvsem.info/order . в...

Кто-нибудь знает этот шрифт? - Web
Всем - доброе время суток! Ребята, подскажите, кто-то знает название этого шрифта: http://www.aqua-sun-gmbh.de/logo.logo.gif ...

Проверьте кто нибудь этот исходник на ошибки - PHP
&lt;?php $name=file_get_contents('database.php'); $date=date(&quot;&quot;); $ip = getenv (&quot;REMOTE_ADDR&quot;); ...

Кто-нибудь в Опере этот форум юзал? - Софт
Может у меня какая-то Опера не правильная (7.11), но это очень жёсткое испытание :)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
11.05.2014, 11:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru