Ir ao conteúdo
  • Cadastre-se

Main.cpp

Membro Pleno
  • Posts

    431
  • Cadastrado em

  • Última visita

Tudo que Main.cpp postou

  1. Como você quer aproveitar somente a parte numérica da string, e lançar cada parte separada por virgula numa posição de um array de inteiro então vai precisar eliminar os colchetes e as virgulas desnecessárias, tem que usar o método Split() do C# para isto e no final usar o método Parse junto com o método Trim() para conversão em array de inteiro. Foi assim que eu fiz, mas ainda há uma maneira até mais curta que esta, que seria filtrar sua string e separar os dígitos eliminando os colchetes e virgulas desnecessárias, e por fim usar o método Parse junto com o método Trim() para conversão. Faça mais algumas tentativas, e bem provável que consiga.
  2. O que você quer fazer é possível sim, acabei de fazer por aqui, estude o método Split() do C#, é bem provável que consiga.
  3. Uma opção bem recomendada para seu caso, que é iniciante em C, seria estudar os operadores bit a bit. Até criei um exemplo de codificação e decodificação de arquivos em C, há alguns anos atrás, e se lembro bem só utilizei o "~" (NOT ou Complemento de 1), para codificar e decodificar os dados do arquivo. Perceba que isto é totalmente didático, existem métodos profissionais que são extremamente avançado, Mas por enquanto acho que isto já lhe ajuda. Segue o link abaixo como exemplo, mas não se prenda a isto, procure entender como funciona e depois crie sua própria versão. Não vou entrar em detalhes do funcionamento porque estou sem programar a alguns meses, e já estou pensando em retornar por onde parei.
  4. Isto é bem simples de fazer, aliás, o C# é uma linguagem poderosa, tem mercado, e é de fácil aprendizado. 1 - Crie um projeto de console em C# no Visual studio, e dê um nome qualquer, mas procure um nome sugestivo, e não use acentos por favor. 2 - Crie um arquivo chamado: Class_arq_extern.cs e cole o código abaixo dentro dele. //Classe de outro arquivo using System; namespace Class_arq_extern { public class Classe_arquivo { public void Ola ( ) { Console.WriteLine ( "Olá futuro programador de C#" ); } } } 3 - No nó do projeto, clique em adicionar um item existente, procure e adicione o arquivo Class_arq_extern.cs que você criou. No meu projeto, o arquivo principal Program.cs ficou assim, veja abaixo: using System; //Abaixo o namespace do outro arquivo using Class_arq_extern; namespace classe_de_outro_arquivo { internal class Program { static void Main(string[] args) { //Abaixo instanciamos a classe do outro arquivo Classe_arquivo cl = new Classe_arquivo(); //Abaixo chamamos a função da classe do outro arquivo cl.Ola(); Console.ReadKey(); } } }
  5. Se você quer que ele feche automaticamente, no final dos 5 segundos, basta adicionar um evento OnShow ficaria assim: private void Form1_Shown ( object sender, EventArgs e ) { Form2 form2 = new Form2 ( ); System.Threading.Thread.Sleep ( 5000 );//No Form this.Hide ( ); form2.Show ( ); } Ou se você quiser abrir um novo form pelo click de um botão, fechando o primeiro, é a mesma coisa, eu fiz sempre assim, nunca adicionei eventos OnTimer só pra isto: private void button1Click ( object sender, EventArgs e){ Form2 form2 = new Form2 ( ); System.Threading.Thread.Sleep ( 5000 );//No Form this.Hide ( ); form2.Show ( ); //Opcional //this.button1.Text = "OK"; //MessageBox.Show(button1.Text); } No form2, para voltar pro Form1: private void button1_Click ( object sender, EventArgs e ) { Form1 form1 = new Form1 ( ); this.Hide ( ); form1.Show ( ); } Muito fácil, mas uso .Net de preferência com C++, dei uma paradinha num projeto, e já estou voltando.
  6. Você já tentou fazer isto, tem alguma coisa codificado?
  7. Main.cpp

    C Erro ftoa não definido

    Este código compila facilmente no Visual studio.
  8. Eu nunca imaginei que algum dia alguém fosse precisar de um botão, que não registrasse que foi acionado. Porque a ideia física de um botão é de ligar ou desligar lâmpadas, motores, aparelhos diversos... Mas Talvez você esteja querendo aproveitar somente o formato do botão com sua legenda, se for isto basta declarar o botão, e não registrar seu evento, e posicione-o no local desejado, se não for isto queira me desculpar, eu não entendi o que você realmente deseja.
  9. O jeito mais fácil de conseguir ajuda é olhando a documentação do Unity, lá é possível encontrar exemplos de detector de colisão. De qualquer forma posta o seu código pode ser que apareça algum programador com experiências em Unity C# para te ajudar.
  10. Muito bom, não sabia que tinha todo este potencial! Parabéns!!
  11. A alguns meses atrás postei um gerador e um verificador de cpf, se quiserem dar uma olhada fiquem a vontade, em breve vou criar uma versão no C++ Builder.
  12. Muito obrigado pelo alerta do erro. Corrigi o código dentro de minha lógica, inseri também como teste um arquivo de texto contendo 100 números embaralhados, e o programa funcionou perfeitamente. Sobre os vários loops, quero que entenda que programei com minha cabeça, se você fez isto com apenas dois, meus parabéns, na verdade nem tinha testado o programa totalmente, e com os poucos números entre 1 e 9 que testei funcionou corretamente, mas depois que você me disse que tinha erro, fui verificar e realmente tinha. Parabéns pela força que tem dado aos iniciantes aqui do forum, e acho que deveria preparar um material de estudo, quem sabe um ebook, ou um livro e colocar a disposição de possa interessar, isto é só uma sugestão.
  13. Isto é muito fácil de fazer, acho que por isto que o pessoal não quis responder até agora. Aqui vai um exemplo, escrito agora e testado poucas vezes, por aqui funcionou: //Pesquisa um número em vetor e mostra //a quantidade de ocorrências #include <stdio.h> #include <conio.h> #define TAM 100 int main ( void ) { int a = 0, b = 0, num, i, pesq, vt [ TAM ]; printf ( "Precisa inserir quantos números? : " ); scanf ( "%d", &num ); for ( i = 0; i < num; i++ ) { printf ( "Insira o %dº: ", i + 1 ); scanf ( "%d", &vt [ i ] ); } printf ( "\n\nInsira um número para procurar no vetor : " ); scanf ( "%d", &pesq ); fflush ( stdin ); for ( i = 0; i < num; i++ ) if ( pesq == vt [ i ] ){ a++; b = 1; } if ( b == 1 ) printf ( "\nO número %d ocorre %d vezes no vetor", pesq, a ); else printf ( "\nO número %d não ocorre no vetor", pesq ); getche ( ); return 0; }
  14. Abri o eclipse e criei este exemplo falta achar as médias, para isto basta somar os elementos do vetor e dividir pelo total de elementos inseridos. Não testei isto direito mas acho que está funcionando. //Pesquisa em vetor e mostra o maior e menor número //Mostra a posição onde se encontra #include <stdio.h> #include <conio.h> #define TAM 100 int main ( void ) { int num, i, vt [ TAM ]; int maior, menor; printf ( "Precisa inserir quantos números? : " ); scanf ( "%d", &num ); for ( i = 0; i < num; i++ ) { printf ( "Insira o %dº: ", i + 1 ); scanf ( "%d", &vt [ i ] ); } maior = vt [ 0 ]; for ( i = 1; i < num; i++ ) { if ( vt [ i ] > maior ) maior = vt [ i ]; } printf ( "\nO maior número é ==> %d ", maior ); getche ( ); for ( i = 0; i < num && vt [ i ] != maior; i++ ) ; printf ( "\n" ); if ( maior > num ) printf ( "%d está na posição %d de vetor\n", maior, i ); else printf ( "%d não pertence ao vetor\n", maior ); menor = vt [ 0 ]; for ( i = 1; i < num; i++ ) { if ( vt [ i ] < menor ) menor = vt [ i ]; } printf ( "\nO menor número é ==> %d ", menor ); getche ( ); for ( i = 0; i < num && vt [ i ] != menor; i++ ) ; printf ( "\n" ); if ( i < num ) printf ( "%d está na posição %d do vetor\n", menor, i ); else printf ( "%d não pertence ao vetor\n", menor ); getche ( ); return 0; }
  15. Por algum tempo usei o JavaFx, e me dei muto bem, me deixava bastante satisfeito com os resultados, mas tinha que fazer tudo na mão, porque não tinha uma IDE competente que fizesse isto pra mim, me permitir arrastar e soltar os componentes no form, O Scene Buider é péssimo, limitado e cheio de bugs, descartei-o logo de cara, o swing na minha opinião era e ainda é horrível, janelas feias, não vejo nível profissional nisto. Apesar de me sentir realizado com o JavaFx, tinha que me conformar com um código enorme no final, que espantava a todos que via, fui chamado até de programador de outro mundo, ou de (Zé Roela) por estar usando uma biblioteca java sem futuro, descontinuada, e abandonada pelos apoiadores de nome, só eu sei quantas pedradas levei dos membros dos grupos onde postei. Então, como já conhecia o Qt e o C++ Builder, e por ter iniciado no mundo da programação em C, e depois C++, passei a utilizá-los. E respondendo sua pergunta ( Por acaso, quando vocês querem criar uma interface bonita tipo aquelas de antivirus , cheias de efeitinhos ou mesmo só um form em c++ , o que vocês usam? ) Eu uso de preferência o Embarcadero, mas para estes perfuminhos que tanto te agrada se faz melhor usando o Qt, justamente por te dar as possibilidades de mesclar teu código em C++ com CSS e HTML. Gosto do Visual studio para C# mas para C++ ele deixa a desejar, tente criar uma interface gráfica em C++ nele e se decepicione, com códigos mesclados em C#, que absurdo tudo para eles é C#, e eu sei como você também sabe que nem eles usam o C# para criarem seu melhores programas. Também concordo com isto que você disse: ( eu me recuso por birra mesmo ter que fazer a interface de um programa em pleno 2020 na unha ) É isto que tento passar nos posts que crio, abandonei logo no começo algumas bibliotecas feitas em C ou C++ porque percebi que eram bibliotecas cheias de bugs, desatualizadas, abandonadas até por seus criadores. Noto que por aqui temos programadores incríveis mas são quase todos programadores de Console Application, Eu paro de programar se tiver que continuar usando o Console, não aguento mais isto temos que evoluir, ou tentar nos atualizar, não importa a idade que temos no momento, se nos sentimos capazes vamos em frente, vamos a luta, bom meu otimismo talvez seja porque não uso programação como profissão mas sim como Hobby, não tenho tempo determinado para entregar um programa, e só faço se eu quiser ou me sentir motivado. Estas são minhas opiniões e ninguém é obrigado a concordar comigo, e nem quero debater isto porque já me envolvi em muitas polêmicas e não estou a fim de me meter em outras.
  16. Se for só para embaralhar uma string aqui vai um exemplo: https://codigosfontes-ccplus-plus.blogspot.com/2014/03/gerando-imprimindo-e-embaralhando-matriz.html
  17. Vou criar um post, depois você implementa no seu programa. Entenda que não foi eu que criei o merge sort, quem dera, somos nada, apenas utilizamos em nossos programas, aproveite e veja a parte teórica do merge sort, vantagem e desvantagens.
  18. Aqui vai um exemplo de quick sort implementado no código do autor do tópico, já havia passado um exemplo mas ele não aceitou, talvez por achar complicado. //Ordenação com quick sort #include <stdio.h> #include <conio.h> #include <stdlib.h> #define TAM 100 void Quick_Sort ( int vetor [ TAM ], int ini, int fim ) { int temp, men, mar; int aux, met; men = ini; mar = fim; met = ( int ) ( ( men + mar ) / 2 ); temp = vetor [ met ]; do { while ( vetor [ men ] < temp ) men = men + 1; while ( vetor [ mar ] > temp ) mar = mar - 1; if ( men <= mar ) { aux = vetor [ men ]; vetor [ men ] = vetor [ mar ]; vetor [ mar ] = aux; men = men + 1; mar = mar - 1; } } while ( mar > men ); if ( ini < mar ) Quick_Sort ( vetor, ini, mar ); if ( men < fim ) Quick_Sort ( vetor, men, fim ); } int main ( ) { int i, tm; int *A; printf ( "Digite o tamanho da entrada : " ); scanf ( "%d", &tm ); A = ( int* ) malloc ( sizeof ( int ) * TAM ); printf ( "Digite os numeros:\n" ); for ( i = 1; i <= tm; i++ ) { scanf ( "%d", &A [ i ] ); } printf ( "\n" ); Quick_Sort ( A, 1, tm + 1 ); printf ( "numeros ordenados crescente :\n" ); for ( i = 1; i < tm + 1; i++ ) { printf ( " %d", A [ i ] ); } printf ( "\n\n" ); getche ( ); return 0; } adicionado 43 minutos depois Só queria deixar claro uma coisa. Por mais que agente altere os nomes das variáveis, num código de ordenação, como este mesmo quick sort, que é tido como um dos mais produtivo no que faz, isto não quer dizer que somos os donos do código, as alterações dos nomes das variáveis ou algumas meras modificações no código original só satisfaz nossos gosto ou otimiza de acordo com o sistema usado. A história do quick sort é impressionante e foi desenvolvido em 1960 pelo cientista da computação britânico Charles Antony Richard Hoare, também conhecido como Tony Hoare ou C. A. R. Mas só após uma série de refinamentos o algoritmo foi publicado em 1962. Aqui está um link falando sobre o quick sort, mas com certeza deve existir dezenas sobre o mesmo assunto publicado na internet. http://www.dsc.ufcg.edu.br/~pet/jornal/abril2013/materias/historia_da_computacao.html
  19. Tem certeza que este código está ordenando? numa entrada de 10, digite a seguinte sequência: 9081726354 Uma outra coisa, se não estou enganado isto está parecendo um bubble sort. Vou procurar um exemplo por aqui de um quick sort.
  20. você cometeu outros erros bobos. com alguns concertos seu código ficou assim: "Now it is in your care" #include <stdio.h> #include <stdlib.h> #include <time.h> #define TAM 100 void preenche_aleatorio ( int *A, int n ) { int i; srand ( time ( NULL ) ); for ( i = 0; i < n; i++ ) { A [ i ] = rand ( ) % n; printf ( "%d\n", A [ i ] ); } } void preenche_crescente ( int *A, int n ) { int i; for ( i = 0; i < n; i++ ) { A [ i ] = i; printf ( "%d\n", A [ i ] ); } } void preenche_decrescente ( int *A, int n ) { int i; for ( i = 0; i < n; i++ ) { A [ i ] = n - i; printf ( "%d\n", A [ i ] ); } } void insertion ( int *A, int n ) { int chave = 0; int i, j = 0; for ( i = 1; i < n; i++ ) { chave = A [ i ]; j = i - 1; while ( j >= 0 && A [ j ] > chave ) { A [ j + 1 ] = A [ j ]; j = j - 1; } } A [ j + 1 ] = chave; } int main ( ) { int i, n, op; int* A; A = ( int* ) malloc ( TAM * sizeof ( int ) ); clock_t ti; clock_t tf; double segundos; do { printf ( "\n *****************MENU DE opções DO TEMPO POR CICLO INSERT SORT********************\n" ); printf ( "\n" ); printf ( "1-Preencher numeros aleatorio:\n" ); printf ( "2-Preencher numeros Crescente:\n" ); printf ( "3-Preencher numeros Decrescente:\n" ); printf ( "4-Sair:\n" ); printf ( "\n" ); printf ( "***Escolha o tipo de entrada:***\n" ); scanf ( "%d", &op ); if ( op != 4 ) { printf ( "Digite o tamanho da entrada:\n" ); scanf ( "%d", &n ); //A = ( int* ) malloc ( sizeof ( int ) * n ); } switch ( op ) { case 1: printf ( "1-Preencher numeros aleatorio:\n" ); preenche_aleatorio ( A, n ); ti = clock ( ); insertion ( A, n ); tf = clock ( ) - ti; segundos = ( ( double ) tf ) / CLOCKS_PER_SEC; for ( i = 0; i <= n - 1; i++ ) { printf ( "%d -", A [ i ] ); } printf ( "\n" ); printf ( "\nForam necessarios %d ciclos de clock (%lf segundos)", tf, segundos ); break; case 2: printf ( "2-Preencher numeros Crescente:\n" ); preenche_crescente ( A, n ); ti = clock ( ); insertion ( A, n ); tf = clock ( ) - ti; segundos = ( ( double ) tf ) / CLOCKS_PER_SEC; for ( i = 0; i <= n - 1; i++ ) { printf ( "%d -", A [ i ] ); } printf ( "\n" ); printf ( "\nForam necessarios %d ciclos de clock (%lf segundos)", tf, segundos ); break; case 3: printf ( "3-Preencher numeros Decrescente:\n" ); preenche_decrescente ( A, n ); ti = clock ( ); insertion ( A, n ); tf = clock ( ) - ti; segundos = ( ( double ) tf ) / CLOCKS_PER_SEC; for ( i = 0; i < n; i++ ) { printf ( "%d -", A [ i ] ); printf ( "\n" ); } printf ( "\n" ); printf ( "\n\tForam necessarios %d ciclos de clock (%lf segundos)", tf, segundos ); break; default: break; } } while ( op != 4 ); free ( A ); return 0; }
  21. #include <stdio.h> #include <conio.h> int main ( ) { int i; //char VERSAO[] = {4, 1 , 5}; int VERSAO [ ] = { 4, 1 , 5 }; char txt [ 12 ]; sprintf ( txt, "%u" "." "%u" "." "%u" , VERSAO [ 0 ], VERSAO [ 1 ], VERSAO [ 2 ] ); printf ( "%s", txt ); /*=================================*/ //Otimizado printf ( "\n\n"); for ( i = 0; i < 3; i++ ) { sprintf ( txt, "%3d", VERSAO [ i ] ); printf ( "%s", txt ); } getche ( ); return ( 0 ); }
  22. Há alguns anos atrás criei um programinha para estes cálculos, hoje nem lembro mais a fórmula de bhaskara, tá postado quiserem testar e me dar um retorno agradeço, quero implementá-lo numa janela gráfica. #include <stdio.h> #include <conio.h> #include <math.h> int main ( ) { float a, b, c, d, x_1, x_2; printf ( "\nQuaql é o valor de A: " ); scanf ( "%f", &a ); if ( a != 0 ) { printf ( "Quaql é o valor de B: " ); scanf ( "%f", &b ); printf ( "Quaql é o valor de C: " ); scanf ( "%f", &c ); d = ( b * b ) - 4 * a * c; if ( d > 0 ) { x_1 = ( -b + sqrt ( d ) ) / ( 2 * a ); x_2 = ( -b - sqrt ( d ) ) / ( 2 * a ); printf ( "\nAs raízes para x_1 são X_1 => %.2f", x_1 ); printf ( "\nAs raízes para x_2 são X_2 => %.2f", x_2 ); } else { printf ( "\nImpossível calcular" ); } } else { printf ( "\nValor de Delta está errado" ); } getche ( ); }
  23. Reinventar a roda? A minha opinião e sugestão, é que você ingresse de vez na orintação a onjetos utilizando o C++ Builder, tudo o que você sabe em C ou C++ você continuará usando, só vai aprender mesmo a parte gráfica que não é nada difícil. Vi seu post agora pouco e rapidamente fiz este exemplo da imagem para você ver, mas isto não é nada perto do que se pode fazer usando uma IDE como esta. Se não gostou, queira me desculpar.
  24. Agora eu concordo com o que você escreveu: Toda a lógica pode ser criada em C, mas a interface sempre será em C++, o que na minha opinião ainda é mil vezes melhor que esta biblioteca GTK, ou outras que tem por aí, e que já testei, e que só servem para dar dor de cabeças em quem tentar usá-las. O C não é orientado a objetos, e querer criar janelas com C puro é querer ter problemas. Ainda tem o C++Builder que pode ser usado, mas ainda prefiro o Qt creator.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...