Ir ao conteúdo
  • Cadastre-se

kgin

Membro Pleno
  • Posts

    380
  • Cadastrado em

  • Última visita

Tudo que kgin postou

  1. kgin

    C# Trabalho jogo de futebol

    Poste o que você já fez, a linguagem de programação e o ambiente que você está usando.
  2. Utilize o botão code <> para postar no fórum! O compilador está reclamando que você está usando o operador de comparação "==" ao invés do de atribuição "=" Recomendo dar nomes mais significativos para as variáveis. e pegar a linha inteira com fgets e processar com o sscanf char buffer[256]; int numero = 0; fgets(buffer, 256, stdin); sscanf(buffer, "%i", &numero); Você também não colocou o índice dos vetores Era pra ser n[i] no primeiro e você deveria fazer outro loop no segundo.
  3. kgin

    C distinguir letras e digitos

    você pode usar as funções da biblioteca ctype.h para distinguir entre caractere (isalpha) ou números (isalnum) ou você pode comparar diretamente o caractere. Exemplo /* * Numero correspondente ao caractere */ #include <stdio.h> #define T_BUFFER 256 int main(void) { char caractere; char buffer[T_BUFFER]; do { printf("Digite \"@\" para encerrar o programa:"); fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%c", &caractere); printf("%c e", caractere); if (caractere >= 'a' && caractere <= 'z') { printf(" uma letra do alfabeto minuscula\n"); } else if (caractere >= 'A' && caractere <= 'Z') { printf(" uma letra do alfabeto maiuscula\n"); } else if (caractere >= '0' && caractere <= '9') { printf(" um numeral\n"); } else { printf(" um caractere qualquer da tabela ascii\n"); } printf("e seu codigo correspondente na tabela ascii e:%d\n", caractere); printf("Pressione enter para continuar.\n"); fgets(buffer, T_BUFFER, stdin); } while (caractere != '@'); } versão online!
  4. @jorge.b Exemplo #include <stdio.h> #include <stdlib.h> #define T_BUFFER 256 int main(int q_arg, char *v_arg[]) { char buffer[T_BUFFER]; int n_atual = 0, n_anterior = 0; do { n_anterior = n_atual; printf("Digite o numero anteriormente digitado para encerrar\n>"); fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%i", &n_atual); } while (n_atual != n_anterior); return(0); } Versão online!
  5. Você errou na sintaxe do if o correto seria if(resto[i] == 10){ printf("A"); } else if(resto[i] == 11){ printf("B"); } else if(resto[i] == 12){ printf("C"); } else if(resto[i] == 13){ printf("D"); } else if(resto[i] == 14){ printf("E"); } else if(resto[i] == 15){ printf("F"); } else { printf("%d",resto[i]); } Nessa parte também está errada Só vai criar um vetor de tamanho 0, em C não há vetores dinâmicos sem reservar memória para tal estrutura. O algoritmo funcionando #include <stdio.h> #include <stdlib.h> // Transforme um numero decimal em hexadecimal int main(){ int i=0; int resto[100]; int num; int depois; char buff[100]; printf("Digite um numero: \n"); fgets(buff, 100, stdin); sscanf(buff, "%d", &num); depois = num; while(num >= 16){ resto[i] = num % 16; num = num / 16; i++; } resto[i] = num; printf("\nO numero %d em hexadecimal eh: \n",depois); while(i>=0){ if(resto[i] == 10){ printf("A"); } else if(resto[i] == 11){ printf("B"); } else if(resto[i] == 12){ printf("C"); } else if(resto[i] == 13){ printf("D"); } else if(resto[i] == 14){ printf("E"); } else if(resto[i] == 15){ printf("F"); } else { printf("%d",resto[i]); } i--; } printf("\n\n"); fgets(buff, 100, stdin); // system("pause"); a piada já perdeu a graça :/ } versão online!
  6. O problema é porque você não está pegando a entrada (stdin) corretamente, o ideal seria você pegar a linha inteira e separar o que você quer e descartar o que não quer. Eu mexi um pouco para receber a entrada corretamente, mas ainda há várias coisas para consertar. #include <stdio.h> #include <string.h> #include <stdlib.h> #define T_ENTRADA 256 struct Produtos { char nome[60]; float precoCompra; float precoVenda; float lucro; }; float Lucro(float venda, float compra) { float lucro; lucro = venda - compra; lucro = (lucro / venda) * 100; return lucro; } int main() { struct Produtos produto[4] = {0}; /* Inicia o vetor inteiro com 0's */ int flag, aux = 0; int contlucro20 = 0, contlucro2030 = 0, contlucro30 = 0; int i; char entrada[T_ENTRADA] = {'\0'}; /* Inicia o vetor inteiro com 0's */ while (flag != 0) { //Cadastrando produtos: aux++; for(i = 0; i < aux; i++){ /* fflush(stdin); Ideia pessima! */ printf("\nProduto: "); fgets(entrada, T_ENTRADA, stdin); entrada[strlen(entrada)-1] = '\0'; strcpy(produto[i].nome, entrada); printf("\nPreco de Compra: "); fgets(entrada, T_ENTRADA, stdin); sscanf(entrada, "%f", &produto[i].precoCompra); printf("\nPreco de Venda: "); fgets(entrada, T_ENTRADA, stdin); sscanf(entrada, "%f", &produto[i].precoVenda); produto[i].lucro = Lucro(produto[i].precoVenda, produto[i].precoCompra); printf("\nLucro: %.2f%%", produto[i].lucro); if (produto[i].lucro < 20) { contlucro20++; } else if (20 >= produto[i].lucro && produto[i].lucro <= 30) { contlucro2030++; } else if(produto[i].lucro > 30) { contlucro30++; } printf("\nDigite 0 para encerrar ou 1 para continuar: "); fgets(entrada, T_ENTRADA, stdin); sscanf(entrada, "%d", &flag); if(flag == 0) { break; } } } //Imprimindo lista de produtos: printf("\nLista de produtos: \n"); for(i = 0; i < aux; i++) { printf("\nProduto: %s", produto[i].nome); printf("\nPreco de Compra: %.2f", produto[i].precoCompra); printf("\nPreco de Venda: %.2f", produto[i].precoVenda); printf("\nLucro: %.2f%%\n", produto[i].lucro); } printf("\nNumero de produtos com lucro menor que 20%%: %d", contlucro20); printf("\nNumero de produtos com lucro entre 20%% e 30%%: %d", contlucro2030); printf("\nNumero de produtos com lucro maior que 30%%: %d", contlucro30); return 0; }
  7. no vetor Acertos faltou colocar o "de" Errado! Acertos: vetor[1..3] real Certo! Acertos: vetor[1..3] de real Para postar código no fórum use o botão code <> Para pegar as respostas de cada pessoa você deveria usar uma matriz. Exemplo Algoritmo "semnome" const QUANTIDADE_ALUNOS = 3 QUANTIDADE_RESPOSTAS = 5 Var // Seção de Declarações das variáveis Gab, Resp : vetor[1..5] de caractere C : inteiro Nome: vetor[1..3] de caractere Acertos: vetor[1..3] de real contador1, contador2:inteiro gabarito_alunos:vetor [1..QUANTIDADE_ALUNOS, 1..QUANTIDADE_RESPOSTAS] de caractere Inicio // Seção de Comandos, procedimento, funções, operadores, etc... EscrevaL("--GABARITO DA PROVA--") Para C <- 1 ate 5 faca Escreva("Questão ",C ," : ") leia(Gab[C]) fimpara limpatela para contador1 <- 1 ate QUANTIDADE_ALUNOS faca // Pega o nome dos alunos escreval("Digite o nome do aluno") leia(nome[contador1]) // Pega o gabarito de cada prova para contador2 <- 1 ate QUANTIDADE_RESPOSTAS faca escreva("Questão ", contador2, " : ") leia(gabarito_alunos[contador1, contador2]) fimPara fimPara limpaTela // Mostra as respostas de cada aluno para contador1 <- 1 ate QUANTIDADE_ALUNOS faca escreval("Nome aluno:", nome[contador1]) escreval(" Gabarito da prova") para contador2 <- 1 ate QUANTIDADE_RESPOSTAS faca escreval("Questão ", contador2, ":", gabarito_alunos[contador1, contador2]) fimPara fimPara Fimalgoritmo
  8. Se você não joga nenhum tipo de jogo, ou usa a suíte office da Microsoft. É seguro desinstalar tudo. Mas eu recomendo deixar o 2010 e o 2022 para ter uma certa compatibilidade com alguns programas.
  9. A pasta ordem de serviço vai ser criada automaticamente ou o batch vai ter que criá-la?
  10. Qual seria o seu compilador? porque você não pega a linha inteira com fgets()?
  11. Para criar interfaces gráficas em C você tem essas opções. IUP - Portable User Interface GTK Nuklear ImGui API do windows (nada recomendável por sinal) Fazer a sua própria
  12. @Dalmarg Sugiro você seguir as dicas do @arfneto e quebrar o algoritmo em partes. tente fazer primeiro a lista ligada e depois tentar implementar a leitura do arquivo. recomendo dar uma olhada no livro C completo e total no capitulo 20 pagina 550. Eu acho que com esse exemplo vai ficar mais claro /* * Trabalhando com arquivos em C. * 09/15/2022 ás 08:24p.m * Atualizado 09/16/2022 12:42p.m */ #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #define NOME_ARQUIVO "teste.txt" #define TAMANHO_BUFFER 512 #define TAMANHO_PALAVRA 60 #define TAMANHO_LISTA 200 struct lista { char palavra[TAMANHO_PALAVRA]; int ocorrencias; }; void caixa_alta(char *str) { if (str != NULL) { int contador; for (contador = 0; contador < strlen(str); contador++) { str[contador] = toupper(str[contador]); } } } int main(int argc, char *argv[]) { struct lista lista_palavras[TAMANHO_LISTA] = {0}; int quantidade_palavras = 0; int contador; char buffer[TAMANHO_BUFFER] = {'\0'}; FILE *arquivo = fopen(NOME_ARQUIVO, "r+"); if (arquivo == NULL) { perror("não foi possível abrir o arquivo! "); exit(EXIT_FAILURE); } do { char *palavra = NULL; /* Pega uma linha do arquivo */ fgets(buffer, TAMANHO_BUFFER, arquivo); /* Separa em palavras */ palavra = strtok(buffer, " ;,._\n"); while (palavra != NULL) { /* * Critérios para se considerada uma palavra * -Ser pelo menos monossilábica * -Não pode conter espaços ou números no inicio */ if (isalpha(*palavra) && strlen(palavra) > 1) { int palavra_encontrada = 0; int posicao_palavra = 0; for (contador = 0; contador < quantidade_palavras && contador < TAMANHO_LISTA; contador++) { /* Salva as palavras temporariamente */ char tmp_palavra1[100] = {'\0'}; char tmp_palavra2[100] = {'\0'}; strcpy(tmp_palavra1, palavra); strcpy(tmp_palavra2, lista_palavras[contador].palavra); /* Passa as palavras para maiúsculas */ caixa_alta(tmp_palavra1); caixa_alta(tmp_palavra2); if (strcmp(tmp_palavra1, tmp_palavra2) == 0) { palavra_encontrada = 1; posicao_palavra = contador; break; } } if (palavra_encontrada) { lista_palavras[posicao_palavra].ocorrencias++; } else { strcpy(lista_palavras[quantidade_palavras].palavra, palavra); lista_palavras[quantidade_palavras].ocorrencias++; quantidade_palavras++; } } palavra = strtok(0, " ;,._\n"); /* Pega a próxima palavra */ } } while (!feof(arquivo) && !ferror(arquivo)); fclose(arquivo); printf("Quantidade de palavras encontradas no texto:%i\n", quantidade_palavras); printf("\tQuantidade de ocorrencias de cada palavra\n"); for (contador = 0; contador < quantidade_palavras; contador++) { printf("%s %i ", lista_palavras[contador].palavra, lista_palavras[contador].ocorrencias); if (lista_palavras[contador].ocorrencias > 1) { printf("vezes"); } else { printf("vez"); } putchar('\n'); } printf("Pressione enter para encerrar o programa...\n"); fgets(buffer, TAMANHO_BUFFER, stdin); return(0); } É apenas um exemplo, eu implementei usando um vetor. Versão online!
  13. @Dalmarg Isso está muito complicado, você deveria simplificar um pouco na hora de retirar as palavras. Recomendo você tentar dessa maneira. /* * Trabalhando com arquivos em C. * 09/15/2022 ás 08:24p.m */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define NOME_ARQUIVO "teste.txt" #define TAMANHO_BUFFER 512 int main(int argc, char *argv[]) { char buffer[TAMANHO_BUFFER] = {'\0'}; FILE *arquivo = fopen(NOME_ARQUIVO, "r+"); if (arquivo == NULL) { perror("não foi possível abrir o arquivo! "); exit(EXIT_FAILURE); } do { char *palavra = NULL; /* Pega uma linha do arquivo */ fgets(buffer, TAMANHO_BUFFER, arquivo); /* Separa em palavras */ palavra = strtok(buffer, " ;,._"); while (palavra != NULL) { printf("%s\n", palavra); /* Mostra as palavras */ palavra = strtok(0, " ;,._"); /* Pega a proxíma palavra */ } } while (!feof(arquivo) && !ferror(arquivo)); fclose(arquivo); return(0); } Versão online!
  14. @Danieldoss Seu algoritmo está meio complicado, tente simplificá-lo um pouco. Uma ideia para deixá-lo mais simples seria utilizar vetores para guardar as perguntas e respostas. Veja esse que eu já tinha e eu dei uma adaptada para o seus propósitos. Em C. #include <stdio.h> #include <string.h> #define T_BUFFER 256 #define Q_PERGUNTAS 10 #define T_PERGUNTA 100 #define Q_RESPOSTAS 3 #define T_RESPOSTAS 60 enum tipo_niveis { fácil = 0, difícil, Q_NIVEIS }; const char *REGRAS = { "\t\tREGRAS DO JOGO:\n\ - ESTE É UM JOGO DE PERGUNTAS E RESPOSTAS.\n\ - O JOGADOR DEVERÁ ESCOLHER DENTRE AS TRÊS ALTERNATIVAS, SOMENTE UMA, E EM SEGUIDA APERTAR O BOTÃO VERDE.\n\ - SERÃO 10 PERGUNTAS SOBRE O TEMA ESCOLHIDO PELO JOGADOR. \n\ - O JOGADOR DEVERÁ ACERTAR 7 RESPOSTAS OU MAIS, PARA PASSAR PARA A PRÓXIMA FASE. \n\n\n\t\t\t\ BOA SORTE!\n" }; const char *TIPOS_PEGUNTAS[Q_NIVEIS] = { "TERROR", "CONHECIMENTOS GERAIS" }; struct pergunta { char pergunta[T_PERGUNTA]; char respostas[Q_RESPOSTAS][T_RESPOSTAS]; int opcao_certa; }; void f_pausa(void) { char buffer[T_BUFFER]; fgets(buffer, T_BUFFER, stdin); } void inicia_perguntas(struct pergunta p[Q_NIVEIS][Q_PERGUNTAS]) { strcpy(p[fácil][0].pergunta, "Quando Michael Myers comete os crimes?"); strcpy(p[fácil][0].respostas[0], "11 de setembro"); strcpy(p[fácil][0].respostas[1], "31 de outubro"); strcpy(p[fácil][0].respostas[2], "25 de dezembro"); p[fácil][0].opcao_certa = 2; strcpy(p[fácil][1].pergunta, "De qual filme é a frase: (O mal esta assumindo várias formas)"); strcpy(p[fácil][1].respostas[0], "A freira"); strcpy(p[fácil][1].respostas[1], "O misterio do convento"); strcpy(p[fácil][1].respostas[2], "Invocacao do mal"); p[fácil][1].opcao_certa = 1; strcpy(p[fácil][2].pergunta, "De qual filme é a frase (O vento levou todo o circo e eu vim parar no esgoto)?"); strcpy(p[fácil][2].respostas[0], "It a coisa"); strcpy(p[fácil][2].respostas[1], "Hora do pesadelo"); strcpy(p[fácil][2].respostas[2], "O grito"); p[fácil][2].opcao_certa = 1; strcpy(p[fácil][3].pergunta, "Como o freddy krueguer mata as suas vitimas?"); strcpy(p[fácil][3].respostas[0], "Com uma serra"); strcpy(p[fácil][3].respostas[1], "Com um machado"); strcpy(p[fácil][3].respostas[2], "Pelos sonhos"); p[fácil][3].opcao_certa = 3; strcpy(p[fácil][4].pergunta, "Quem é o vilão de sexta feira 13?"); strcpy(p[fácil][4].respostas[0], "Jason voorhees"); strcpy(p[fácil][4].respostas[1], "Freddy krueger"); strcpy(p[fácil][4].respostas[2], "Michael myers"); p[fácil][4].opcao_certa = 1; strcpy(p[fácil][5].pergunta, "Qual o nome do assassino do filme Pânico?"); strcpy(p[fácil][5].respostas[0], "Leatherface"); strcpy(p[fácil][5].respostas[1], "Michael Myers"); strcpy(p[fácil][5].respostas[2], "Ghostface"); p[fácil][5].opcao_certa = 3; strcpy(p[fácil][6].pergunta, "Qual o nome do cachorro de jack em: O estranho mundo de jack?"); strcpy(p[fácil][6].respostas[0], "Bingo"); strcpy(p[fácil][6].respostas[1], "Zero"); strcpy(p[fácil][6].respostas[2], "Dafodil"); p[fácil][6].opcao_certa = 2; strcpy(p[fácil][7].pergunta, "Qual o demônio de: O Exorcista?"); strcpy(p[fácil][7].respostas[0], "Lilith"); strcpy(p[fácil][7].respostas[1], "Azazel"); strcpy(p[fácil][7].respostas[2], "Pazuzu"); p[fácil][7].opcao_certa = 3; strcpy(p[fácil][8].pergunta, "Onde foi a primeira aparição do Homem Torto?"); strcpy(p[fácil][8].respostas[0], "Invocação do mal"); strcpy(p[fácil][8].respostas[1], "A casa de cera"); strcpy(p[fácil][8].respostas[2], "Hush"); p[fácil][8].opcao_certa = 1; strcpy(p[fácil][9].pergunta, "Chucky é um boneco de qual linha?"); strcpy(p[fácil][9].respostas[0], "Bad guys"); strcpy(p[fácil][9].respostas[1], "Good guys"); strcpy(p[fácil][9].respostas[2], "Friend"); p[fácil][9].opcao_certa = 2; strcpy(p[difícil][0].pergunta, "Quem foi Antonio Carlos Jobim?"); strcpy(p[difícil][0].respostas[0], "Um compositor"); strcpy(p[difícil][0].respostas[1], "Um ator"); strcpy(p[difícil][0].respostas[2], "Um piloto de formula 1"); } void mostra_pergunta(struct pergunta p) { int contador; printf("\t%s\n", p.pergunta); for (contador = 0; contador < Q_RESPOSTAS; contador++) { printf("\t\t%i - %s\n", contador+1, p.respostas[contador]); } puts("\n\n"); printf("Qual e a resposta certa?\n"); } void mostra_linha(char adorno, char meio, int tamanho) { int contador; for (contador = 0; contador < tamanho; contador++) { if (contador == 0 || contador == tamanho-1) { printf("%c", adorno); } else { printf("%c", meio); } } printf("\n"); } void mostra_caixa(char *str, char adornos, char meios) { const int tamanho_caixa = strlen(str)+10; int contador; mostra_linha(adornos, meios, tamanho_caixa); for (contador = 0; contador < 5; contador++) { if (contador == 0) { printf("%c", adornos); } else { printf(" "); } } printf("%s", str); for (contador = 0; contador < 5; contador++) { if (contador == 5-1) { printf("%c", adornos); } else { printf(" "); } } printf("\n"); mostra_linha(adornos, meios, tamanho_caixa); } void banner_terror(void) { puts(" ▄▀▀▀█▀▀▄ ▄▀▀█▄▄▄▄ ▄▀▀▄▀▀▀▄ ▄▀▀▄▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▄▀▀▀▄ "); puts("█ █ ▐ ▐ ▄▀ ▐ █ █ █ █ █ █ █ █ █ █ █ "); puts("▐ █ █▄▄▄▄▄ ▐ █▀▀█▀ ▐ █▀▀█▀ █ █ ▐ █▀▀█▀ "); puts(" █ █ ▌ ▄▀ █ ▄▀ █ ▀▄ ▄▀ ▄▀ █ "); puts(" ▄▀ ▄▀▄▄▄▄ █ █ █ █ ▀▀▀▀ █ █ "); puts("█ █ ▐ ▐ ▐ ▐ ▐ ▐ ▐ "); puts("▐ ▐ "); } int menu_principal(void) { char buffer[T_BUFFER]; int opcao = 0; do { printf("1-Mostra regras\n"); printf("2-Inicia jogo\n"); printf("3-Sai do jogo\n"); fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%i", &opcao); if (opcao < 0 || opcao > 3) { printf("Opcao invalida!\n"); printf("Pressione enter para continuar...\n"); f_pausa(); } } while (opcao < 0 || opcao > 3); return(opcao); } int main(void) { int opcao = 0; int q_acertos; int contador; int resposta = 0; int fim_jogo = 0; int niveis = 0; struct pergunta perguntas[Q_NIVEIS][Q_PERGUNTAS] = {0}; inicia_perguntas(perguntas); char buffer[T_BUFFER]; do { opcao = menu_principal(); switch (opcao) { case 1: printf("%s", REGRAS); printf("Pressione enter para continuar...\n"); f_pausa(); break; case 2: printf("So estão disponiveis as perguntas de terror!\n"); printf("Pressione enter para continuar...\n"); f_pausa(); fim_jogo = 0; do { switch (niveis) { case 0: banner_terror(); break; case 1: printf("Perguntas de conhecimento geral\n"); break; } q_acertos = 0; for (contador = 0; contador < Q_PERGUNTAS; contador++) { char tmp[60] = {'\0'}; /* Encerra a rodada por falta de perguntas */ if (niveis == 1 && contador > 0) break; sprintf(tmp, "PERGUNTA %i - %s", contador+1, TIPOS_PEGUNTAS[niveis]); mostra_caixa(tmp, '+', '-'); mostra_pergunta(perguntas[niveis][contador]); do { fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%i", &resposta); if (resposta < 1 || resposta > 3) { printf("Resposta invalida!\n"); printf("Digite uma das 3 alternativas\n"); } } while (resposta < 1 || resposta > 3); if (perguntas[niveis][contador].opcao_certa == resposta) { q_acertos++; } } if (q_acertos < 7) { printf("voce precisava acertar mais de 7 perguntas para passar de nivel\n"); fim_jogo = 1; } else { printf("voce passou para o proximo nivel\n"); niveis++; } printf("Pressione enter para continuar..."); f_pausa(); } while (!fim_jogo && niveis < 2); break; } } while (opcao != 3); return(0); } versão online!
  15. corrigido #include <stdio.h> #define TAMANHO_VETOR 10 #define T_BUFFER 256 int main(void) { char buffer[T_BUFFER] = {'\0'}; float valor1, valor2, mult, media, somatorio = 0; int num[TAMANHO_VETOR] = {0}, contador = 0, impar = 0, acima = 0; /*Solicitar, ao usuário, a digitação de números inteiros e ir armazenando, no vetor numeros[], apenas os números pares digitados até que o vetor esteja todo preenchido.*/ for (contador = 0; contador < TAMANHO_VETOR; contador++) { printf("\nDigite um numero: "); fgets(buffer, T_BUFFER, stdin); /* Pega a linha da entrada padrão */ sscanf(buffer, "%i", &num[contador]); /* Processa a linha e retira um inteiro */ if(num[contador] % 2 == 0) { somatorio += num[contador]; } if(num[contador] % 2 == 1) { impar++; } } media = somatorio / 10; /*Exibir, na tela, todo o conteúdo do vetor numeros[].*/ printf("\n%i = Vetor 1", num[0]); printf("\n%i = Vetor 2", num[1]); printf("\n%i = Vetor 3", num[2]); printf("\n%i = Vetor 4", num[3]); printf("\n%i = Vetor 5", num[4]); printf("\n%i = Vetor 6", num[5]); printf("\n%i = Vetor 7", num[6]); printf("\n%i = Vetor 8", num[7]); printf("\n%i = Vetor 9", num[8]); printf("\n%i = Vetor 10", num[9]); /*Exibir na tela a média dos vetores numeros[10] e também os valores acima da média.*/ printf("\n\nA media dos vetores e de: %0.2f", somatorio / 10); printf("\nOs numeros maiores que a media sao: "); for (contador = 0; contador < TAMANHO_VETOR; contador++) { if (num[contador] > media) printf("%d\t", num[contador]); } return(0); }
  16. @weslley334 Creio eu que você está reinventando a roda, não? Eu acho que o que você quer seja isso #include <stdio.h> #define T_BUFFER 256 int main(void) { int quantidade_alunos = 0, contador; float soma_notas1 = 0.0, soma_notas2 = 0.0, p1 = 0.0, p2 = 0.0; char buffer[T_BUFFER]; printf("Quantos alunos:"); fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%i", &quantidade_alunos); for (contador = 0; contador < quantidade_alunos; contador++) { printf("insira a nota do p1:"); fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%f", &p1); printf("insira a nota do p2:"); fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%f", &p2); soma_notas1 += p1; soma_notas2 += p2; } printf("Soma das notas p1:%.2f\n", soma_notas1); printf("Soma das notas p2:%.2f\n", soma_notas2); return(0); }
  17. @weslley334 você pode usar o nome do mês inteiro só basta colocar o especificador de formato "%s" no printf. #include <stdio.h> #include <stdlib.h> #define T_BUFFER 256 void f_pausa(void) { char buffer[256]; /* Declara um buffer temporario */ /* Pega a linha da entrada padrão */ fgets(buffer, 256, stdin); } main(void) { char buffer[T_BUFFER]; int i; float salario[12] = {0}; float salario_total = 0; const char *mes[12] = { "janeiro", "fevereiro", "marco", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro" }; /* { 'j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd' }; */ printf("qual C) o salario dos meses\n"); for (i = 0; i < 12; i++) { printf("%s = ", mes[i]); fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%f", &salario[i]); } puts("Mes Valor - R$"); for (i = 0; i < 12; i++) { printf("%s = ", mes[i]); printf("%.2f\n", salario[i]); salario_total = salario_total + salario[i]; } printf("total anual=%.2f\n\n", salario_total); f_pausa(); return(0); } e evite usar a função system ela vai te trazer problema com o tempo, use uma alternativa como eu fiz no código.
  18. Recomendo usar um desses sites abaixo. OnlineGDB Replit Vai perder tempo com o devC++. Leia esses artigos aqui sobre. Geometria plana. Círculo e circunferência.
  19. Na versão CE do delphi tem alguns objetos que não tem auto completar. Teste primeiro com Ctrl+espaço em um botão ou um form para ver se não é problema da IDE. Por padrão já era pra estar ativado.
  20. Se os valores não precisão de nenhum tratamento seria questão de só fazer algo assim. char *intToHex(int valor, char *conversao, int tamanho_maximo) { int contador1 = 0, contador2 = 0, contador3 = 0, resto = 0; char tmp_buffer[tamanho_maximo]; do { if (contador1 < tamanho_maximo) { resto = valor%16; valor /=16; if (resto < 10) { tmp_buffer[contador1] = resto+'0'; } else { tmp_buffer[contador1] = (resto-10)+'A'; } contador1++; } else { return(NULL); } } while (valor); contador3 = contador1-1; for (contador2 = 0; contador2 < contador1; contador2++) { conversao[contador2] = tmp_buffer[contador3]; contador3--; } conversao[contador2] = '\0'; return(conversao); } mas eu lembro que no objeto string tem uma função para converter para todas as outra bases. programa completo para tirar a colinha #include <stdio.h> #define T_BUFFER 40 char *intToHex(int valor, char *conversao, int tamanho_maximo) { int contador1 = 0, contador2 = 0, contador3 = 0, resto = 0; char tmp_buffer[tamanho_maximo]; do { if (contador1 < tamanho_maximo) { resto = valor%16; valor /=16; if (resto < 10) { tmp_buffer[contador1] = resto+'0'; } else { tmp_buffer[contador1] = (resto-10)+'A'; } contador1++; } else { return(NULL); } } while (valor); contador3 = contador1-1; for (contador2 = 0; contador2 < contador1; contador2++) { conversao[contador2] = tmp_buffer[contador3]; contador3--; } conversao[contador2] = '\0'; return(conversao); } int main(void) { int valor = 0; char valor_hex[20] = {'\0'}; char buffer[T_BUFFER]; do { do { printf("Digite um valor para ser convertido:"); fgets(buffer, T_BUFFER, stdin); sscanf(buffer, "%i", &valor); if (valor <= 0) { printf("Esse programa so converte numeros positivos!\n"); } } while (valor <= 0); if (intToHex(valor, valor_hex, 20) != NULL) { printf("O numero convertido para hexadecimal:%s\n", valor_hex); } else { printf("não foi possível converte o valor!\n"); } printf("Digite C para continuar convertendo:"); fgets(buffer, T_BUFFER, stdin); } while (buffer[0] == 'C' || buffer[0] == 'c'); return(0); } versão online!
  21. Minha ideia seria o primeiro batch verificar na rede se tem alguma atualização dele mesmo, aí só bastaria ele atualizar e se auto executar. mantendo todas as atualizações do batch em uma maquina só.
  22. Seu antivirus permite que um batch copie outro batch?
  23. Eu acho que a chave de registro é essa aqui HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Language\Default Ela deve estar com o valor entre 0407 a 0409 Já faz uns 15 anos que não uso o windows, então eu sugiro você abrir outro tópico na seção de sistemas operacionais. e não vai sair mudando o registro do windows de qualquer maneira, tem o risco de estragar o sistema operacional. Como você pode ver com a encodagem (essa palavra existe?) correta o programa fica normal, mas com a errada
  24. @Drelius Eu recomendo dar uma olhada no curso de algoritmo do curso em vídeo. E aprender outra linguagem de programação ao mesmo tempo. O visualg é meio limitado (não da para trabalhar com entrada, saída, áudio, vídeo e memória) deixando você meio limitado (não que isso seja ruim ). Uma linguagem como C,C++ ou javascript vai deixar você soltar mais a criatividade (recomendo ir de javascript!) fora que a maioria dos matérias para essas linguagens já contém uma tonelada de exercícios.

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!