Ir ao conteúdo
  • Cadastre-se

eduheavy

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

Tudo que eduheavy postou

  1. Consegui resolver depois de muita luta, mas ainda não consegui fazer a chamada da função isso que não entendo. /******************************************************** Programa: Objetivo: Autor: Luiz Eduardo E. de souza Data: **********************************************************/ #include <stdio.h> #include <locale.h> #include <string.h> #include <stdlib.h> #include <conio.h> int calcula_dv(int soma_main) { int mult_mod, mod_divmult, mod11; mult_mod = soma_main * 10; mod_divmult = mult_mod/11 * 11; mod11 = mult_mod -mod_divmult; return(mod11); } int main() { char texto [30], aux_conv[2] = {'\0','\0'}; int result_dv, i, peso, mult, soma; setlocale(LC_ALL, "Portuguese"); // incluindo a linguagem PT-BR printf("Desenvolvido por: \n"); printf("Luiz"); printf("\n\n\nEntre com uma string com valores decimais (máximo 30 caracteres):\n"); printf( "Digite FIM para encerrar o programa:\n" ); fgets(texto, 30, stdin); texto[strlen(texto)-1]='\0'; strupr(texto); //coloca todo texto em maiúscula if(strcmp(texto,"FIM") == 0) { return 0; } peso=2; for(i=strlen(texto)-1; i>=0; i--) { aux_conv[0] = texto[i]; if(peso>9) { peso=2; } mult = atoi(aux_conv) * peso; printf("numero %d peso %d mult %d\n",atoi(aux_conv),peso,mult); peso++; soma = soma + mult; } printf("O valor de soma é: %d", soma); result_dv = calcula_dv(soma); //chamada da função printf("O digito verificado é: %d", result_dv); getch(); return 0; } A função ai está dentro do "main", pela descrição do problema ela deve ficar fora
  2. O programa deverá solicitar a entrada de uma string (máximo de 30 caracteres) com caracteres decimais, a string pode possuir caracteres utilizados para formatação do valor como: .(ponto), -(traço), virgula e outros; FEITO solicitação da entrada de strings será finalizada apenas quando o usuário digitar “FIM” em qualquer padrão. Mensagem: "Digite 'FIM' para encerrar o programa.”; ACHO QUE ESTÁ CORRETO Caso o usuário digite uma string onde não seja possível calcular o dígito verificador, emitir a mensagem: "Atenção!!! Valor informado inválido." O cálculo do dígito verificador de ser realizado por uma função com nome “calcula_dv” FEITO A string informada pelo usuário deve ser passada para a função calcula_dv() através de chamada por valor; FEITO PARCIALMENTE A função calcula_dv() deve retornar um valor inteiro, ou seja, se o cálculo for bem sucedido retornar DV, caso contrário retornar valor -1; Se cálculo do DV for bem sucedido enviar mensagem para o usuário: DV calculado com sucesso: + string digitada + “-“ + DV calculado. TRAVEI NESSA PARTE Regras para cálculo do dígito verificador módulo 11. Para obter o DV da string digitada pelo usuário, multiplica-se cada caracter da string sem o DV pelos multiplicadores 9,8,7,6,5,4,3,2 nesta ordem (repetir está sequência quantas vezes for necessário), soma-se as unidades das dezenas. /******************************************************** Programa: Objetivo: Autor: Luiz Eduardo E. de souza Data: **********************************************************/ #include <stdio.h> #include <locale.h> #include <string.h> #include <stdlib.h> void calcula_dv (void); int main() { char texto[30], aux_conv[2] = {'\0','\0'}; int i, peso = 2, valor; setlocale(LC_ALL, "Portuguese"); printf("Desenvolvido por: \n"); printf("Luiz"); printf("\n\n\nEntre com uma string com valores decimais (máximo 30 caracteres):\n"); printf( "Digite FIM para encerrar o programa:\n" ); fgets(texto, 30, stdin); texto[strlen(texto)-1]='\0'; strupr(texto); //coloca todo texto em maiúscula if(texto == "fim") { return 0; } valor = atoi(texto); // converte em int calcula_dv(); printf("DV calculado com sucesso: " "%c", texto, "-" ,"%d" valor); } void calcula_dv (void) { for(i=strlen(texto)-1; i >=0; i--) { aux_conv[0] = texto[i]; soma = atoi(aux_conv) * peso; } }
  3. @arfneto estou totalmente travado #include<stdio.h> #include<locale.h> //#define TOTREG 3 #define TOTREG 3 //typedef struct typedef struct { char num[31]; } Pessoa; Pessoa pes[TOTREG]; //char num [30]; //}entrada_dados; //entrada_dados dados [TOTREG]; //************************************************FUNÇÃO CALCULA_DV******************************************************************// void caucula_dv(){ } //***********************************************************************************************************************************/ main() { setlocale(LC_ALL, "Portuguese"); char idx; char FIM; printf("Desenvolvido por:\n\nIsrael Carlos\nLuiz Eduardo\nGuilherme Garbin\n\n"); printf( "Digite FIM para encerrar o programa:\n" ); for(idx=0;idx<31;idx++) { printf("Entre com uma string com valores decimais (máximo 30 caracteres):\n"); scanf ("%c", &idx); if(idx < 0 ) { printf("\nAtenção!!! Valor informado inválido.\n\n"); } if (idx == FIM) { } } } //FIM DO PROGRAMA
  4. Mil desculpas, entendo seu ponto nessa questão, é que como eu vi que o fórum permite o compartilhamento .zip ou .rar achei que não teria este problema, mas entendi sim o que quis dizer.
  5. Anexei o exemplo de como ele deve ficar para ficar mais claro. verificador.rar
  6. O problema é a parte do Dv vou escrever as demais partes e retorno aqui onde travou.
  7. Sim, estou iniciando e não sei pra onde seguir agora.
  8. Pessoal estou travado no desenvolvimento de um programa podem me ajudar? Consegui fazer apenas o esqueleto dele. //Exercício: calcula_digito_verifcador //Autor:Luiz Eduardo Eleuterio de Souza. //Professor: Eduardo #include<stdio.h> #include<locale.h> #define TOTREG 3 typedef struct { float num [30]; char fim [3]; }entrada_dados; entrada_dados dados [TOTREG]; int main() { setlocale(LC_ALL, "Portuguese"); int idx; printf("Desenvolvido por:\n\n Luiz Eduardo Eleuterio de Souza\n"); for (idx =0; idx <TOTREG; idx ++) { printf("Digite FIM para encerrar o programa:\n"); //fgets(dados[idx].fim,3,stdin); //fflush(stdin); printf("Entre com uma string com valores decimais (máximo 30 caracteres):"); scanf("%f",&dados[idx].num); fflush(stdin); } } //FIM DO PROGRAMA A primeira informação a ser disponibilizada deve ser o nome completo de todos os alunos que integram o grupo; O programa deverá solicitar a entrada de uma string (máximo de 30 caracteres) com caracteres decimais, a string pode possuir caracteres utilizados para formatação do valor como: .(ponto), -(traço), virgula e outros; A solicitação da entrada de strings será finalizada apenas quando o usuário digitar “FIM” em qualquer padrão. Mensagem: "Digite 'FIM' para encerrar o programa.”; Caso o usuário digite uma string onde não seja possível calcular o dígito verificador, emitir a mensagem: "Atenção!!! Valor informado inválido." Caracteres não decimais (utilizados na formatação) devem ser ignorados no cálculo do dígito verificador; O cálculo do dígito verificador de ser realizado por uma função com nome “calcula_dv”; A string informada pelo usuário deve ser passada para a função calcula_dv() através de chamada por valor; A função calcula_dv() deve retornar um valor inteiro, ou seja, se o cálculo for bem sucedido retornar DV, caso contrário retornar valor -1; Se cálculo do DV for bem sucedido enviar mensagem para o usuário: DV calculado com sucesso: + string digitada + “-“ + DV calculado. Regras para cálculo do dígito verificador módulo 11. Para obter o DV da string digitada pelo usuário, multiplica-se cada caracter da string sem o DV pelos multiplicadores 9,8,7,6,5,4,3,2 nesta ordem (repetir está sequência quantas vezes for necessário), soma-se as unidades das dezenas.
  9. Galera seguinte, estou escrevendo um artigo sobre segurança do PFSense, preciso simular ataques DDOS nas maquinas virtuais que configurei e gerar relatórios para demonstrar a eficiência e falhas que podem existir, não entendo praticamente nada de Linux e os programas que encontrei para fazer os testes são todos para linux, alguem tem alguma ideia de como posso fazer esses testes?
  10. /******************************************************** Programa: Objetivo: Autor: Luiz Eduardo E. de souza Data: **********************************************************/ #include <stdio.h> int main() { int numero, qtde1=0, qtde2=0,qtde3=0,qtde4=0,qtde=0, num_total=0, media; printf("=============================\n"); printf("Selicione as opcao abaixo \n"); printf("=============================\n"); printf("1-) Digite um numero inteiro \n"); printf("2-) Digite 0 para sair \n"); printf("=============================\n"); scanf("%d", &numero); num_total += numero; while (numero!=0) { if ((numero>0) && (numero<10)) { qtde1=qtde1+1; } if ((numero>10) && (numero<99)) { qtde2=qtde2+1; } if ((numero>100) && (numero<999)) { qtde3=qtde3+1; } if ((numero>1000) && (numero<10000)) { qtde4=qtde4+1; } if (numero>10000) { qtde=qtde+1; } if (numero<0) { printf("Atencao!!! voce digitou um valor invalido."); } scanf("%d", &numero); } media = (qtde1+qtde2+qtde3+qtde4+qtde) / num_total; printf("Media = %d\n",media); printf("============================================================\n"); printf("Foram digitados %d valores no intervalo de 1 a 9", qtde1); printf("\n==========================================================\n"); printf("Foram digitados %d valores no intervalo de 10 a 99", qtde2); printf("\n==========================================================\n"); printf("Foram digitados %d valores no intervalo de 100 a 999", qtde3); printf("\n==========================================================\n"); printf("Foram digitados %d valores no intervalo de 1000 a 10000", qtde4); printf("\n===========================================================\n"); printf("Foram digitados %d valores no intervalo de numero > 10000", qtde); printf("\n===========================================================\n"); return 0; } Fiz as alterações aqui aparece o resultado mas não tenho certeza de que a logica esta correta.
  11. Galera podem me dar uma ajuda? Tenho um trabalho da Faculdade para fazer consegui desenvolver o codigo todo porém a media solicitada pelo professor não consigo desenvolver, apenas a media simples, segue abaixo a descrição do trabalho e meu codigo desenvolvido. O programa desenvolvido deve conter as seguintes funcionalidades: A primeira informação a disponibilizada é nome completo de todos os alunos que entegram o grupo; O programa deverá solicitar a entrada de números inteiros positivos e diferentes de 0(zero); A solicitação da entrada de números inteiros será finalizada apenas quando o usuário digitar o número 0(zero); Caso o usuário digite um número negativo o programa deve enviar a seguinte mensagem: "Atenção!!! Você digitou um valor inválido." Quando o usuário entrar com o valor 0(zero), o programa deverá apresentar o seguinte resultado: Você digitou N números, sendo que: (N indica a quantidade total de números digitados) Você digitou N números entre 1 e 9. (N indica a quantidade total de números digitados entre 1 e 9) Você digitou N números entre 10 e 99. (N indica a quantidade total de números digitados entre 10 e 99) Você digitou N números entre 100 e 999. (N indica a quantidade total de números digitados entre 100 e 999) Você digitou N números entre 1.000 e 10.000. (N indica a quantidade total de números digitados entre 1.000 e 10.000) Você digitou N números com outros valores. (N indica a quantidade total de números digitados acima de 10.000) O cálculo da media dos número digitados é => MEDIA". (MEDIA corresponde a soma de todos os valores digitados dividido pela quantidade total de números digitados, e deverá ter no máximo 2 casas decimais) Se o usuário não digitou nenhum número, o programa deverá enviar a seguinte mensagem: "Atenção !!!! Você não digitou nenhum número. /******************************************************** Programa: Objetivo: Autor: Luiz Eduardo E. de souza Data: **********************************************************/ #include <stdio.h> int main() { int numero, qtd1=0, qtd2=0, qtd3=0, qtd4=0, qtd=0, media; printf("=============================\n"); printf("Selicione as opcao abaixo \n"); printf("=============================\n"); printf("1-) Digite um numero inteiro \n"); printf("2-) Digite 0 para sair \n"); printf("=============================\n"); scanf("%d", &numero); while (numero!=0) { if ((numero>0) && (numero<10)) { qtd1=qtd1+1; } if ((numero>10) && (numero<99)) { qtd3=qtd3+1; } if ((numero>1000) && (numero<10000)) { qtd4=qtd4+1; } if (numero>10000) { qtd=qtd+1; } if (numero<0) { printf("Atencao!!! voce digitou um valor invalido."); } scanf("%d", &numero); } media = (qtd1+qtd2+qtd3+qtd4+qtd) / 2; printf("Media = %d\n",media); printf("============================================================\n"); printf("Foram digitados %d valores no intervalo de 1 a 9", qtd1); printf("\n==========================================================\n"); printf("Foram digitados %d valores no intervalo de 10 a 99", qtd2); printf("\n==========================================================\n"); printf("Foram digitados %d valores no intervalo de 100 a 999", qtd3); printf("\n==========================================================\n"); printf("Foram digitados %d valores no intervalo de 1000 a 10000", qtd4); printf("\n===========================================================\n"); printf("Foram digitados %d valores no intervalo de numero > 10000", qtd); printf("\n===========================================================\n"); 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...