Ir ao conteúdo

Ansi C

Membro Pleno
  • Posts

    3.284
  • Cadastrado em

  • Última visita

Tudo que Ansi C postou

  1. Bom Dia; Não, nunca havia visto, minha recomendação é criar um projeto com a ferramenta do IDE. Presumo está aqui o X do problema, faça um novo projeto como já recomendei, e copiando as linhas do anterior. Poste aqui o resultado que servirá para futuras consultas.
  2. Eu não sei as outras IDE, mais CodeBlocks que é o meu predileto você deve inciar um novo projeto, desta forma todos os resource do seu programa ficaram devidamente arquivados e a diretiva de compilação também atenderá corretamente acionando cada file do diretório. Só experimente o Code Blocks e depois busque por compilação por linha de comando. PS.: A sua maneira não e convencional.
  3. Sério, eu já tava imaginando duas variáveis e um contador e um mera e simples while. Observe //Authr Mauro Britivaldo #include <stdio.h> float funcAverage( void ); int main( void ) { printf( "Media %f\n\n", funcAverage() ); return 0; } float funcAverage( void ) { static float a = .0f, in; static int count = 0; printf( "#%d]entre com nota:", ++count ); scanf( "%f",&in ); a += in; printf( "Novo Aluno (s/n) " ); while( '\n' != getchar() )continue; if( 's' == getchar() )funcAverage( ); return (a/count); }
  4. Percebi, Mais apesar de tudo, implementar uma função com vetor melhor é melhor; é mais flexível e reutilizável. Os case's são uma solução rápida, mas própria e impossível de reutilizar, ou seja, quantos mais menus houve, mais case existiram no final é uma amotado de cases confusos.
  5. Pessoal ELSE statement não funciona desta maneira else(tipolamp==3) //AQUIII //ou desta else(tipolamp<=3) Na ocasião deve ser o IF statement ficando assim: //Uso do IF ELSE if( /*proposição*/ )... else if( /*proposição*/ ) //ou if( /*proposição*/ )... else if( /*proposição*/ ) Estas acima são as formas corretas
  6. Boa dia, não vi problema na tarefa e si, apenas o return que tem erro. O erro é que, return somente retorna um dado. No teu código você pede que ele retorne dois, neste formato não funciona na linguagem C'. Solução!? Ligeiramente simples; Pode ser: um vetor, struct, ponteiro, um interruptor no parâmetro. A mais engenhosa que posso imaginas agora é a seguinte: Como trata se da comparação de inteiros, podemos pensar em um truque, ao invés da função retorna 1 ou mais inteiros ela retorna um float onde antes do ( . ) damos o maior valor, e depois do ponto o menor valor E.i: Digamos que o maior valor é 3, e o menor é 1 então a função retorna um float f = 3.1, ?Entedeu?! Problema surgi se um ou mais dos ̶p̶a̶r̶â̶m̶e̶t̶r̶o̶s̶ argumentos for negativo, aí complica. É importante pensamos que a função deve retorna o maior e o menor número, mas não ao mesmo tempo. Achamos que é melhor refazer a interpretação do exercício que imaginarmos uma maneira de retorna dois valores sem usar: Vetor, struct ou ponteiro.
  7. Implementa a função, eu fiz abaixo uma que imagino ser +ou- o que você quer #include <stdio.h> int function_menu( unsigned,char[][5],char[] ); int main( void ) { char op[2][5] = { "Baba","Babo" }; char me[] = { "Baba ou Babo" }; function_menu( 2,op,me ); return 0; } //~Função Menu int function_menu( unsigned elem_amout,char item_label[][5],char mess[] ) { unsigned e = 0; unsigned o = 0; puts( mess ); while( e < elem_amout ) printf( "%d) %s\n", e,item_label[ e ] ), e++; while( printf( "Selecione: " ) ) { scanf( "%d",&o ); while( '\n' != getchar() )continue; if( o >= elem_amout )puts( "Entrada invalida!" ); else break; } return o; }
  8. Ansi C

    Erro ao compilar

    Bom dia @caiomoura45 Não está compilando! Deve ser por conta da sua IDE, Code::Blocks compilou
  9. Ansi C

    Trabalho em c

    Bom dia @JosuéVfazani Função stricmp retorna 3 valores inteiros, estes valores são lançados pela função por meio de um comparação lexical de dois strings (ou vetores de char's). Tomemos str1, str2 como exemplo: *Se str1 > str2 resposta é 1, se str1 < str2 resposta é -1 e se str1 == str2 a resposta é 0. Agora sabendo disso podemos retificar o fragmento abaixo para: //~O sinal de exclamação [!] inverte return( 0 para 1) if ( !stricmp( g,read.Nome ) ){ ... //~Tarefas, códigos etc... } A função converte os dois str em letras minusculas antes da comparação. *Referência: IBM::string.h::stricmp
  10. //~b & c #include <stdio.h> #include <stdlib.h> int maior( float,float ); int menor( float,float ); int compa( unsigned char,float[],int (*)( float,float ) ); float range( unsigned char,float[] ); void media( unsigned char,float[] ); int main( void ) { float notas[ 10 ] = { 6.5,8.5,7.5,5.5,4.5,9.5,9.0,8.0,7.0,6.0 }; media( 10,notas ), printf( "%s%.1f\n\n", "Range de notas: ", range( 10,notas ) ); system( "pause" ); return 0; //~Compile } //~Definição de função //~Compara dois valores retorna x para função maior ou menor int compa(unsigned char t, float n[], int (*func)( float,float ) ) { unsigned char p = 0; //~Posição do maior ou menor valor while( t-- ){ if( func( n[t],n[p] ) ) p = t; } return( p ); } //~Função retorna diferença da maior e menor nota float range( unsigned char t, float n[] ) { return( n[ compa( t,n,maior ) ] - n[ compa( t,n,menor ) ] ); } //~Função retorna o maior valor do vetor int maior( float x,float y ){ return( x > y ); } //~Função retorna o menor valor do vetor int menor( float x,float y ){ return( x < y ); } //~Função contabiliza e exibe n. de medias void media( unsigned char t, float n[] ) { unsigned char buf = t; float med = .0f; //~Soma das notas while( t-- )med = n[ t ] + med; //~Media das notas med = med / buf; t = buf; //~Restituindo o contador //~Contabilizando o n. de Maior e Menor nota que média unsigned char ma = 0, me = 0; while( t-- ) if( n[ t ] > med ) ma = ma + 1; else if( n[ t ] < med ) me = me + 1; else continue; //~Exibir na tela os resultados: printf("%s\n", "-------------------------------------"); printf( "%s%d\n%s%d\n", "Notas acima da media da sala: ",ma , "Notas abaixo da media da sala: ",me ); return; } Como se trata de um tarefa simples, não vejo problema em faze-lo por completo e coloquei um elemento coringa ponteiro de função, algo interessante de trabalhar.
  11. Ansi C

    Link codeblocks

    http://www.codeblocks.org/downloads/26 é a 4º opção na lista
  12. kkkk Eu não entendi a sua pergunta, estava tarde... Fato é que a magnitude que se tem na centésima posição de Sequência de Fibonacci é grande: Saiba mais pesquisando por: inttypes.h
  13. Boa Noite No IF avalou media, mais a variável que contem o dado é mediap
  14. De nada, Se apenas Copilar e Rodar exclusivamente!
  15. Se é por isso! adicionado 0 minutos depois é sim adicionado 3 minutos depois Saiba mais neste link: Microsoft Developer :: Intervalo de tipos 32bits VS 64bits
  16. Meu sistema é 64bits #include<stdio.h> #include<stdlib.h> int main() { unsigned long long int i=0, nro1=0, nro2=1, soma; for( i=1; i<=100; i++) { printf("\rnro1: %llu i: %llu", nro1, i ); soma=nro1+nro2; nro1=nro2; nro2=soma; } printf("\n\n"); system("pause"); return 0; }
  17. Boa Tarde, Tente declara a variável assim: ///~ C code #include <stdio.h> int main( void ) { unsigned long long int llVal = (unsigned long long int)-1; printf( "My Long long Integer size: %llu\n", llVal ); return( 0 ); }
  18. Bom Dia, A função que você mencionou itoa ela converte um INTEIRO para STRING; só por curiosidade o próprio nome da função é mnemônico do que ela faz observe neste caso em particular inteiro, to (de para), a de array(vetor ou string) = itoa Saiba mais sobre a função neste excelente site: itoa - C/C++ Reference adicionado 1 minuto depois fscanf(entrada,"%s", v); //~ a Variável' v deveria ser um int, e não um string / vetor[ 4 ];
  19. O problema é com relação a avaliação do 2º IF, observe as condições que declarei abaixo, e faça os teste apenas nelas Assim mesmo fora de contexto, porque dentro do contexto fica um pouco mais complicado. unsigned int calculaHora = 86401; //~ Exemplo #1 if (calculaHora > 86400 && 172800 > calculaHora) printf( "#1 Esta tudo Ok!\n" ); //~ Exemplo #2 calculaHora = 172799; if (calculaHora > 86400 && 172800 > calculaHora) printf( "#2 Esta tudo Ok!\n" ); //~ Exemplo #3 calculaHora = 172800; if (calculaHora > 86400 && 172800 > calculaHora) printf( "#3 Esta tudo Ok!\n" ); else printf( "#3 Fora do intervaldo que vai de 86401 a 172799\nSorry!\n\n" ); adicionado 5 minutos depois existe situações lógicas em que precisamos incluir os estremos da reta, então para estes casos usamos >= ou <= Acredito que este seja o caso? adicionado 5 minutos depois >= maior e Igual <= menor e Igual
  20. Me de um exemplo de valor para calculaHora?
  21. Bom Dia, ///~calculaHora deve ser maior que 86400 e 86400 não pode ser maior que 172800 entendem if( calculaHora > 86400 && 172800 > calculaHora ) { ... //~Código, tarefas etc. }
  22. Ansi C

    Exercício em c

    ////~Authr: Mauro Britivaldo ////~Date: 10/25/2016 #include <stdio.h> //~printf,scanf ///~Retona média aritmética float average( void ); int main( void ) { float total = 0; total = average( ); //~ Neste menu se total := 0 então finaliza. while( total && printf( "Media: %.2f\nContinue (s/n): ", total ) ) switch( getchar( ) ) { case 's': total = average( ); break; case 'n': total = .00f; break; default: printf( "Opção invalida!\n" ); } //~Este menu vai peguntar se deseja fazer novamente. return( 0x0 );//!Done } ///~Retona média aritmética~ ///~Definição ... float average( void ) { float soma = 0, in; int count = 0; printf( "Enter with numbers # to exit: " ); while( scanf( " %f", &in ) ) count++, soma += in; while( '\n' != getchar() ) continue; return( soma / count ); }
  23. Qual quer pergunta pode fazer, tentarei ajudar
  24. Ansi C

    Contador em c

    No menu crie uma opção para sair, quando o usuário entra com opção o Statement break para loop. ////~Authr: Mauro Britivaldo ////~Date: 10/24/2016 #include <stdio.h> //~printf,scanf int main( void ) { int p = 0; while( ++p ) { if( 's' == getchar() ) break;//~Só para quando entra com s + enter. } printf( "Pedidos igual a: %d\n\n!Done\n", p ); return( 0x0 );//!Done }
  25. A tarefa vai exibir em que momento a soma(i,j,k) := N, quantas vezes o evento ocorre no intervalo de N*N*N

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!