
Marcelo Utikawa da Fonseca
Membros-
Total de itens
297 -
Registro em
-
Última visita
Tudo que Marcelo Utikawa da Fonseca postou
-
Algoritmo de conversão metros para pés e polegadas
pergunta respondeu ao woogie de Marcelo Utikawa da Fonseca em C, C++
Seguem meus comentários: 1) Ao invés de usar o #define para pes e polegadas, eu usaria const. fica mais fácil de entender o programa no meu ponto de vista. Além disso eu usaria outro nome, indicando ser o fator de conversão de centímetros para pés, por exemplo. 2) Como dito acima, o main SEMPRE é do tipo int. isso é o que a função main retorna, ou seja, o retorno do programa ao SO. Não misture isso com os dados utilizados pelo seu software. 3) Variáveis float armazenam números com ponto flutuante, ou seja, números com casas decimais. int são para números inteiros, sem a parte decimal. Assim pes deve ser float também. 4) scanf serve para ler um valor do usuário e printf enviar um texto para o console. No código abaixo: centimetro = metro * 100; scanf ("%f", centimetro); você primeiro atribui um valor para a variável centímetro e depois lê um valor do usuário e salva em centimetro, ou seja, o valor anterior foi apagado. Se quisesse exibir este valor, troque scanf por printf 5) scanf precisa do operador & antes da variável pois a função precisa do endereço de memória onde vai salvar o valor. printf não usa o & pois precisa apenas do valor que será exibido. Acho que isso já ajuda! -
Reconhecer %userprofiles% do windows
pergunta respondeu ao Intruso de Marcelo Utikawa da Fonseca em C, C++
Cara, está confuso isso aí! Como assim editar manualmente? E %USERPROFILES% não é comando de C++. Explique melhor o que pretende e mande algum código para o pessoal te ajudar, erros de compilação, etc. -
Como operar com os meses do sistema
pergunta respondeu ao Luks2 de Marcelo Utikawa da Fonseca em C, C++
Bem, como eu acho que a dúvida seria em C/C++, pode usar a função gmtime: http://www.cplusplus.com/reference/clibrary/ctime/gmtime/ -
(Resolvido) Interfaces gráficas para programas em C/C++
pergunta respondeu ao wilsonguns de Marcelo Utikawa da Fonseca em C, C++
Pelo que entendi não é a interface gráfica que você quer criar, mas sim um aplicativo que tem janelas e etc. O servidor gráfico é o programa que dá suporte a desenhar na tela em modo gráfico. Normalmente são programas pequenos que apenas configuram a placa de vídeo, lêem os dispositivos de entrada (teclado, mouse, touchscreen, etc) e disponibilizam algumas funções de desenho na tela como fazer retângulos, linhas, etc. Depois tem a GUI (Graphical User Interface) que é a interface com o usuário. É o programa que gerencia os programas abertos, que coloca as bordas nas janelas com os botões de maximizar, fechar, desenha os objetos e janelas na tela. A seguir a última camada seria o aplicativo como o photoshop, o word. Esses são os programas que rodam sobre a interface gráfica e que usam os objetos criados pela GUI como botões, caixas de texto, etc. Portanto você quer criar um aplicativo mas que tenha uma interface diferenciada, não a que é padrão da interface gráfica... Nesse caso acho que o que foi dito pelo Mnemonic já está perfeito! :-) -
(Resolvido) Interfaces gráficas para programas em C/C++
pergunta respondeu ao wilsonguns de Marcelo Utikawa da Fonseca em C, C++
Pelo que eu entendi você quer criar a interface gráfica e não fazer um programa para o windows, por exemplo, correto? Nesse caso é preciso usar uma biblioteca gráfica como svgalib ou mesmo opengl se quiser algo a mais... Explique exatamente o que você quer fazer que será possível responder melhor! -
Programa para se conectar à internet
pergunta respondeu ao djfarinha de Marcelo Utikawa da Fonseca em C, C++
Realmente o que parece simples à primeira vista pode ser bem mais complicado do que você imagina. Tente primeiro algo mais simples e depois evolua. Fazer algo muito complexo logo de cara pode ser frustrante! Para começar, pesquise sobre sockets. Ele é a base de qualquer comunicação via rede. Boa sorte! -
Ler linha específica de um txt
pergunta respondeu ao edipoter31 de Marcelo Utikawa da Fonseca em C, C++
Você procurou mas pelo jeito de modo incorreto! Lembre-se sempre: o principal é a pergunta, não a resposta... Uma pergunta bem feita normalmente gera respostas ainda melhores! :rolleyes: o que você precisa é usar funções de manipulação de arquivo, como a fgets. Olhe o seguinte link: http://www.cplusplus.com/reference/clibrary/cstdio/fgets/ Qualquer dúvida é só avisar... -
no caso do sizeof, você pode passar como parâmetro tanto o tipo diretamente como uma variável daquele tipo. Porém o sizeof de um ponteiro irá retornar o tamanho que o ponteiro ocupa na memória (um int) e não o tamanho do dado que ele aponta, talvez isso que te confunda...
-
Alocação dinâmica de funçôes em C++
pergunta respondeu ao Castro de Marcelo Utikawa da Fonseca em C, C++
Vamos tirar as dúvidas uma de cada vez. 1) Alocação de memória é exclusivamente para dados. Uma função não pode ser alocada. Ela não ocupa memória propriamente mas sim o código dela. Não importa quantas vezes ela é chamada, não usará mais memória para isso... 2) Função membro é uma função que pertence a uma classe e portanto somente instâncias da classe ou derivadas podem acessá-la. 3) No seu código já está a resposta para o item c. os operadores new e delete são usados no lugar de malloc e free, respectivamente. 4) o comando new aloca memória no tamanho do tipo solicitado. assim o new precisa receber um tipo e não o retorno de uma função. Assim o correto seria como foi citado pelo Durub. 5) Como também foi dito, cuidado pois existe diferenciação entre maiúsculas e minúsculas em linguagem C/C++. 6) A linha que ocorreu o erro nem sempre é onde o problema está mas sim onde ele apareceu. Veja o código: void loop(void) { for(i=0; i<10; i++) { if(i == 0) { printf("Primeira passagem\n"); printf("Estou em %d\n", i); } printf("saindo...\n"); } int soma(int a, int b) { return a+b; } No código acima o if ficou sem a chave de fechamento. Nesse caso o erro vai acontecer na linha que a função soma é declarada mas a função não tem nenhum erro. O compilador apenas achou que a outra função não tinha terminado! Assim o compilador pensou que você criou uma função antes de terminar a outra. Ou seja: nem a linha nem a mensagem de erro indicam o problema, você terá que analisar o código para saber o que aconteceu. 7) A declaração: Minhaclasse::float dividir ( float divideno, float divisor); // função não membro { corpo.... } está incorreta. O operador de escopo :: indica a quem a função pertence e portanto deve estar antes do nome da função e não do tipo. Além do mais não pode ter o ; no final pois não é o protótipo da função mas sim a função propriamente: float Minhaclasse::dividir ( float divideno, float divisor) // função não membro { corpo.... } Mas se dividir não é membro então ela tem que ser declarada sem o operador de escopo: float dividir ( float divideno, float divisor) // função não membro { corpo.... } Acho que é isso, qualquer dúvida é só falar... -
Excluir arquivo oculto (em C)
pergunta respondeu ao Rodrigo C. de Marcelo Utikawa da Fonseca em C, C++
Me desculpe, eu me confundi. Esta função é da stdio mesmo, não uma função desenvolvida por você... :) O problema está no nome do arquivo. Dentro de uma string o caracter seguido por \ é considerado um caracter especial como é o \n ou \t. Para inserir uma \ na string ela deve ser digitada dobrada. Assim o nome do arquivo deve ser ":\\music.lib" -
Excluir arquivo oculto (em C)
pergunta respondeu ao Rodrigo C. de Marcelo Utikawa da Fonseca em C, C++
O seu problema está na função remove. Coloque o código dela para vermos o que está errado. -
Palindromos com bases 2 ate 32
pergunta respondeu ao JamesBond de Marcelo Utikawa da Fonseca em C, C++
Então... você não precisava usar o i no lugar de n. Você pode usar i no lugar de vet[n]! E se você só colocasse o igual a comparação iniciaria em 0 mas deve iniciar em 1... ;) Para resolver o problema: após você criar os números nas bases corretas você deve inverter os dígitos e verificar se o número invertido é igual ao original. O problema é que você tem que salvar os dígitos de alguma forma pois você não conseguirá trabalhar em todas estas bases diretamente. Assim no seu caso eu criaria um vetor onde cada posição conterá um dígito. Você entendeu o que eu tentei explicar??? :) -
Palindromos com bases 2 ate 32
pergunta respondeu ao JamesBond de Marcelo Utikawa da Fonseca em C, C++
Abaixo comento o seu código mas inicialmente o que eu vou comentar é: tente nomear as variáveis de forma a se entender para que elas servem. Além de facilitar para que outras pessoas entendam seu código ainda ajuda a você mesmo quando precisar fazer manutenção no código. Agora meus comentários: 1) O seu vetor vet é carregado com números de 0 a 49 nos índices respectivos de 0 a 49. Assim ele se torna desnecessário, poderia ser usado o próprio i no lugar de vet. 2) Pelo enunciado deveriam ser testados os números entre 1 e 50 mas da forma como está sendo feito está usando os números entre 0 e 49. O seu for deveria ficar assim: for (i=1; i<=TAM; i++) { 3) Pelo que eu entendi o seu primeiro for com o j como contador calcula o número atual na base j e salva em a[j], correto? 4) O segundo for verifica efetivamente se o número é um palíndromo, correto? Se o que eu entendi do código está correto o problema do seu código é que você está comparando os números entre as bases quando você deve comparar cada dígito do número na base atual. Me explique se é isso mesmo que eu disse para dar para elaborar um algoritmo que funcione... :) -
O que você diz em não pegar? Não é executada? Você precisa avaliar as condições necessárias para que chegue nesta linha. No caso a condição que diz se o programa executa este trecho é o for até quant. Este trecho está sendo executado? Um erro que tem no seu programa mas que não seria o motivo é o trecho: scanf ("%s", &condicao); if (condicao=0) condicao é um char porém você fala para o scanf ler uma string, ou seja, um vetor de char. O correto seria o scanf ler um char mesmo com o "%c". Outra coisa: se você quer ver se foi digitado zero pelo usuário a comparação deve ser com o caracter zero e não com o valor zero. Assim este trecho deveria ser: scanf ("%c", &condicao); if (condicao=='0') Note ainda que comparação deve ser com dois sinais de igual. Um único sinal é para atribuição de valores e não comparação.
-
Você deve ter um ponteiro que vai sendo checado e sempre sendo recarregado pela referência ao próximo item da lista. Como está o seu código? Coloque ele aqui para vermos o que está errado!
-
Este programa não é difícil, o próprio enunciado já ensina como deve ser feito o programa. Tente desenvolver e mande o código aqui que nós te ajudamos a arrumar o que estiver errado... :)
-
Referência da função PlaySound no MSDN: http://msdn.microsoft.com/en-us/library/ms712879.aspx Lembre-se que a string com o nome do arquivo deve possuir barras duplas. Veja o exemplo: "c:\\windows\\media\\sound.wav" Se as barras não forem duplas seria interpretado como um caracter especial assim como é o \n ou \t.
-
Mas o que isso tem a ver com linguagem C? Explique melhor o que você precisa...
-
Retorno do comando ping no c++?
pergunta respondeu ao Raphael Riscado de Marcelo Utikawa da Fonseca em C, C++
Alguns links: http://www.vivaolinux.com.br/comunidades/v...mp;codtopico=24 http://www.geek.com.br/modules/secoes/ver....=232&sec=62 Existe uma lib para fazer ping. Ela é chamada de libping e pode ser encontrada em http://directory.fsf.org/project/libping/ Existe no site do vivaolinux um texto sobre ela mas o link estava errado, use o que está acima. O texot pode ser acessado em http://www.vivaolinux.com.br/dicas/verDica.php?codigo=2290 -
Duvida em pesquisa de vetor
pergunta respondeu ao †™MenoR¥RoX™† de Marcelo Utikawa da Fonseca em C, C++
Mas quando o i for 20 nem vai entrar no segundo for e portanto não acontece nada! O valor poderia ser 20 que o programa faria a mesma coisa... :) -
(Resolvido) n° randomico
pergunta respondeu ao André Ximenes de Marcelo Utikawa da Fonseca em C, C++
Mas toda vez que seu programa inicia o resultado é o mesmo? Pelo que eu havia entendido isso não era problema. O único fator que influencia nageração de números aleatórios é a semente de inicialização porém é normal que seja usado o time(NULL) como semente. Caso você não utilize float, o que acontece? Quais os números que o rand estás retornando antes de qualquer conversão? Outra coisa: se apenas está variando na terceira casa decimal você pode tentar gerar como o código abaixo: srand(time(NULL)); float val=100.0*((float)(rand())/RAND_MAX); val = val - (int)(val); // remove a parte inteira, sobrando apenas os digitos decimais printf("%f",val); com o código acima seus números seriam: OUTPUT: 1° RUN-0.6657 2° RUN-0.8946 3° RUN-0.3432 Com o código apenas estamos contornando o problema, o ideal é identificar o que está causando isso... -
Retorno do comando ping no c++?
pergunta respondeu ao Raphael Riscado de Marcelo Utikawa da Fonseca em C, C++
O problema com isso é quea saída do ping não é retornada pelo programa mas sim enviada para a tela (stdout). Você pode direcionar a saída do comando ping para o seu programa e assim interpretar os dados recebidos. Acontece que seu código ficará muito complexo pois terá que "ler" a saída do comando ping. Se fosse em linux dava para fazer um shell script para isso, não sei se é o caso. Porém se eu fosse fazer este software eu faria meu próprio ping utilizando sockets. Procure na internet sobre isto caso não conhecer pois existe bastante coisa, inclusive códigos prontos e bem explicados em sites como o www.vivaolinux.com.br -
Existe a função sound que recebe a frequência e duração do som. É então gerado o áudio no speaker do PC. Caso quera tocar uma música, por exemplo, existem várias libs... Procure por programação de jogos que você achará muita coisa! Uma biblioteca que é livre para uso não-comercial e considerada uma das melhores é a FMOD: www.fmod.org
-
Duvida em pesquisa de vetor
pergunta respondeu ao †™MenoR¥RoX™† de Marcelo Utikawa da Fonseca em C, C++
O define você pode colocar em qualquer lugar porém ele somente será válido após a declaração. Assim ele normalmente é colocado logo no início, antes de qualquer código. Outra coisa: seu vetor tem 20 posições mas tem um for que vai até 21. Lembre-se que um vetor de 20 posições terá como índices válidos os números entre 0 e 19. Acessando além do vetor não é checado pelo compilador e pode causar sérios problemas! No seu caso só não há problema pois quando o i for 20 não entrará no segundo for. Tome sempre cuidado com isso pois este é um dos erros mais comuns e mais difíceis de serem identificados. Outra coisa que eu percebi é que você utiliza a comparação i<20 em todo o programa e no while é utilizado i<=19. Não há problema algum com isso mas utilizar várias formas de comparação diferentes durante o código pode confundir... -
exercicio em C usando "switch"
pergunta respondeu ao DaNi_Surfer de Marcelo Utikawa da Fonseca em C, C++
Tudo que deve repetir deve ficar dentro do loop! Assim desde o primeiro printf que exibe o menu deve estar lá dentro. E como foi dito: como não foi digitado nada ainda o ideal é mesmo usar um do-while. Quando ao switch: após o break o programa sai do switch então qualquer coisa que estiver a seguir nunca será executado! Ou remova este código ou então coloque-o antes do break.