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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Akronis
Сообщений: n/a
#1

Помогите переписать с Бейсика на С/С++ - C++

21.06.2008, 10:16. Просмотров 1252. Ответов 1
Метки нет (Все метки)

CLS
DO
cl1 = 0 /* + */
cl2 = 0 /* + */
datPort$ = "" /* ?*/
strGps$ = "" /* ?*/
dat$ = "" /* ?*/
tim$ = "" /* ?*/
cor1$ = "" /* ?*/
cor2$ = "" /* ?*/
spid$ = "" /* ?*/

OPEN "COM1:4800,N,8,1" FOR INPUT AS #1 /*+ Как проинициализировать порт я знаю*/
DO
WAIT &H3FD, 1 /*while ((iportb(0x3f8) & 1)==0)проверяем готов ли байт для чтения */
datPort$ = CHR$(INP(&H3F8))
IF datPort$ = "$" THEN cl1 = 1
IF cl1 = 1 THEN
strGps$ = strGps$ + datPort$
IF strGps$ = "$GPRMC" THEN cl2 = 1
IF cl2 = 1 THEN
IF datPort$ = "*" THEN EXIT DO
END IF
IF LEN(strGps$) = 6 AND cl2 = 0 THEN strGps$ = "": cl1 = 0
END IF
CLOSE #1
LOOP

dat$ = MID$(strGps$, LEN(strGps$) - 8, 2) + ":" + MID$(strGps$, LEN(strGps$) - 6, 2) + ":" + MID$(strGps$, LEN(strGps$) - 4, 2)
tim$ = MID$(strGps$, 8, 2) + ":" + MID$(strGps$, 10, 2) + ":" + MID$(strGps$, 12, 2)
cor1$ = MID$(strGps$, 21, 2) + "^" + MID$(strGps$, 23, 2) + "'" + MID$(strGps$, 31, 1)
cor2$ = MID$(strGps$, 33, 3) + "^" + MID$(strGps$, 36, 2) + "'" + MID$(strGps$, 44, 1)
spid$ = MID$(strGps$, 46, 4)
LOCATE 10, 10: PRINT "Date - " + dat$ + " " + "Time - " + tim$
LOCATE 11, 10: PRINT "Coor - " + cor1$ + " " + cor2$
LOCATE 12, 10: PRINT "Spid - " + spid$

LOOP WHILE INKEY$ = ""

Программа на Бейсике рабочая на С++ не выходит

вот часть того что я делаю.

....

void main(void)
{
int с1,cl1,cl2;
unsigned char *datport,*resalt,strGps[10];
/*Инициализация порта на скорость 4800,N,8,1
outportb(0x3fb,0x80);
while((inportb(0x3fd)&0x20)==0);
outportb(2f9,0);
while((inportb(0x3fd)&0x20)==0);
outportb(0x3f8,0x18);
while((inportb(0x3fd)&0x20)==0);
outportb(0x3fb,3);
while((inportb(0x3fd)&0x20)==0);

for( ;; )
{
cl1=0;
cl2=0;
c1=0;
*strGps="";
*datport="";

do{

while ((iportb(0x3f8) & 1)==0);
*datPort=inportb(0x3f8); /*Принимаем байт*/

if (*buff=='$')
cl1=1;
if (cl1==1)
result=strcat(strGps,datPort);//пытаюсь собрать строку
if (result=="$GPRMC") //нужное мне начало строки
сl2=1;
if (cl2==1 && (*datPort=='*') //$-начало посылки, *- конец посылки
с1=1;
c=strlen(strGps); //Длина строки
if (c==6 && cl2==0){
cl1=0;
*strGps=""; }
}while(c1=0) ;
if (kbhit()!=0{getch(); return;} //выход из цикла
}
}

Добавлено через 15 часов 47 минут
Вносите предложения по синтаксису,компиляцию я беру на себя и буду отписываться прошел вариант или нет.Мне главное первый цикл разобрать и переписать на С++(v1.01/3.0).Неужели нет знатаков Бейсика?:fool:.Вопросы,если что -то непонятно можете задавать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2008, 10:16     Помогите переписать с Бейсика на С/С++
Посмотрите здесь:

C++ Помогите переписать прогу
Помогите переписать C++
помогите переписать на C++ формулу C++
C++ Помогите плс переписать программу "Фигура из символов"
Помогите найти ошибку или переписать программу! C++
C++ Помогите переписать
Помогите переписать программу "система счисления" C++
C++ Помогите переписать программу с С на С++ (Система счисления)
C++ Переписать с C# в C++
Помогите переписать программу без использования индексации C++
Переписать из С# в С++ C++
C++ Помогите переписать из Паскаля на С++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Akronis
Сообщений: n/a
23.06.2008, 11:40     Помогите переписать с Бейсика на С/С++ #2
Всем спасибо.Жаль,что никто не заметил неправильное обнуление масива (strGps). Проблема решена, тема может быть закрыта.
Yandex
Объявления
23.06.2008, 11:40     Помогите переписать с Бейсика на С/С++
Ответ Создать тему
Опции темы

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