Forums.Avtograd.Ru: Вопросы по C++ - Forums.Avtograd.Ru

Перейти к содержимому

  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Вопросы по C++

#1 Пользователь офлайн   Arion

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 25
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 09:44

тема говорит сама за себя, задавайте ваши вопросы по С++
0


  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Другие ответы в этой теме

#21 Пользователь офлайн   Lisa Alisa

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 241
  • Регистрация: 01 Ноябрь 07

Отправлено 24 Ноябрь 2007 - 17:51

Вопрос по C++builder
Подскажите кто знает: как сделать диалог запроса логина и пароля, так чтобы при запуске программы выводилась формочка с вводом пасс и логина и кнопки входа , и в случае правильного ввода программа переходила на следующую формочку, а в случае не правильного ввода выводилась ошибка. Интересует сам код на кнопочку "вход" :rolleyes:
Изображение
0

#22 Пользователь офлайн   Demin Max

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 13
  • Регистрация: 11 Ноябрь 07

Отправлено 24 Ноябрь 2007 - 23:20

Просмотр сообщенияLisa Alisa (24.11.2007, 17:51):

Вопрос по C++builder
Подскажите кто знает: как сделать диалог запроса логина и пароля, так чтобы при запуске программы выводилась формочка с вводом пасс и логина и кнопки входа , и в случае правильного ввода программа переходила на следующую формочку, а в случае не правильного ввода выводилась ошибка. Интересует сам код на кнопочку "вход" :rolleyes:


void __fastcall TForm1::OKButtonclick(TObject *Sender)
{
  if (PasswordEdit->Text == "123") { // PasswordEdit - это TEdit. Не забудь установить у него PasswordChar значение "*" 
	Form2->Show(); // так называется вторая формочка
  }
  else {
	MessageDlg("Wrong password!", mtError, TMsgDlgButtons() << mbOK, 0);
  }
}


Зачем тебе это программирование вообще сдалось? :rolleyes:
0

#23 Пользователь офлайн   Lisa Alisa

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 241
  • Регистрация: 01 Ноябрь 07

Отправлено 25 Ноябрь 2007 - 00:00

спасибо за то, что откликнулись :) но я сама уже сделала.. просто забыла сообщение удалить :rolleyes:
Изображение
0

#24 Пользователь офлайн   Konstantin

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 10
  • Регистрация: 28 Ноябрь 07

Отправлено 28 Ноябрь 2007 - 23:00

Товарищи, подскажите плз... необходимо написать прожку на С++builder, которая преобразовывает *.bmp формат таким образом, что пиксели в памяти выстраиваются с верхнего левого угла -> на право...
0

#25 Пользователь офлайн   musashi

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 573
  • Регистрация: 01 Ноябрь 07

Отправлено 28 Ноябрь 2007 - 23:52

void RotateImage90(Graphics::TBitmap *ABitmap, Graphics::TBitmap *BBitmap)
{
  int x = 0, y = 0;
  BBitmap->Width = ABitmap->Height;
  BBitmap->Height = ABitmap->Width;
  for(x=0;x<=ABitmap->Width-1;x++)
  {
	for(y=0;y<=ABitmap->Height-1;y++)
	{
	  BBitmap->Canvas->Pixels[BBitmap->Width-y][x] = ABitmap->Canvas->Pixels[x][y];
	}
  }
}

как видно из названия функи, изображение поварачивается на 90 градусов, берется исходное изображение из ABitmap и ложится в BBitmap
делать неохото, но ты разберешься, просто думай!
удачи
0

#26 Пользователь офлайн   Konstantin

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 10
  • Регистрация: 28 Ноябрь 07

Иконки сообщения  Отправлено 29 Ноябрь 2007 - 23:07

Судя по всему вы не поняли проблематики... Мне необходимо преобразовать сам формат, а не картинку внутри него. Тоенсть сделатьтак, чтобы пиксели заполняли память с лева на право, ну и с верху в низ.
0

#27 Пользователь офлайн   TRUTHFUL

  • Пользователь
  • PipPip
  • Группа: Модераторы
  • Сообщений: 412
  • Регистрация: 01 Ноябрь 07

Иконки сообщения  Отправлено 01 Декабрь 2007 - 19:14

Просмотр сообщенияMr. D (1.12.2007, 17:56):

привет!

