aMeScAS Posted November 7, 2006 at 08:19 PM Report #62743 Posted November 7, 2006 at 08:19 PM É possivel uma linha de codigo que termina a aplicaçao? Neste meu caso (CLI) o MS DOS? Por ex: Quando premida a tecla 'E' , o programa executava essa mesma linha de codigo, que fechava a janela. Se sim, poderiam me dizer qual o comando, e um pequeno exemplo... 😉 Outra questão... acho que já vi algures algo a falar sobre redimensionamento da janela, isto é, com uma instruçao, definir o tamanho da janela. Por ex: Quero que a janela esteja 250x500 e com essa mesma linha era definida a largura e altura.
brink@ero Posted November 7, 2006 at 10:11 PM Report #62793 Posted November 7, 2006 at 10:11 PM É possivel uma linha de codigo que termina a aplicaçao? Neste meu caso (CLI) o MS DOS? Por ex: Quando premida a tecla 'E' , o programa executava essa mesma linha de codigo, que fechava a janela. Se sim, poderiam me dizer qual o comando, e um pequeno exemplo... 😄 A instrução exit(0); Outra questão... acho que já vi algures algo a falar sobre redimensionamento da janela, isto é, com uma instruçao, definir o tamanho da janela. Por ex: Quero que a janela esteja 250x500 e com essa mesma linha era definida a largura e altura. Alterar as dimensões da consola de execução, experimenta isto: [C++] Dúvida: Como alterar definiçoes da consola de execução? Cumpr. bk@ero 😉
aMeScAS Posted November 8, 2006 at 01:35 AM Author Report #62853 Posted November 8, 2006 at 01:35 AM hm.... gostava de saber onde introduzo essa instrução. Eu tenho o menu nesse programa com um swith tou a faxer algo do tipo: case 7: exit(0); break; Nao esta a funcionar... Sera que me podiam explicar melhor?? 😉
TheDark Posted November 8, 2006 at 02:10 AM Report #62855 Posted November 8, 2006 at 02:10 AM Se mostrares o código é mais fácil ajudar! Desaparecido.
Hipnoted Posted November 8, 2006 at 09:12 AM Report #62875 Posted November 8, 2006 at 09:12 AM Se fosse em C dizia que se calhar faltava fazer o #include <stdlib.h>, como estamos em C+ não sei se é igual... Mas penso que seja. "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
aMeScAS Posted November 8, 2006 at 02:30 PM Author Report #62916 Posted November 8, 2006 at 02:30 PM Ora entao, está aqui o codigo todo do meu programa té ao momento... Gostaria tambem que me dissessem se ta bom, ou algo k fariam para melhorar... opinioes.. 😉 #include "stdafx.h" #include <windows.h> using namespace System; ref class Vector { public: String^ Nome; Byte Ano; Char Turma; array<Byte>^ Notas; array<Byte>^ y; array<Byte>^ pos_maior; Byte b; Vector(void) { Notas=gcnew array<Byte>(6); y=gcnew array<Byte>(6); } void Carregar(void) { Console::WriteLine("Introduza o Nome: "); Nome=Console::ReadLine(); Console::WriteLine("Introduza o Ano: "); Ano=Byte::Parse(Console::ReadLine()); Console::WriteLine("Introduza a Turma: "); Turma=Char::Parse(Console::ReadLine()); Console::WriteLine("Introduza 6 notas: "); for (Byte i=0; i<6;i++) Notas[i]=Byte::Parse(Console::ReadLine()); Console::Clear(); Menu(); } void Visualizar(void) { Console::WriteLine("O nome é: {0}",Nome); Console::WriteLine("A turma é: {0}",Turma); Console::WriteLine("O ano é: {0}",Ano); for (Byte i=0; i<6;i++) Console::WriteLine("As notas são: {0}",Notas[i]); Console::WriteLine(" "); Console::WriteLine("Para voltar para o menu carregue no (ENTER)"); Console::ReadLine(); Console::Clear(); Menu(); } void Menu(void) { Console::WriteLine(" "); Console::WriteLine(" Menu::"); Console::WriteLine(" 1-Carregar dados"); Console::WriteLine(" 2-Visualizar dados"); Console::WriteLine(" 3-Maior"); Console::WriteLine(" 4-Pesquisar"); Console::WriteLine(" 5-Ordenar"); Console::WriteLine(" 6-Credits"); Console::WriteLine(" "); b=Byte::Parse(Console::ReadLine()); Console::Clear(); switch(b) { case 1: Carregar(); break; case 2: Visualizar(); break; case 3: Maior(); break; case 4: Pesquisar(); break; case 5: Ordenar(); break; case 6: Credits(); break; default: Console::WriteLine("Introduziu um número errado"); Menu(); } } int Ordenar() { Byte maior,pos_maior,j; for (Byte i=0; i<6;i++) { maior=Notas[i]; pos_maior=i; for (j=i+1; j<=5; j++) { if(Notas[j]>maior) { maior=Notas[j]; pos_maior=j; } } Notas[pos_maior]=Notas[i]; Notas[i]=maior; } for (Byte i=0; i<6;i++) Console::WriteLine(Notas[i]); Console::WriteLine(" "); Console::WriteLine("Para voltar para o menu carregue no (ENTER)"); Console::ReadLine(); Console::Clear(); Menu(); return -1; } int Maior() { Byte maior; maior=Notas[0]; for (Byte i=0; i<6; i++) { if (Notas[i]>maior) maior=Notas[i]; } Console::WriteLine("A maior nota é {0}",maior); Console::WriteLine(" "); Console::WriteLine("Para voltar para o menu carregue no (ENTER)"); Console::ReadLine(); Console::Clear(); Menu(); return -1; } void Dimensoes(void) { HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); SMALL_RECT sr; COORD consoleSize; consoleSize.X = 50; consoleSize.Y = 25; sr.Top=sr.Left=0; sr.Right=49; sr.Bottom=24; SetConsoleWindowInfo(console, TRUE, &sr); SetConsoleScreenBufferSize(console, consoleSize); } int Pesquisar(void) { Byte x; Console::WriteLine("Introduza o valor a pesquisar:"); x=Byte::Parse(Console::ReadLine()); bool flag=true; for (Byte i=0; i<6 && flag; i++) { if (Notas[i]==x) flag=false; } if (flag) Console::WriteLine("O valor {0} nao existe",x); else Console::WriteLine("O valor {0} existe",x); Console::WriteLine(" "); Console::WriteLine("Para voltar para o menu carregue no (ENTER)"); Console::ReadLine(); Console::Clear(); Menu(); return -1; } void Credits(void) { Console::WriteLine(" Made by: "); Console::WriteLine(""); Console::WriteLine(" ..:: AragorN & aMêScAs :: .."); Console::WriteLine(" "); Console::WriteLine("Para voltar para o menu carregue no (ENTER)"); Console::ReadLine(); Console::Clear(); Menu(); } }; int main (array<System::String ^> ^args) { Console::WriteLine(" "); Console::WriteLine(" ..:: Bem-vindo a este simples programa ::.. "); Console::WriteLine(" "); Vector^ x=gcnew Vector(); x->Dimensoes(); x->Menu(); x->Carregar(); x->Visualizar(); x->Maior(); x->Pesquisar(); x->Ordenar(); } Só lhe falta ali é a execuçao "Exit", que nao sei como fazer... :dontgetit:
TheDark Posted November 9, 2006 at 12:35 AM Report #63093 Posted November 9, 2006 at 12:35 AM Estranho que não tenha funcionado como disseste antes. Copiei o teu código, acrescentei-lhe o case 7: exit(0); break; e funcionou bem, ou seja, quando escrevi 7, saiu do programa. Estás a usar o VS 2005? Desaparecido.
aMeScAS Posted November 9, 2006 at 01:12 AM Author Report #63100 Posted November 9, 2006 at 01:12 AM agora exprimentei esse codigo e funcionou... mas ele ao sair vai apenas sair do "x->Menu();" ... Se carregar 7, ele "limpa" ecrã e carregando enter ele faz a instruçao seguinte.. (que neste caso é o "x->Carregar();" ) int main (array<System::String ^> ^args) { Console::WriteLine(" "); Console::WriteLine(" ..:: Bem-vindo a este simples programa ::.. "); Console::WriteLine(" "); Vector^ x=gcnew Vector(); x->Dimensoes(); x->Menu(); x->Carregar(); x->Visualizar(); x->Maior(); x->Pesquisar(); x->Ordenar(); } Sim estou a usar VS 2005.... E agora que preciso mudar aqui? ? Edited: Bem nao sei o que fiz, mas já esta a funcionar... 😛🙂
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