Ir ao conteúdo

Ansi C

Membro Pleno
  • Posts

    3.284
  • Cadastrado em

  • Última visita

Tudo que Ansi C postou

  1. Ansi C

    C playlist em linguagem c

    Oi! Esse não programa típico de inciantes Basicamente são matrizes que, sem pensar muito, diria que se relacionam através dos índices, e não há menção de mais nada (ou não percebi). Quais os assuntos (exceto o IDE FALCON) foram apresentados para responder esse problema?
  2. Ah!!! Uma página do calibre da Wikipedia tem seus revisores de conteúdo, eles sabem qual é a fonte definitiva. Repito se discorda de algo que está escrito no artigo então encaminhe uma revisão, se puder. Contra-exemplo/??? A uma estrutura com bom nome, e outra (segunda) com nome RUIM, que em nada tem a ver com uso da palavra struct. Se o enunciado do exercício pede explicitamente que use typedef então usamos, senão é facultativo usa quem quiser pelas razões quaisquer que sejam: mas torna o código mais legível retirando struct não é uma delas. Com struct é assim: st_cad Sem struct é assim: Cadastro Se pensa que eu vou ensinar isso para adolescente ainda no fundamental? Porém, mais simples é porque simplifica a declaração, foi nessa parte que concordei. Eu poderia apenas ter criado a estrutura assim, struct Produto{ ... }; Mas prefiro com typedef em vez de usar novamente struct na declaração. Sem typedef seria struct Produto prod.
  3. kkkkkkkkkkkkkkkkkkk A segunda é ruim não devido à palavra-chave struct , mas sim por escolha ruim de identificador Não há diferença, além de ocultar coisa. Cadastro* unta_S( Cadastro* um, Cadastro* outro){ return NULL; } struct Cadastro* junta_XL(struct Cadastro* um, struct Cadastro* outro){ return NULL; } Concordo! Daí, digo... Enfim, sempre contemple o máximo de quesitos do enunciado. Ainda poderia escrever assim: typedef struct Produto { /**< Membro da _sproduto */ } SProduto; SProduto shampoo_johnson= {/*...*/}; Se me pendem para fazer eu faço de todas as formas que precisar. Mas prefiro com struct _sNome_da_estrutura. JAMAIS nomear assim: st_cad A menos que tenha uma motivação muito séria para economizar caracteres. Então é caso de você ir à página e editar com suas fontes? Seria bem mais significativo do que alertas. Por enquanto essa é mais uma fonte para informação do typedef. Se encontrou algum erro faça o favor de corrige-lo, afinal "qualquer pode escrever lá" Outra fonte typedef: https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#The-typedef-Statement
  4. Já escreveu seu primeiro "Hello World" em C# Form no Visual?
  5. Eu não tenho experiência com essa categoria de sistema, foi um exemplo que agora se nota equivocado quando quis exemplificar um computador tão limitado que economizar caracteres no código-fonte é uma justificativa razoável nessa situação hipotética de um disco pequeno. Na sua opinião, já eu penso que a escolha do identificador na "segunda opção" é que é RUIM st_cad é mais que ruim... é podre rsrsr. Tudo que preciso saber sobre o recurso tem aqui: https://en.wikipedia.org/wiki/Typedef Porque não querem usar, porque foi pedido para ser assim... porque estão acostumados... porque é uma cultural e dependendo da circunstância não há escolha. Estás esperando que digamos o quê? Isso não torna mais legível, só oculta algumas coisas.
  6. Concordo. Depois de tantas vezes escrevendo struct não diria que ler é irritante porque não tenho essa limitação, não torna o código menos legível porque as crianças entendem a declaração, e economizar caracteres no código-fonte é uma motivação bem específica, por exemplo: sistemas embarcados onde o disco é limitado. Numa situação de exercício e este é caso, usa-se typedef quando enunciado, senão simplesmente haja como mais preferir. struct _sproduto { /**< Membro da _sproduto */ }; struct _sproduto shampoo_johnson= {/*...*/}; Eu prefiro struct, mas se o enunciado pedir que oculte com typedef, eu faço. typedef struct { /**< Membro da _sproduto */ } _sproduto; _sproduto shampoo_johnson= {/*...*/}; Poderia também se me fosse pedido typedef struct { /**< Membro da _sproduto */ } SProduto; SProduto shampoo_johnson= {/*...*/}; Enfim, sempre contemple o máximo de quesitos do enunciado.
  7. A realidade de 95% dos que procura o setor precisando de ajuda. Ahh! Se fosse só com isso teríamos especialistas de 9 e 14 anos já no Ensino fundamental e médio. Vamos aguarda.
  8. Olá (todos) @Artivis Sob Estás uma semana (ou próximo disso) travado na lógica do programa em C++. Escrevi solução operando com recurso chamando find, uma função que procura (sub-strings ou caractere) na ‘string’ e retorna a posição da primeira ocorrência. Sabendo que os dados são ideias isso significa que todas as palavras são separas por único espaço. Se retorna a posição de um espaço na ‘string’, podemos presumir que posição seguinte é a primeira letra do nome seguinte. Daí, em seguida se buscar e retorna, novamente, uma posição de espaço então aquela letra que ficou na posição seguinte do espaço anteriormente será impressa: Maiúscula, com Ponto e espaço. Notou que a lógica está em “loop”/laço? O término desse “loop” acontece ao atingir o começo do último nome na “string”. Convenientemente, se buscar um espaço na ‘string’ próximo do último nome a função retorna valor identificador por npos . Isso significa que a última posição de espaço que retornou antes de npos é também posição que antecede a última palavra. Esperamos que consiga com as explicações.
  9. Olá (todos) Switch de ligação entre alimento e variável é redundante. Por quê? Notou-se que o código (dos alimentos) e a posição de variáveis (do vetor) são coincidentes. Consequentemente, o bloco de seleção é redundância porque "ligar os pontinhos" que foram convenientemente ligados. Ainda é possível alocar uma posição extra no vetor e com isso os índices correspondem aos códigos. _cliente__pedido[6]= {0}; /**< vetor de pedido para os alimentos de 1 a 5. */
  10. Na biblioteca string.h tem as funções destinadas à manipulação de strings, e a biblioteca stdio.h fornece as funções que nos permite lê-las. *Qual a dúvida e como podemos ajudar?
  11. Para adição o máximo necessário é 3 matrizes (2 parcelas, 1 resultado ou soma). Para melhor aprender os processos que envolve a operação sugiro que escrevamos o programa em 3 etapas: ENTRADA --- PROCESSO -- SAÍDA. *Qual a dúvida e como podemos ajudar?
  12. Obrigado também pela oportunidade de ajudar.
  13. Inicialize os contadores com valor 0. O operador condicional sugerido é com dois sinais de igual (ano == 0) esqueceu... porém seu objetivo está em suspender o loop se ano tem 0. Sabemos que em C senão é falso (0) é verdadeiro (diferente de 0). Logo bastaria escrever: while ( ano ) Não entendo o propósito desses dois laços juntos while e for. Escolha uma das lógicas porque juntas é redundância. Sim! Seu relacionamento lógico está certo.
  14. Defina uma variável que represente e guarde as ocorrências de cada ano. Sabendo que os anos vão de 2022 até 2026 precisaria de 5 variáveis. Além disso é preciso selecionar qual ano corresponde a qual variável, objetivando isso use IF-ELSE ou SWITCH. Conhece?
  15. Podemos descobrir com exemplos investigando o conteúdo nos arquivos de cabeçalho da biblioteca padrão. Você tem compilador instalado em seu computador? Vá no direito procure pelas pasta include e abra stdio.h Resumindo: Tem tudo que seu usuário pode/precisa para valer-se da biblioteca de funções, inclusive descrição das características e das funcionalidades. Fiz rapidinho um busca e encontrei esse tutorial, penso ser uma boa maneira para começar: https://profes.com.br/MarceloPastorino/blog/como-fazer-uma-biblioteca-em-c Outro em vídeo:
  16. Qual a dúvida e como podemos ajudar?
  17. Eu não compreendo o enunciado, ora temos números depois explica-se o mesmo usando a palavra letras. Diz que seu número é a chave K, o seu número é o nome do arquivo com 200 inteiros. VS Isso só confundiu. Qual o número/chave/nome do arquivo? Se supor que M foi gerada pelas iterações com K resultando em C Mi XOR K= Ci Para obter decodificação Ci faça o mesmo. Ci XOR K= Mi.
  18. Depende do conceito de retorno estabelecido, pois existem duas formas de retornar. O Retorno que se utiliza da palavra-chave return quando a função retorna para quem a chamou com valor. O Retorno com mudança de valor no parâmetro, nesse caso o parâmetro é um ponteiro. Contudo, como o contrato é igual então as lógicas colidiram, inevitavelmente, em muitos trabalhos. Basta ter variáveis de nomes diferentes onde puder e penso que é o suficiente.
  19. Sim, mas não é o que está sendo contratado para fazer, digo isso porque o enunciado é o seu contrato definitivo. Qual a dúvida com relação as funções?
  20. Isso mesmo devemos definir as funções específicas para cada campo e chama-las de dentro da int main. Preenchendo o vetor de 5 alunos construindo conforme os quesitos 1,2 do enunciado.
  21. Qual a dúvida e como podemos ajudar?
  22. É uma forma talvez de sugerir que calcule o maior dos 3 número porque os outros 2 fatoriais estão no caminho do maior fatorial. Suponha apenas para fim de exemplo que os tais números estão nas variáveis a, b, c e que não nos importa saber qual é o maior deles, vamos supor que o último a ter o fatorial exibido é o maior, simplesmente. Façamos o laço ter n repetições, de modo que n= a + b + c, mas, a cada fatorial é subtraído de n o número (a, b ou c) do qual o fatorial é exibido. Segue abaixo esboço disso tudo. Python 3 # Escrito Python 3, problemas envolvendo laços e estruturas de seleção com fatorial. import random a= random.randint(2,10) b= random.randint(2,10) c= random.randint(2,10) idx= 1 fat= 1 n= a+b+c while idx <= n: fat*= idx if in (): idx= 1+idx Basta completar. Faça testes e tenha cuidado com limites, pois o fatorial cresce muito rápido.
  23. Seu programa tem que responder uma pergunta/problema. Vejamos a pergunta Entenderíamos que existe um arquivo (em texto) formatado sobre 4 campos separados, fundamentalmente, por vírgula CÓDIGO(inteiro), TEMPO(inteiro), PRODUTO(inteiro), STATUS(inteiro) e uma linha desse arquivo tem este aspecto geral 010606,14,1,0 Respectivamente 010606,14,1,0 ~~~^~~ ^~ ^ ^ +---|--|-|------> CODIGO +--|-|------> TEMPO +-|------> PRODUTO +------> STATUS (do produto) A pergunta é: Determine a quantidade de ciclos de um produto escolhido pelo usuário, sabendo que um CICLO é a sucessão de 4 status (0, 1, 2, 3). Se não é isso, pelo menos dei um exercício @muh.prog
  24. entendi! Vou compilar aqui também. Não há problemas além da indentação de código. Faça mais testes e compartilha as falhas do código abaixo: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main( ){ setlocale(LC_ALL, "Portuguese"); FILE *fp= NULL; int duracao= 0; int i= 0; fp= fopen( "Maq1.log", "r" ); if (fp == NULL) { printf("Erro ao abrir arquivo."); return 1; } int menor1= 0, menor2= 0; if (2 > fscanf( fp, " %i%i", &menor1, &menor2 )) { puts( "Nao consegue ler 2 numeros." ); return 1; } //<--- Mensagem para alertar de uma falha que impediu if (menor1 > menor2) { duracao= menor1; menor1= menor2; menor2= duracao; } while (!feof(fp)) { fscanf(fp, " %i", &duracao); if (menor1 > duracao) { menor2= menor1; menor1= duracao; }else{ if(menor2 > duracao) { menor2= duracao; } } } printf("1. Menor valor: %d\n", menor1); printf("2. Menor valor: %d\n", menor2); fclose(fp); return 0; } No aguardo.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!