FMC Posted November 28, 2015 at 09:26 PM Report Share #590170 Posted November 28, 2015 at 09:26 PM Olá Comunidade P@P, Tenho aqui uma dúvida sobre C++! Eu na escola ando a aprender Pascal, e a pouco tempo eu aprendi a usar o goto(x,y) que para quem não sabe serve para começa a escrever ou a ler numa determinada posição no programa. Mas a minha dúvida é: Se é possível, fazer o mesmo em C++, e se ter como fazer? Sei que a dúvida pode ser um bocado estúpida, mas já a algum tempo que programo C++ e nunca usei e nem pensem em usar, e já pesquisei na Internet e em alguns livros e nada! Obrigado pela vossa paciência! Abraços, FMC! "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted November 28, 2015 at 09:29 PM Report Share #590171 Posted November 28, 2015 at 09:29 PM primeiro de tudo, o statement goto não tem dois parâmetros (x e y). o que tem é um label que deverás colocar no meio do código. como disseste bem, não pensas em usar, então não uses. fica só a referência, que sim, o goto existe em c/c++ e (pelo incrível que pareça) o seu uso é exactamente igual ao do pascal IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
FMC Posted November 28, 2015 at 09:50 PM Author Report Share #590175 Posted November 28, 2015 at 09:50 PM Olá HappyHippyHippo! Antes de mais eu tanto em Pascal tanto em c++, ainda não programa em OO(Orientação de Objectos)! E sim em pascal o goto tem dois Parâmetros um das colunas e um das linhas! Fica aqui um trecho de um procedimento de um menu que usa o actual código. procedure esc_reg_voos (var l:voo); var linha:integer; Begin textcolor(15); gotoxy(30,2); write(' [Menu voos]'); gotoxy(10,4); write('Numero de voo: ',l.num_voo); gotoxy(40,4); write('Nome do avião: ',l.nome_aviao); gotoxy(10,5); for linha:=1 to 66 do write('-'); gotoxy(10,7); write('Destino: ',l.destino); gotoxy(10,8); for linha:=1 to 61 do write('-'); gotoxy(10,10); write('Data de saida do avião '); gotoxy(10,12); write('Dia: ',l.data_de_saida.dia); gotoxy(20,12); write('Mes: ',l.data_de_saida.mes); gotoxy(30,12); write('Ano: ',l.data_de_saida.ano); gotoxy(40,12); write('Hora: ',l.data_de_saida.horas); gotoxy(50,12); write('Minutos: ',l.data_de_saida.minutos); gotoxy(10,13); for linha:=1 to 52 do write('-'); gotoxy(10,15); write('Estimativa de voo: ',l.estimativa_voo); gotoxy(40,15); write('Numero de lugares: ',l.num_lugares); gotoxy(10,16); for linha:=1 to 55 do write('-'); gotoxy(10,18); write('Preço do Bilhete: ',l.preco_bilhetes); gotoxy(10,19); for linha:=1 to 26 do write('-'); textcolor(2); gotoxy(10,22); writeln('Carrega numa tecla para passar para o proximo'); readkey; end; E funciona perfeitamente! O mesmo processo que utilizo em pascal não funciona! "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted November 28, 2015 at 10:18 PM Report Share #590178 Posted November 28, 2015 at 10:18 PM olha bem para a função que estás a usar : gotoxy é diferente de goto !!! IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
FMC Posted November 28, 2015 at 10:19 PM Author Report Share #590179 Posted November 28, 2015 at 10:19 PM Ya esquece esqueci me de colocar o xy, erro meu! Mas em c++ me dá o seguinte erro: error: 'gotoxy' was not declared in this scope "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted November 28, 2015 at 10:35 PM Report Share #590180 Posted November 28, 2015 at 10:35 PM isso porque em c++ essa função não existe o que procuras é isto (suponho que estamos a falar de windows) : https://msdn.microsoft.com/en-us/library/windows/desktop/ms686025(v=vs.85).aspx IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
FMC Posted November 28, 2015 at 11:12 PM Author Report Share #590183 Posted November 28, 2015 at 11:12 PM (edited) Pois, mas infelizmente eu não programo c++ no Windows mas sim no Qt Creator 3.5.0, no Ubuntu 15.10, e quando eu acesso no link me dá o seguinte erro: We're sorry, the page you requested cannot be found. Edited November 28, 2015 at 11:20 PM by FMC "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to comment Share on other sites More sharing options...
Solution HappyHippyHippo Posted November 28, 2015 at 11:43 PM Solution Report Share #590184 Posted November 28, 2015 at 11:43 PM primeiro, o link é tudo, o fórum é que corta quando vê o ")" segundo, no linux podes fazer : http://rosettacode.org/wiki/Terminal_control/Cursor_positioning#C.2FC.2B.2B 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
FMC Posted November 29, 2015 at 11:58 AM Author Report Share #590187 Posted November 29, 2015 at 11:58 AM Obrigado HappyHippyHippo! Funcionou perfeitamente e me tirou a minha duvida! "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard - Link to comment Share on other sites More sharing options...
h9armando Posted December 25, 2015 at 11:52 PM Report Share #591047 Posted December 25, 2015 at 11:52 PM O goto existe também no C++, mas é algo arcaico. Eu nunca trabalhei directamente com o Pascal, mas tenho uma ideia que o goto não é exactamente igual. Se planeias saltar dum lado para o outro no programa ('jump' é o termo, 'jmp' em <i>assembly</i>), então usa sempre funções. Se queres "saltar" dentro da função, podes criar um objecto estruturado dentro da função, como também podes usar funções "lambda" (adicionadas no C++11). Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted December 26, 2015 at 08:52 AM Report Share #591055 Posted December 26, 2015 at 08:52 AM O goto existe também no C++, mas é algo arcaico. Eu nunca trabalhei directamente com o Pascal, mas tenho uma ideia que o goto não é exactamente igual. Se planeias saltar dum lado para o outro no programa ('jump' é o termo, 'jmp' em <i>assembly</i>), então usa sempre funções. Se queres "saltar" dentro da função, podes criar um objecto estruturado dentro da função, como também podes usar funções "lambda" (adicionadas no C++11). leste o tópico inteiro ? a questão era sobre a função gotoxy e não goto como descrito na primeira entrada IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now