Ir ao conteúdo
  • Cadastre-se

kgin

Membro Pleno
  • Posts

    380
  • Cadastrado em

  • Última visita

Tudo que kgin postou

  1. Pelo que eu vejo não é só isso, você teria que mostrar o tempo decorrido na tela. para mostrar o tempo decorrido @Thmpv você pode fazer algo assim. #include <stdio.h> #include <time.h> int main(void) { clock_t tempo_decorrido = clock(); printf("Pressione enter para ver o tempo decorrido desde que o programa foi iniciado\n"); getchar(); tempo_decorrido = clock()-tempo_decorrido; printf("O tempo decorrido em segundos foi %f\n", ((float)tempo_decorrido)/CLOCKS_PER_SEC); printf("Pressione enter para continar.\n"); getchar(); return(0); } link para testar
  2. Ele está assim porque você errou na hora de utilizar o comando escolha, ele em varias partes do seu algoritmo foi utilizado como o comado se..então.
  3. @Gabrielbxs Comece pelo simples, tente pegar as informações do livro e mostrar na tela. exemplo #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> /* Tamanho dos campos de dados */ #define TAMANHO_TITULO 255 #define TAMANHO_ISBN 20 /* Estrutura para guardar as informações do livro */ struct informacoes_livro { char titulo[TAMANHO_TITULO]; char isbn[TAMANHO_ISBN]; float preco; }; void mostraLivro(struct informacoes_livro livro); /* * Mostra as informações do livro. */ int pegaLivro(struct informacoes_livro *livro); /* * Pega as informações do livro via teclado. */ int main(void) { struct informacoes_livro livro; if (pegaLivro(&livro) == 0) { printf("Livro pego do usuario\n"); mostraLivro(livro); } else { printf("O usuario não cadastrou nenhum livro\n"); } printf("Pressione enter para continuar\n"); getchar(); return(0); } void mostraLivro(struct informacoes_livro livro) { printf("\tInformacoes do livro\n"); printf("Nome:%s\n", livro.titulo); printf("Isbn:%s\n", livro.isbn); printf("Preco:%.2f\n", livro.preco); } int pegaLivro(struct informacoes_livro *livro) { struct informacoes_livro temporario = {0}; char opcao = '\0'; do { /* Pega o titulo do livro */ printf("\tCadastro de livros\n"); printf("Digite o nome do livro:"); fgets(temporario.titulo, TAMANHO_TITULO-1, stdin); temporario.titulo[strlen(temporario.titulo)-1] = '\0'; /* Pega o isbn do livro */ printf("Digite o isbn do livro:"); fgets(temporario.isbn, TAMANHO_ISBN-1, stdin); temporario.isbn[strlen(temporario.isbn)-1] = '\0'; /* Pega o preço do livro */ printf("Digite o preco do livro:"); scanf("%f%*c", &temporario.preco); mostraLivro(temporario); /* Pergunta ao usuario se as informações estão corretas */ printf("As informações do livro estão corretas?\n"); printf("[S/N]:"); scanf("%c%*c", &opcao); if (toupper(opcao) == 'N') { printf("Deseja digitar as informações novamente?\n"); printf("[S/N]:"); scanf("%c%*c", &opcao); /* Sinaliza que não foi pego nenhum livro */ if (toupper(opcao) == 'N') { return(1); } else { opcao = '\0'; } } } while (toupper(opcao) != 'S'); *livro = temporario; return(0); }
  4. @rubiksHappy Isso era um bug na IDE, mas já foi resolvido a quase um mês atrás. Já tentou reinstalar o IDE? Sempre tem o lazarus-ide caso você estiver fazendo um projeto pessoal.
  5. @Ilanez Santos Recomendo você começar novamente tem muitos erros que não dá para ignorar por hora. um exemplo de como você pode estar fazendo. exemplo.zip
  6. Eu pensei que não deveria reescrever o algoritmo dele todo, então tentei manter o mais fiel possível.
  7. algoritmo "Exercicio 56" // Função : // Autor : // Data : 04/03/2022 // Seção de Declarações var contador, idade, homens, maior, mulher_jovem:inteiro resposta, sexo:caractere soma, media:real procedimento topo() inicio escreval("---------------------------") escreval(" IBGE ") ESCREVAL("---------------------------") fimprocedimento inicio contador<-0 resposta<- "sim" homens<-0 mulher_jovem <- 99 soma<-0 media<-0 enquanto (resposta = "sim") faca topo() escreval("Qual o seu sexo? [M] MASCULINO, [F] FEMININO:") leia(sexo) escreval("Qual a sua idade?") leia(idade) se idade > maior entao maior <- idade fimse se sexo = "m" entao homens <- homens+1 media <- media+idade senao se mulher_jovem > idade entao mulher_jovem <- idade fimse fimse contador<- contador + 1 Escreval("deseja continuar?") leia(resposta) limpatela fimenquanto escreval("Total de pessoas no sistema:", contador) se homens > 0 entao media <- media/homens escreval("tem ", Homens," homens") escreval("A media da idade dos homens:", Media) senao escreval("não foi registrado homens no sistema") fimse escreval("Maior idade lida:", maior) se mulher_jovem < 99 entao escreval("A mulher mais jovem:", mulher_jovem) senao escreval("não foi registrado mulheres no sistema") fimse fimalgoritmo
  8. @Leucosia Utilize o algoritmo de bubble sort para organizar o vetor, e depois imprimi-lo. Exemplo #include <stdio.h> #define QUANTIDADE 10 int numeros[QUANTIDADE] = { 43, 55, 4, 21, 68, 53, 14, 32, 11, 10 }; void bolha(int *n, int q_numeros); int main(void) { int contador; printf("Numeros sem organizacao\n"); for (contador = 0; contador < QUANTIDADE; contador++) { printf("%i, ", numeros[contador]); } putchar('\n'); bolha(numeros, QUANTIDADE); printf("Numeros organizados com o bubbleSort\n"); for (contador = 0; contador < QUANTIDADE; contador++) { printf("%i, ", numeros[contador]); } putchar('\n'); getchar(); return(0); } void bolha(int *n, int q_numeros) { int contador, troca; do { troca = 0; for (contador = 0; contador < q_numeros-1; contador++) { if (n[contador] > n[contador+1]) { int tmp = n[contador]; n[contador] = n[contador+1]; n[contador+1] = tmp; troca++; } } } while (troca); }
  9. Não funciona assim magicamente, principalmente se estiver usando o windows e um editor de texto de respeito. Para funcionar no windows tem que mudar a codificação para windows-1252, em qualquer sistema unix-like e só salvar o arquivo como utf-8 e nem precisa colocar o setlocale, porque a maioria dos terminais já funcionam nessa codificação.
  10. perceba que quando você faz int NUM(int n); Você só está passando o valor da variável para a função, para você recuperar o valor que está dentro da função você tem que usar um ponteiro. exemplo int NUM(int *n) { int i; for(i = 1; i <= 3; i++) { printf("Informe um numero:\n"); scanf("%d", n); } } Quando o ultimo valor for informado, ele vai estar na variável num na função principal. Porque a função está usando o endereço da variável num. seu algoritmo usando ponteiros. #include <stdio.h> int NUM(int *n); int DOBRO(int *valor); int main(void) { int num; NUM(&num); printf("\n"); DOBRO(&num); return 0; } int NUM(int *n) { int i; for(i = 1; i <= 3; i++) { printf("Informe um numero:\n"); scanf("%d%*c", n); } } int DOBRO(int *valor) { int i, res; for(i = 1; i <= 3; i++) { res = 2 * (*valor); printf("O resultado eh = %d\n", res); } return res; }
  11. kgin

    C como fazer GUI em C

    @b.0463 Para utilizar guis em C eu recomendo GTK para projetos grades e Nuklear para projetos pequenos. Como você está começando em C eu recomendo SDL com Nuklear. repositorio github Nuklear
  12. @Pietra Ester Na parte de converter os números do cpf para decimais você pode usar a função atoi() ou subtrair 48 do caractere que vai te dar o numero correspondente ao caractere. Exemplo #include <stdio.h> int main(void) { char caractere = '\0'; printf("Digite um numero na faixa de 0..9:"); scanf("%c%*c", &caractere); if (caractere >= '0' && caractere <= '9') { /* Subtrair o caractere '0' e a mesma coisa de subtrair por 48 da tabela ascii */ printf("O numero que voce digitou foi:%d\n", caractere-'0'); } else { printf("voce digitou um caractere!\n"); } getchar(); return(0); } de uma olhada na tabela ascii wikipedia ASCII
  13. Esse problema e por causa que você está deixando a tecla enter no buffer do teclado. Quando você faz um scanf("%d", &reg[i].cod); a tecla enter vai ficar no buffer, aí quando você fizer outro scanf ele vai pular porque ele já pegou alguma informação do buffer. Para contornar o problema por hora adicione um "%*c" no scanf dessa maneira. scanf("%d%*c", &minha_variavel); e pare de usar gets ele não é mais recomendado, utilize fgets() ao invés de gets. exemplo de como pegar as informações com fgets(). #include <stdio.h> #include <stdlib.h> #define TAMANHO_NOME 120 #define TAMANHO_CPF 14 #define QUANTIDADE_NOTAS 4 #define QUANTIDADE_ALUNOS 2 struct aluno { int id; char nome[TAMANHO_NOME]; char cpf[TAMANHO_CPF]; float notas[QUANTIDADE_NOTAS]; }; void pegaAluno(struct aluno *aluno); void mostraAluno(struct aluno *aluno); int main(void) { struct aluno alunos[QUANTIDADE_ALUNOS]; int contador; /* Pega os alunos */ for (contador = 0; contador < QUANTIDADE_ALUNOS; contador++) { pegaAluno(&alunos[contador]); } /* Mostra os alunos */ for (contador = 0; contador < QUANTIDADE_ALUNOS; contador++) { mostraAluno(&alunos[contador]); } return(0); } void pegaAluno(struct aluno *aluno) { int contador; /* Pega o codigo do aluno */ printf("Digite o codigo do aluno:"); scanf("%d%*c", &aluno->id); /* Pega o nome do aluno */ printf("Digite o nome do aluno:"); fgets(aluno->nome, TAMANHO_NOME-1, stdin); /* Pega o cpf do aluno */ printf("Digite o cpf do aluno:"); fgets(aluno->cpf, TAMANHO_CPF-1, stdin); /* Pega as notas do aluno */ for (contador = 0; contador < QUANTIDADE_NOTAS; contador++) { printf("Digite a nota %d do aluno %s", contador+1, aluno->nome); scanf("%f%*c", &aluno->notas[contador]); } } void mostraAluno(struct aluno *aluno) { int contador; printf("Codigo:%d\n", aluno->id); printf("Nome:%s", aluno->nome); printf("Cpf:%s", aluno->cpf); printf("Notas do a luno\n"); for (contador = 0; contador < QUANTIDADE_NOTAS; contador++) { printf("[%d]-Nota:%.2f\n", contador+1, aluno->notas[contador]); } } Para validar o cpf e bem simples, segue o link com um tutorial Algoritmo de Validação do CPF
  14. Esse é o tipo de usuário mais perigoso. Depende, mas eu recomendo passar ele nos arquivos afetados para saber o que está afetando a maquina. Uma maneira de "varrer a sujeira pra debaixo do tapete" seria só criar outra conta de usuário e apagar a antiga. Mas eu acho melhor verificar a causa do problema e fazer uma reinstalação completa do sistema. Em ultimo caso poderia ser também o HD que estaria estragando, aí só trocando mesmo.
  15. @b.0463 Para instalar o TDM-GCC você tem que remover o minGW completamente para não causar conflito entre as versões do gcc.
  16. O certo não seria subtrair o gasto_total de lucro_brut? dessa maneira #include<stdio.h> int main(){ float km_inicial,km_final,km_traba,gasola_gasta, gasto_total,preco_gasola=7.02,lucro_brut,lucro_liq,media_consu; printf("\nInforme a quilometragem inicial: "); scanf("%f%*c",&km_inicial); printf("\nInforme a quilometragem final: "); scanf("%f%*c",&km_final); printf("\nInfomre a quantidade de litros de combustivel gasto: "); scanf("%f%*c",&gasola_gasta); printf("\nValor da gasolina: %.2f\n",preco_gasola); printf("\nInforme o valor total (R$) recebido: "); scanf("%f%*c",&lucro_brut); km_traba = km_final - km_inicial; media_consu = km_traba / gasola_gasta; gasto_total = gasola_gasta * preco_gasola; lucro_liq = lucro_brut - gasto_total; printf("\nMedia de consumo gasto: %.2f", media_consu); printf("\nValor gasto com combustivel: %.2f",gasto_total); printf("\nLucro do dia: %.2f", lucro_liq); return 0; } e no enunciado está errado. preste atenção Como o lucro do dia seria R$63,50?
  17. @Mr. Ariel Seria isso que você queria fazer? Algoritmo "retanguloCalc" Var base,altura : real Inicio Escreva("Insira valor para base: ") Leia (base) Escreva ("Insira valor para altura: ") Leia (altura) Escreval("Você digitou para a base e ", base," para a altura. Seu retângulo possui uma área de", base*altura) Fimalgoritmo
  18. Não sei ao certo, mas no windows não seria gcc \src\* -o \bin\NOME_DO_EXECUTAVEL na pasta principal. pra mim que no windows usa barra invertida (\). Se você estiver tendo problemas com o mingw você pode tentar instalar esse aqui TDM-GCC Ou utilizar um desses online replit OnlineGDB
  19. Pode ser duas coisas, você pegou um malware (quase que improvável). Ou você pegou um vírus de windows no seu servidor winehq (se é que você tem o wine)
  20. você declara outra variável para salvar o nome do aluno na hora que você testar se é maior. exemplo algoritmo "notas" var nome_aluno, nome_maior_nota, nome_menor_nota:caractere maior_nota, menor_nota, nota_atual:inteiro quantidade_alunos, contador:inteiro inicio // Pega a quantidade de alunos escreval("Digite a quantidade de alunos") leia(quantidade_alunos) // Pega as notas e os nomes dos alunos contador <- 0 maior_nota <- 0 enquanto contador < quantidade_alunos faca escreval("Digite o nome do aluno") leia(nome_aluno) escreval("Digite a nota do aluno ", nome_aluno) leia(nota_atual) // Verifica a maior nota se nota_atual > maior_nota entao nome_maior_nota <- nome_aluno maior_nota <- nota_atual fimSe contador <- contador+1 fimEnquanto // Mostra o nome e a maior nota entre os alunos escreval("A maior nota e ", maior_nota," do aluno ", nome_maior_nota) fimAlgoritmo
  21. @DGFEAR mas você prestou atenção que você está fazendo a comparação de alunos >= 10? O certo seria comparar a variável cont enquanto ela for menor que a variável alunos para satisfazer a condição do loop.
  22. você reparou que essa linha não faz sentido? Enquanto (alunos < 10) e (alunos > 0) faca Você está comparando com a quantidade de alunos que você tem que pegar, é não com a quantidade atual já pega. o loop se torna infinito. Seu algoritmo arrumado algoritmo "Ex_notas" var alunos, cont, Nota : inteiro Nome : caractere inicio escreva(" quantos alunos tem? ") Leia(alunos) escreval("--------------------------------------") cont <- 0 Enquanto (cont < alunos) faca escreval("Aluno ",cont) cont <- (cont + 1) escreva("Nome: ") Leia(Nome) escreva("Nota de ",Nome,": ") Leia(Nota) escreval("--------------------------------------") FimEnquanto fimalgoritmo para testar se a quantidade de alunos satisfaz o mínimo você poderia colocar um repita<..>até exemplo algoritmo "Ex_notas" var alunos, cont, Nota : inteiro Nome : caractere inicio alunos <- 0 repita escreva(" quantos alunos tem? ") Leia(alunos) se alunos <= 0 entao escreval("Quantidade de alunos invalida!") fimse ate alunos > 0 escreval("--------------------------------------") cont <- 0 Enquanto (cont < alunos) faca escreval("Aluno ",cont) cont <- (cont + 1) escreva("Nome: ") Leia(Nome) escreva("Nota de ",Nome,": ") Leia(Nota) escreval("--------------------------------------") FimEnquanto fimalgoritmo
  23. @immoraesz O maior problema do seu algorítimo e a entrada, você não está pegado as informações corretamente. faça algo básico para você ver a entrada e a saída das informações. exemplo #include <stdio.h> #include <stdlib.h> #define TAMANHO_NOME 80 #define MAXIMO_ESTOQUE 3 #define QUNATIDADE_FILIAIS 2 struct informacoes_filial { char nome[TAMANHO_NOME]; int capacidade_estoque; int estoque_produtos[MAXIMO_ESTOQUE]; }; int main(void) { int contadador1, contadador2; struct informacoes_filial filiais[QUNATIDADE_FILIAIS]; /* Pega o nome e a quantidade de cada produto */ for (contadador1 = 0; contadador1 < QUNATIDADE_FILIAIS; contadador1++) { printf("Digite o nome da filia:%i\n", contadador1); fgets(filiais[contadador1].nome, TAMANHO_NOME, stdin); printf("Digite a quantidade de cada produto no estoque\n"); for (contadador2 = 0; contadador2 < MAXIMO_ESTOQUE; contadador2++) { printf("Digite a quantidade de produtos para o produto:%i\n", contadador2); scanf("%d%*c", &filiais[contadador1].estoque_produtos[contadador2]); } } printf("\n\n"); /* Mostra todas as filiais e a quantidade de cada produto */ for (contadador1 = 0; contadador1 < QUNATIDADE_FILIAIS; contadador1++) { printf("Nome da filia:%s", filiais[contadador1].nome); printf("Quantidade de cada produto no estoque\n"); for (contadador2 = 0; contadador2 < MAXIMO_ESTOQUE; contadador2++) { printf("produto %i tem %i produtos\n", contadador2, filiais[contadador1].estoque_produtos[contadador2]); } } return(0); } De nomes mais significativos para as variáveis, colocar letras soltas fica difícil seguir o seu próprio código. de uma olhada nesse tópico que o autor estava com o mesmo problema de pegar os valores das variáveis via teclado. Dificuldade com Variável Booleana
  24. @Lipeco Tente pensa nas posições das peças em si, e não nas posições que ela ocupa no tabuleiro. assim movimentá-las será mais fácil. exemplo #include <stdio.h> #include <stdlib.h> #include <time.h> #define T_NOME 40 #define Q_JOGADORES 2 #define Q_PECAS 16 #define TABULEIRO_LARGURA 8 #define TABULEIRO_ALTURA TABULEIRO_LARGURA enum jogadores { JOGADOR1 = 0, JOGADOR2 }; struct local { unsigned short linha, coluna; }; struct peca_xadres { char nome[T_NOME]; struct local local; }; const struct peca_xadres LOCAL_PECAS[] = { "Torre", 0, 0, "Cavalo", 0, 1, "Bispo", 0, 2, "Rei", 0, 3, "Rainha", 0, 4, "Bispo", 0, 5, "Cavalo", 0, 6, "Torre", 0, 7, "Peao", 1, 0, "Peao", 1, 1, "Peao", 1, 2, "Peao", 1, 3, "Peao", 1, 4, "Peao", 1, 5, "Peao", 1, 6, "Peao", 1, 7 }; void iniciaPecas(struct peca_xadres *pecas, enum jogadores jogador); int main(void) { int linha, coluna, contador1, contador2, contador3; char tabuleiro[TABULEIRO_LARGURA][TABULEIRO_ALTURA]; int posicoes_tabuleiro[TABULEIRO_LARGURA*TABULEIRO_ALTURA] = {0}; struct peca_xadres pecas[Q_JOGADORES][Q_PECAS]; /* Inicia as peças do tabuleiro */ for (contador1 = 0; contador1 < Q_JOGADORES; contador1++) { iniciaPecas(pecas[contador1], contador1); } /* Limpa o tabuleiro */ for (coluna = 0; coluna < TABULEIRO_LARGURA; coluna++) { for (linha = 0; linha < TABULEIRO_ALTURA; linha++) { tabuleiro[coluna][linha] = ' '; } } /* Coloca as peças no tabuleiro */ for (contador1 = 0; contador1 < 2; contador1++) { for (contador2 = 0; contador2 < Q_PECAS; contador2++) { tabuleiro[pecas[contador1][contador2].local.coluna][pecas[contador1][contador2].local.linha] = pecas[contador1][contador2].nome[0]; } } /* Mostra o tabuleiro */ for (coluna = 0; coluna < TABULEIRO_LARGURA; coluna++) { for (linha = 0; linha < TABULEIRO_ALTURA; linha++) { printf("%c|", tabuleiro[coluna][linha]); } putchar('\n'); } /* Quantidade de posições posiveis de se visitar */ for (contador1 = 0; contador1 < TABULEIRO_LARGURA*TABULEIRO_ALTURA; contador1++) { posicoes_tabuleiro[contador1] = contador1; } /* Embaralha as posições */ srand(time(NULL)); for (contador1 = 0; contador1 < TABULEIRO_LARGURA*TABULEIRO_ALTURA; contador1++) { int tmp = posicoes_tabuleiro[contador1], local = rand()%(TABULEIRO_ALTURA*TABULEIRO_LARGURA); posicoes_tabuleiro[contador1] = posicoes_tabuleiro[local]; posicoes_tabuleiro[local] = tmp; } /* Move uma peça para uma posição aleatoria */ for (contador1 = 0; contador1 < TABULEIRO_ALTURA*TABULEIRO_LARGURA; contador1++) { int quantidade_pecas = 0; for (contador2 = 0; contador2 < Q_JOGADORES; contador2++) { for (contador3 = 0; contador3 < Q_PECAS; contador3++) { if (posicoes_tabuleiro[contador1]/TABULEIRO_ALTURA == pecas[contador2][contador3].local.coluna&& posicoes_tabuleiro[contador1]%TABULEIRO_LARGURA == pecas[contador2][contador3].local.linha) { quantidade_pecas++; } } } /* Checa se a posição está vaga */ if (quantidade_pecas == 0) { pecas[JOGADOR1][4].local.coluna = posicoes_tabuleiro[contador1]/TABULEIRO_ALTURA; pecas[JOGADOR1][4].local.linha = posicoes_tabuleiro[contador1]%TABULEIRO_LARGURA; break; } } /* Limpa o tabuleiro */ for (coluna = 0; coluna < TABULEIRO_LARGURA; coluna++) { for (linha = 0; linha < TABULEIRO_ALTURA; linha++) { tabuleiro[coluna][linha] = ' '; } } /* Coloca as peças no tabuleiro */ for (contador1 = 0; contador1 < 2; contador1++) { for (contador2 = 0; contador2 < Q_PECAS; contador2++) { tabuleiro[pecas[contador1][contador2].local.coluna][pecas[contador1][contador2].local.linha] = pecas[contador1][contador2].nome[0]; } } printf("\n"); /* Mostra o tabuleiro */ for (coluna = 0; coluna < TABULEIRO_LARGURA; coluna++) { for (linha = 0; linha < TABULEIRO_ALTURA; linha++) { printf("%c|", tabuleiro[coluna][linha]); } putchar('\n'); } printf("%s foi movido para %i, %i\n", pecas[JOGADOR1][4].nome, pecas[JOGADOR1][4].local.linha, pecas[JOGADOR1][4].local.coluna); printf("Pressione enter para encerrar o programa\n"); getchar(); return(0); } void iniciaPecas(struct peca_xadres *pecas, enum jogadores jogador) { int contador; for (contador = 0; contador < Q_PECAS; contador++) { pecas[contador] = LOCAL_PECAS[contador]; } if (jogador == JOGADOR2) { for (contador = 0; contador < Q_PECAS; contador++) { if (contador < 8) { pecas[contador].local.linha = 7; } else { pecas[contador].local.linha = 6; } } } } Eu fiz o código meio na pressa, mas eu acho que da pra pegar a ideia.
  25. @iTzCrazy Seu problema não é com a stdbool e sim com a entrada padrão. toda vez que você entra com alguma coisa via teclado, e tecla enter o scanf só pega os dados que você pediu. então quando você faz um scanf("%i", &valor); ele vai pegar um inteiro sem sinal e deixar a tecla enter (carrier return, codigo 0xDh=13 na tabela ascii). o "jeito certo" seria pegar as informações com o fgets, mas já que você é iniciante só coloque um "%*c" no scanf para ignorar a tecla. exemplo: scanf("%i%*c", &valor); Seu algoritmo funcionando #include <stdio.h> #include <stdlib.h> #include <stdbool.h> // biblioteca ultilizada para adc variáveis booleanas ou seja variáveis do tipo lógico int main(void) { //definindo variáveis int a; float b; char c; bool d; char tecla = '\0'; //passar os valores a = 5; b = 2.5; c = 'c'; d = true; //imprimindo na tela printf("\nO valor de a = %d", a); printf("\nO valor de b = %.2f", b); //se adicionar um ponto e um número entre % e o f, podemos definir a formatação do float ao imprirmir printf("\nO valor de c = %c", c); printf("\nO valor de d = %d\n", d); //lendo valores na tela scanf("%d%*c", &a); scanf("%f%*c", &b); scanf("%c%*c", &c); //em linguagem C quando se lê um carctere, coloca se espaço entre as aspas duplas e o símbolo de c scanf("%c%*c", &tecla); if (tecla == 'T' || tecla == 't') { d = true; } else { d = false; } //reescrevendo o valor na tela printf("\n O valor de a = %d", a); printf("\n O valor de b = %.1f", b); printf("\n O valor de c = %c", c); printf("\n O valor de d = %d\n", d); //pausando getchar(); return(0); }

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!