Jump to content
Fórum Script Brasil

C/C++ nuts

Membros
  • Posts

    50
  • Joined

  • Last visited

About C/C++ nuts

  • Birthday 03/14/1985

Contatos

  • Website URL
    http://strufts.blogspot.com
  • ICQ
    0

Perfil

  • Interests
    C/C++ , Haskell, Java.

C/C++ nuts's Achievements

0

Reputation

  1. http://www.gidnetwork.com/b-57.html
  2. É só prestar atenção no que você está fazendo... void insere(celula *i) { void protecao_var(char* a); .... void protecao_var(char* a){ .... return a; } Se a função está declarada corretamente e o tipo de retorno não é conflitante, o compilador não reclama. Isso não torna C complicado, porque é assim em qualquer linguagem sem tipagem dinâmica. E não use fflush(stdin). Procure outro jeito de limpar o buffer.
  3. Isso se chama buffer sujo. Procure um jeito de limpar que não seja fflush(stdin).
  4. for (i = 0; i < n; i++) for (j = i + 1; j < n; j++) soma = mat[i][j]+mat2[i][j]; Por que "j=i+1"? http://pt.wikipedia.org/wiki/Adi%C3%A7%C3%A3o_de_matrizes
  5. C/C++ nuts

    Jogo da forca

    Não use fflush(stdin).
  6. Um loop é um do-while, while ou for. Você viu algum? maior_50 = idade >= 50 O que vem a ser isso? Você tem que contar quantas pessoas têm idade >=50 e não colocar o resultado da comparação.
  7. Outro modo é usar as funções ceil e floor. Quando um número é inteiro o resultado das duas funções é o mesmo. Melhor do que converter um float ou double p/ int e perder a representação. Por que você está usando variáveis globais? printf("Entre com o nome do aluno: "); fgets(nome, 20, stdin); scanf("%100[^\n]",nome); Por que você colocou um scanf depois do fgets se você já leu o nome do aluno? printf("Entre com a nota A: "); scanf("%f",&n1); while(n1<0){ printf("ERRO: Valor inválido. Digite novamente: "); scanf("%f",&n1); } Estruture melhor isso. do { printf("Entre com a nota A: "); scanf("%f",&n1); if (n1 < 0) printf("ERRO: Valor inválido. Digite novamente: "); } while (n1 <0); - Você não está incrementando a variável cont. E já que o loop não tem outra condição senão o valor dessa variável, use um for. - P/ tirar o \n da string use strchr.
  8. C/C++ nuts

    fatoração

    Encontrar todos os divisores de um número não é fatorar. A fatoração implica em encontrar divisores que multiplicados resultem no inteiro fatorado.
  9. Use a tag code quando postar códigos. int olhos, cabelo, idade, i, // i = total Se 'i' é total de alguma coisa, então coloque 'total' como nome da variável, e não 'i'... maivelho // maior idade entre todos Se é o mais velho, é um tanto lógico que tem que ter a maior idade entre todos no conjunto. Não comente o nome da variável quando ele já explica o que ela armazena. #include <stdio.h> void menu_olhos() { puts("1 - Azuis"); puts("2 - Verdes"); puts("3 - Castanhos"); } void menu_cabelos() { puts("1 - Louro"); puts("2 - Castanhos"); puts("3 - Pretos"); } int main (int argc, char *argv[]) { int idade, mais_velho, cor_olhos, cor_cabelos; char sexo; int total_lido = 0; int mulheres = 0; while(1) { printf("Idade: "); scanf("%d",&idade); if (idade == -1) break; printf("Sexo (M/F): "); scanf("%*c%c",&sexo); // O %*c consome o \n que fica no buffer. Não use fflush(stdin). do { printf("=== Cor dos olhos:\n"); menu_olhos(); scanf("%d", &cor_olhos); if (cor_olhos < 1 || cor_olhos > 3) puts("Opção inválida."); } while (cor_olhos < 1 || cor_olhos > 3); do { printf("=== Cor dos cabelos:\n"); menu_cabelos(); scanf("%d", &cor_cabelos); if (cor_cabelos < 1 || cor_cabelos > 3) puts("Opção inválida."); } while (cor_cabelos < 1 || cor_cabelos > 3); if (!total_lido) mais_velho = idade; else { if (idade > mais_velho) mais_velho = idade; } if (sexo == 'F' || sexo == 'f' && idade >= 18 && idade <= 35 && cor_olhos == 2 && cor_cabelos == 1) mulheres++; total_lido++; } if (total_lido) { printf("Idade do mais velho: %d\n", mais_velho); printf("Porcentagem de mulheres entre 18 e 35 anos (inclusive), loiras e de olhos verdes : %.2f\%\n", 100.00*mulheres/total_lido); } return 0; }
  10. Ao invés de ficar chamando o próprio programa, use um while. Não entendi o que o negócio tem que fazer. Explique melhor.
  11. Kate, Gedit, (G)Vim, Geany e se eu não me engano, Eclipse. *Antes que venham com 'Vim é arcaico': se você não lembra ou não quer digitar toda uma estrutura, baixe o plugin SnipMate e coloque no diretório .vim.
  12. C/C++ nuts

    Dúvida

    if (((sexo=='f')||(sexo=='m')&&(nota_do_aluno>maior_nota))) maior_nota=nota_do_aluno; matricula_do_aluno_com_maior_media=numero_da_matricula; total_de_alunos_turma=numero_da_matricula; if ((sexo=='f')&&(nota_do_aluno<menor_nota)) menor_nota= nota_do_aluno; matricula_da_aluna_com_menor_media=numero_da_matricula; Lógico que não está. Você não incrementa a variável...Ao invés disso atribui o número de matrícula... E não precisa encher de parênteses os ifs. A ordem de processamento é da esquerda para direita. Você só precisa prestar atenção na precedência dos operadores. Se você está mexendo com notas, deveria ser um float, e não int. Além disso, dependendo da escala, as notas vão de 0 a 10 ou 0 a 100. Por que o 9999? E Por que ele é a menor nota e 0 é a maior? Se é p/ executar tudo o que está identado no if, você esqueceu das chaves. Não use fflush(stdin). fflush foi feito para saída de dados, e não entrada. http://www.gidnetwork.com/b-57.html http://ubuntuforums.org/showthread.php?t=83694 #include <stdio.h> void parseinput() { while(getchar()!='\n')continue; } int main (void) { int numero_da_matricula,total_de_alunos_turma=0; float maior_nota,menor_nota,nota_do_aluno; int matricula_aluno_maior_media,matricula_aluna_menor_media; char sexo,resp; while ((resp!='s')&&(resp!='S')) { printf ("Informe a Matricula= "); scanf ("%d",&numero_da_matricula); printf ("Informe a Nota= "); scanf ("%f",&nota_do_aluno); parseinput(); printf ("Informe o Sexo= "); scanf ("%c",&sexo); if (!total_de_alunos_turma) { maior_nota = nota_do_aluno; matricula_aluno_maior_media = numero_da_matricula; } else { if (nota_do_aluno>=maior_nota) { matricula_aluno_maior_media = numero_da_matricula; maior_nota = nota_do_aluno; } } if (sexo == 'f' || sexo == 'F') { if(!total_de_alunos_turma) { menor_nota=nota_do_aluno; matricula_aluna_menor_media = numero_da_matricula; }else{ if(nota_do_aluno<=menor_nota){ menor_nota=nota_do_aluno; matricula_aluna_menor_media = numero_da_matricula; } } } total_de_alunos_turma++; parseinput(); printf ("deseja parar?"); scanf ("%c",&resp); } printf ("o total de alunos: %d.\n\n",total_de_alunos_turma); printf ("a matricula do aluno ou aluna com maior media: %d \n\n",matricula_aluno_maior_media); printf ("a matricula da aluna com media %.2f: %d\n\n",menor_nota,matricula_aluna_menor_media); return (0); }
  13. #!/usr/bin/python def main(): value1 = input('Enter the first value: ') value2 = input('Entere the second value: ') print('What do you want to do?') option = input('1 - Addition\n2 - Subtraction\n3- Multiplication\n4 - Division') if option == 1: result = value1 + value2 elif option == 2: result = value1 - value2 elif option == 3: result = value1 * value2 elif option == 4: result = value1 / value2 else: print('Invalid option') exit() print('Result = ', result) if result % 2 == 0: print('Even number') else: print('Odd number') if result >= 0: print('Positive number') else: print('Negative number') if type(result) == int: print('Integer number') else: print('Float number')
  14. C/C++ nuts

    Ajuda com String[]

    for(String s: arquivosParaExclusão) System.out.println(s);
×
×
  • Create New...