Ir ao conteúdo

Ansi C

Membro Pleno
  • Posts

    3.285
  • Cadastrado em

  • Última visita

  1. Ansi C

    C menu melhorado em C

    Boa noite! RÓTULOS GRÁFICOS Aquele menu é, supostamente, uma composição textual de 5 caracteres; (+), (-), ( | ) e espaços, parte é constante, ou seja, existe literalmente no código-fonte, e a outra parte se produz num laço (repetição) pela computação. Por exemplo, a tabela "Exibir a fila geral", nela há texto constante como titulo, bordas e os rótulos nas colunas. Uma exemplificação de texto: +-------------------------+ | Exibir fila geral | +-------------------------+ +--------+--------------------+---------+---------------------+---------------------+ | Fase | Nome | Idade | Profissão (grupo) | Comobirdade (1|0) | +--------+--------------------+---------+---------------------+---------------------+ Tudo isso é capaz de existir numa variável. Assim: C'11 12.4.0 #include <stdio.h> char *cabecalho_fila_geral = "+-------------------------+\n" "| Exibir fila geral |\n" "+-------------------------+\n" "\n" "+--------+--------------------+---------+---------------------+---------------------+\n" "| Fase | Nome | Idade | Profissão (grupo) | Comobirdade (1|0) |\n" "+--------+--------------------+---------+---------------------+---------------------+\n\n"; int exibir_fila_geral (void *tela); int main (void) { printf ("%s", cabecalho_fila_geral); /*^~~~ produz esse texto apontado no simulador de terminal */ } Todos os gráficos e rótulos, portanto, tabelas aparentemente, seguem o mesmo princípio que tetei elucidar. Se duvida disto, pergunte por favor. Você consegue construir essas strings (texto como valor) no código-fonte, num arquivo externo ou até mesmo na computação. A escolha é sua! Entendeu.
  2. @Dark_Yoshi Seja bem-vindo no fórum CdH! Bom Dia! Habilite todos os alerta no compilador, em seguida, experimente compilar tua programação, por último escute todos os alerta (se houver). O Jogo Essa tua expressão inspira a brinca “tá quente ou tá frio”? Uma variação dessa atividade dos jogos infantis consiste na orientação por meio de 2 palavras, QUENTE e FRIO: quando o buscador se oriente na direção do objeto, diz-se está quente, do contrário, está frio. Na reta real dos números, dado um ponto, todo palpite no ponto está quente, todo palpite longe do ponto está frio, sendo sempre o primeiro palpite QUENTE quando não exato. Por exemplo Dado um número, e um palpite X, se |NUMERO-X|≠ 0, então espera-se que o absoluto da diferença do número e o próximo palpite (X') seja menor que a atual, por isso QUENTE, do contrário, será FRIO. Acertei?
  3. Suponho que não haja muitas formas de escrever, e se existem são análogas. Bom Dia @Jaovitorlm Por exemplo, pense numa progressão aritmética de razão 2... para cada par (x, y | x < y) , tem-se Sn = n * (a1 + an) Onde n ? é metade do número de valores ímpares no intervalo x, y a1? é menor ímpar maior que x an? é maior ímpar menor que y Sn? é n Vezes (a1 mais an) a soma de uma P. A. Neste caso que imagino para você, a programação ler x e y para determinar valores de n, a1, a2 e por fim Sn. Suponho que assim tem uma outra forma de escrever.
  4. @devair1010 Boa noite! GETS A gets é ultrapassada, portanto é fácil supor que ela não é a mais segura ou tem problemas. Daí sugeri que demostre uma versão segura da gets. De Programação Segura que produz conforme o esperado, sem problemas - safe gets_s ()
  5. @devair1010 Boa tarde! GETS Hipoteticamente, digamos que fosse convidado a construir esta função segura, qual seria a expressão no corpo? char *gets_s (char *schar, size_t length) { }
  6. @DaviFonsecx Boa noite, Aparentemente, não há erro e/ou alerta durante compilação. Usei gcc 11.4 e compilou. Defina-nos qual é o resultado. Por exemplo: Essa programação|construção|expressão determina 3 a 3 segmentos com valores arranjados entre 1 e 500, que correspondem a um triangulo retângulo por meio da relação a^2 = b^2 + c^2 tal que o segmento b itera sobre c em a no intervalo dos inteiros. Então, a entrada é as triplas do arranjo (b, c, a) e o resultado é as triplas cujo relacionamento é verdadeira.
  7. MATRIZES Também pensei isso! Declarar o arranjo onde o comprimento e os elementos são, respectivamente, a quantia e os índices doutro; conforme um ou mais filtros e/ou requisitos. Expresso: Indice grupo_acima_da_media[PACIENTE], incluir = 0; for (Indice paciente = 0 ; paciente < PACIENTE ; ++paciente) if (dados[paciente].peso > media) grupo_acima_da_media[incluir] = paciente , ++incluir;
  8. Bom dia, Tem-se, aparentemente, aqui soluções em que todas me inspiram uma ordenação crescente dos segmentos (a, b e c). Com isso determinar o segundo maior segmento (b) e o primeiro (a) e o menor (c), todos maiores que 0. Logo, se há condição para a existência de um triangulo retângulo, então a² == b² + c² será verdade, em seguida: b altura c base Area = (1/2)cb
  9. 1# #2 No #1 recorte, há declaração dum dado composto e uma variável deste dado. O dado composto tem 4 campos, um deles é o nome do tipo char [30]: um arranjo com capacidade para 30x caracteres. Em seguida, @devair1010, expressa-se, no segundo argumento da função fgets, como se aquele campo fosse para 50x caracteres. E mais abaixo ainda no #2 recorte, insinua-me que não conhece a capacidade do nome ao utilizar 'strlen' para determinar o tamanho de sua string. *** Capacidade é de 30x Curiosamente, reforça o caso do autor da pergunta, que também expressa variáveis além da definição.
  10. É isso ai; ela acessa 2 variáveis a partir do endereço de somente uma. Erro no Fread que imprimi de um arquivo apenas um contato é não o restante Por que o programa encerra logo em seguida? Olhe lá, declarou-se LerContatos, sendo 1x ContatoProfissional, depois, expressa-se nos argumentos 2x, assim a fread escreve 1x variável além da definição; escreve em bytes indefinidos ou definidos, porém não para essa operação. ERRO NA DIGITACAO
  11. @arfneto Não, não paro, porque o alerta ensina! EU RECOMENDO.
  12. E daí? Ative todos os alerta e se dê a oportunidade de aprender com eles! ISSO É BOM! A propósito, aquela programação não compilou. a.c: In function ‘main’: a.c:2:14: error: parâmetro não utilizado ‘argc’ [-Werror=unused-parameter] 2 | int main(int argc, char* argv[]) | ~~~~^~~~ a.c:2:26: error: parâmetro não utilizado ‘argv’ [-Werror=unused-parameter] 2 | int main(int argc, char* argv[]) | ~~~~~~^~~~~~ cc1: todos os avisos sendo tratados como erros
  13. Bom dia, Essa programação não compilou! ... a.c: Na função 'main': a.c:48:23: erro: 'b' não declarado (primeiro uso nesta função) 48 | if(C>A && C>b) | ^ a.c:48:23: nota: cada identificador não declarado é relatado apenas uma vez para cada função em que aparece a.c:9:14: erro: parâmetro não utilizado 'argc' [-Werror=unused-parameter] 9 | int main(int argc, char* argv[] ) | ~~~~^~~~ a.c:9:26: erro: parâmetro não utilizado 'argv' [-Werror=unused-parameter] 9 | int main(int argc, char* argv[] ) | ~~~~~~^~~~~~ cc1: todos os avisos sendo tratados como erros c11 - gcc11.4
  14. Agora não mais ... o programminha compila! codigo_em_C_esta_apresentando_alguns_erros_quando_tento_compila-lo.c /* EXERCICIO --------------------------------------------------------------------------- */#include <stdio.h> #define PACIENTE 0x1 struct Paciente { char nome[30]; float peso; }; int main (void) { float media = 0; unsigned cant = 0; struct Paciente grupo[PACIENTE]; for (unsigned paciente = 0 ; paciente<PACIENTE ; ++paciente) { printf ("\nNome: "); gets ((grupo + paciente)->nome); printf("\nPeso: "); scanf ("%f",&(grupo + paciente)->peso); media += (grupo + paciente)->peso; } media = media / PACIENTE; for (unsigned paciente = 0 ; paciente<PACIENTE ; ++paciente) if((grupo + paciente)->peso > media) { printf("%s está acima do peso médio\n", (grupo + paciente)->nome); ++cant; } printf("%d pessoas estão acima do peso médio", cant); } c'11 - gcc'11.4
  15. Ansi C

    C %d termo não conhecido

    Sistema de Numeração Decimal ^ + neste estilo - - - - (±9999) | %d ^~~ especificamente para converter inteiro de base10. . . . . . . . . . . . . . . . . 0 1 2 3 4 5 6 7 8 9 | ´´´´´´´´´´´´´´´´´´´´´´´´´´

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!