у меня проблема такая, с хранением в памяти чисел с плавающей запятой, в частности double
фишка в том что например число 137.37 он у себя представляет нечто вроде 137.37000000000000001 или 137.36999999999999998
ну как бы для обычных расчетов или вывода в поток это не имеет значения...
а вот при сравнении двух таких чисел результаты очень часто бывают неверные, а для меня это ессесно критично
пока что нашел выход из положения сделав проверку на погрешность, типа +- 0.02 например, так больше похоже на правду, но все таки не то
кроме создания своего класса чисел_с_плавающей_запятой, какие могут быть решения этой проблемы?

з.ы. компилятор который вместе с MS VC++ 8.0 идет стандартный...

Просто числа с плавающей точкой в памяти компьютера всегда представлены в прилиженном виде. И сравнение их происходит именно с заданной погрешностью:
if(abs(x-y)<0.0001){...}

Истина где-то рядом... Пускай там и остается!
0

#28 Пользователь офлайн   parovozik

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 700
  • Регистрация: 01 Ноябрь 07

Отправлено 03 Декабрь 2007 - 16:20

Добрый день.
Мне надо реализовать простейший Паскаль-Си-транслятор ("конвертор"). Это, так называемая, лаба для универа. Кто что подскажет по этому поводу? Общий алгоритм, может ссылочки какие?

Большое спасибо..

Локомотив

0

#29 Пользователь офлайн   Dr.V1.3

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 116
  • Регистрация: 15 Ноябрь 07

Отправлено 12 Декабрь 2007 - 23:25

Просмотр сообщенияDen (22.11.2007, 2:47):

да этих конвертеров как новоза у баб тони в деревне ... :lol:
меня интересует сама функция загрузки ... если таковая имеется ...

з.ы. я юзаю институтский OGL на пару с институтским Dev-cpp ... :)
хз чейный он ... ati ... nVidia ... :lol:



Просмотр сообщенияparovozik (3.12.2007, 17:20):

Добрый день.
Мне надо реализовать простейший Паскаль-Си-транслятор ("конвертор"). Это, так называемая, лаба для универа. Кто что подскажет по этому поводу? Общий алгоритм, может ссылочки какие?

Большое спасибо..

Хорошая у вас лаба....
Ну замени := в тексте на = begin; на { end; на } procedure на void и в этом духе...вогт тебе и ПРОСТЕЙШИЙ...
0

#30 Пользователь офлайн   Den

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 246
  • Регистрация: 01 Ноябрь 07

Отправлено 13 Декабрь 2007 - 17:44

Просмотр сообщенияparovozik (3.12.2007, 17:20):

Добрый день.
Мне надо реализовать простейший Паскаль-Си-транслятор ("конвертор"). Это, так называемая, лаба для универа.

ну это же оч. просто ...

Просмотр сообщенияparovozik (3.12.2007, 17:20):

Кто что подскажет по этому поводу? Общий алгоритм, может ссылочки какие?

общий алгоритм ... хм ...
к примеру грузишь, скажем в memo через LoadFromFile() файл - *.pas,
после чего организуешь цикл, который идёт от начала файла в конец, читая слова и заменяет соответствующие резервированные слова языков на соответствующие. после чего сохраняет результат в *.cpp файл.
0

#31 Пользователь офлайн   parovozik

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 700
  • Регистрация: 01 Ноябрь 07

Отправлено 13 Декабрь 2007 - 21:18

мы тему проходим формальные языки и методы трансляции, так что препод будет не очень доволен, тупому способу замены. Вообщем кое-что я нашёл в инете, но всё-равно будет тяжко :)

Локомотив

0

#32 Пользователь офлайн   .choking on a dream.

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 881
  • Регистрация: 01 Ноябрь 07

Отправлено 15 Декабрь 2007 - 16:35

как использовать экземпляры структуры в функциях?

#include <iostream.h>
#include <conio.h>
#include <string.h>

void x(int i, st z[32]) (вот тут ошибку выдаёт)

{cout << z[i].f << " " << z[i].p << " " << z[i].o << " " << z[i].y << " " << z[i].s << " " << z[i].d << endl;}

void main() { clrscr();

struct st {char f[15],p[1],o[15]; int y; char s[15],d[15];} z[32];
int n,i;

cout << "Кол-во записей\n";
cin >> n;

for (i=0;i<n;i++) {
cout << "Введите фамилию сотрудника № " << i << endl; cin >> z[i].f;
cout << "Введите пол сотрудника № " << i << endl; cin >> z[i].p;
cout << "Введите название отдела сотрудника № " << i << endl; cin >> z[i].o;
cout << "Введите год рождения сотрудника № " << i << endl; cin >> z[i].y;
cout << "Введите стаж работы сотрудника № " << i << endl; cin >> z[i].s;
cout << "Введите должность сотрудника № " << i << endl; cin >> z[i].d;
}

for (i=0;i<n;i++)
if (((!strcmp(z[i].p,"m")) && (2007-z[i].y>60)) ||
((!strcmp(z[i].p,"g")) && (2007-z[i].y>55)))
x(i,z);

getch ();}
0

#33 Пользователь офлайн   musashi

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 573
  • Регистрация: 01 Ноябрь 07

Отправлено 15 Декабрь 2007 - 21:23

ошибка в том что ты описал данную структуру в функе перед тем как описать саму структуру, вот и ошибка!
0

#34 Пользователь офлайн   .choking on a dream.

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 881
  • Регистрация: 01 Ноябрь 07

Отправлено 15 Декабрь 2007 - 22:04

вот так поменял. та же ошибка "too many types in declaration".
там наверно в синтаксисе ошибка. где можно примеры поискать с функциями и структурами?

#include <iostream.h>
#include <conio.h>
#include <string.h>

struct st {char f[15],p[1],o[15]; int y; char s[15],d[15];}

void x(int i, st z[32])
{cout << z[i].f << " " << z[i].p << " " << z[i].o << " " << z[i].y << " " << z[i].s << " " << z[i].d << endl;}

void main() { clrscr();

st z[32];

int n,i;

cout << "Кол-во записей\n";
cin >> n;

for (i=0;i<n;i++) {
cout << "Введите фамилию сотрудника № " << i << endl; cin >> z[i].f;
cout << "Введите пол сотрудника № " << i << endl; cin >> z[i].p;
cout << "Введите название отдела сотрудника № " << i << endl; cin >> z[i].o;
cout << "Введите год рождения сотрудника № " << i << endl; cin >> z[i].y;
cout << "Введите стаж работы сотрудника № " << i << endl; cin >> z[i].s;
cout << "Введите должность сотрудника № " << i << endl; cin >> z[i].d;
}

for (i=0;i<n;i++)
if (((!strcmp(z[i].p,"m")) && (2007-z[i].y>60)) ||
((!strcmp(z[i].p,"g")) && (2007-z[i].y>55)))
x(i,z);

getch ();}
0

#35 Пользователь офлайн   AlterEgo

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 138
  • Регистрация: 01 Ноябрь 07

Отправлено 16 Декабрь 2007 - 14:16

мм,а где ; после объявления структуры?
0

#36 Пользователь офлайн   musashi

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 573
  • Регистрация: 01 Ноябрь 07

Отправлено 16 Декабрь 2007 - 19:03

сам подума что означает вот это "too many types in declaration", мне лично о многом говорит, а имеено "много объявленных типов"

зачем ты размерность структуры в функе описываешь? какая пришла, такую и обрабатывай!
0

#37 Пользователь офлайн   .choking on a dream.

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 881
  • Регистрация: 01 Ноябрь 07

Отправлено 16 Декабрь 2007 - 21:51

точно =О. заработала лаба.

ps
а как вывести строку не сначала? с пятого символа например.
0

#38 Пользователь офлайн   Barrabas

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 431
  • Регистрация: 01 Ноябрь 07

Отправлено 17 Декабрь 2007 - 17:41

Просмотр сообщения.choking on a dream. (16.12.2007, 22:51):

точно =О. заработала лаба.

ps
а как вывести строку не сначала? с пятого символа например.

substr или самому в новый char[] добавить с нужной позиции и его вывести
0

#39 Пользователь офлайн   DJ-Andrey-sXe

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 218
  • Регистрация: 01 Ноябрь 07

Отправлено 20 Декабрь 2007 - 15:29

Просмотр сообщения.choking on a dream. (16.12.2007, 21:51):

как вывести строку не сначала? с пятого символа например.
#include <stdio.h>
int main(int argc, char* argv[])
{
  char* a = "1234567890";
  char* p = a + 4;
  puts(p);
  return 0;
}

0

#40 Пользователь офлайн   DJ-Andrey-sXe

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 218
  • Регистрация: 01 Ноябрь 07

Отправлено 20 Январь 2008 - 01:08

Для начала глобальное выравнивание лучше не трогать.
#pragma pack(push, 1)
// описание структуры делай тут
#pragma pack(pop)

0

  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • 4
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей