Ir ao conteúdo

Ansi C

Membro Pleno
  • Posts

    3.284
  • Cadastrado em

  • Última visita

Tudo que Ansi C postou

  1. Em nenhum momento estou pedindo para você abandonar uma coisa pela outra; Pelo contrario faça como quiser e siga a tendencia de sua região. Será! Sei não ein!
  2. C é a linguagem dos efeitos especias do Cinema desdo do Filme ET até Avatar. C está em todos sistema operacionais famosos. C language é a célula de todo programa que você já usou e vai usar **. C não é produtiva verdade. "O que me irrita nas linguagens super produtivas como Python (em termos de produtividade C++ perde feio para Python) é que só seleto grupo de pessoas sabem o que realmente está acontecendo;" C faz parte de 'todos compiladores / interpretadores' exemplo no mundo Python que é baseado em java que é baseado C++ que é baseado em C; C language é a linguagem da chamada heurística que faz a verdadeira programação, programação essa feita por grandes programadores de compiladores. C só perde para Java; Até sua filha C++ fica em 'terceiro todos os anos' ... --------------------------- Top Language 2018 ** voce gosta de fazer pipoca e ligar sua tv e assistir um filminho? Isso só foi possível porque C fez a ponte entre o humano e o controlador digital da Tv e do Microondas e de quase todo aparelho domestico até a porta da garagem. C é o mais perto que podermos chegar da máquina "Nenhuma técnica de programação resolve todos os problemas. Nenhuma linguagem de programação produz apenas resultados corretos. Nenhum programador deve iniciar cada projeto do zero" C é para quem tem calma de aprender, e não ficará por isso fora da diversão.
  3. Sempre achei que C++ fosse extensão da linguagem C, até mais que isso, que todo código C++ é reduzido a C antes de assemblear. Então poderias usar o goto em C++ da mesma formo que consigo em C'11? Deixa pra lá, com goto e sem goto não tenho intenção de aprender c++
  4. É, também! Ainda bem que essas questões não foram o bastante para remover essa palavra chave, e espero que nunca seja porque gosto muito do poder por traz de simples palavra que desbanca todo resto das declarações de loop.
  5. É, de fato para pessoas iniciante / inexperientes na arte do goto, o bicho pega.
  6. Não sabia, dá um exemplo?
  7. Feche essa poster. E cria um novo com essa nova questão. É por uma questão de melhor organização, pois esse novo problema
  8. Realmente continue não funciona. Porém goto funciona. #include <stdio.h> int main( void ){ int i = 0; L0: switch( i ){ case 10: return 0; default: printf(" %d", ++i); goto L0;} return 0;}
  9. faltou so colocar %s dentro do printf printf("\nNome do cliente que comprou o ingresso B3: %s", cliente[2][3].nome);
  10. Que dúvida? Parece que você sabe como imprimir.
  11. Um exemplo de lista unicamente ligada será o bastante Aguarde um pouco mais.
  12. Serie realmente interessante, se o problema fosse a diferença entre datas em no formato data, mas não é o caso.
  13. Aqui a muito tempo fiz uma coisa parecida com a sua proposta @isrnick int difdatas_( const int data_1_vet[], const int data_2_vet[] ){ int dif_i; if(dif_i = data_1_vet[ANO] - data_2_vet[ANO])return( dif_i ); if(dif_i = data_1_vet[MES] - data_2_vet[MES])return( dif_i ); if(dif_i = data_1_vet[DIA] - data_2_vet[DIA])return( dif_i ); return( 0 ); } /* a diferença de datas iguais é 0 */ Na época serviu bem. Ps.: Ainda serve!
  14. Esquece! adicionado 1 minuto depois Esquece!
  15. Se não podemos usar de estrutura FOR, então só resta repetir ... Apenas que aperte com bloco de decisão IF's que não refletiu 'adequadamente' a ideia de repetição. Veja versão mais clara disso, sinta como coisa toda se repete de cima para baixo. float maior_nota_f;/* variável com maior nota */ /* repetição literal *//* teste de maior nota */ maior_nota_f = nota1_f /* Teste 0 */ if( maior_nota_f < nota2_f ){ maior_nota_f = nota2_f; }/* Teste 1 */ if( maior_nota_f < nota3_f ){ maior_nota_f = nota3_f; }/* Teste 2 */ if( maior_nota_f < nota4_f ){ maior_nota_f = nota4_f; }/* Teste 3 */ if( maior_nota_f < nota5_f ){ maior_nota_f = nota5_f; }/* Teste 4 */ /* fim do teste */
  16. Só com muito esforço alguém consegue relacionar essa questão com linguagens-C! @Gabriel T.I Penso que o Prof. quer sua imaginação (inteligencia) atuando no problema. Ele diz dizendo: Com teu conhecimento de lógica e algorítimo , simule a execução disso e ... Será que sabes de lógica / algorítimo ?!!! Esquece like-C !
  17. Você está muito indeciso, pois trata o objeto velha como sendo int[ ], char[ ] ou string[ ]. Tem casting para os três tipos. E alguns até implícitos, ou sei lá o que. int pos[9],velha[3][3],o,p,r,c,s; ... void mostrar(){ cout << " +----+-----+----+" << endl; for(o=0;o<3;o++){ for(p=0;p<3;p++){ cout << " [ " << velha[o][p] << "] " ; } cout << endl; cout << " +----+-----+----+" << endl; } O fragmento acima por exemplo olha a loucura que é C++: velha é tipo int(*objeto)[3] e está sendo impresso naturalmente por meio de downcasting implícito. Já abaixo o que vemos if(velha[o][p] > 9)cout << " [ " << char (velha[o][p]) << "] "; é o mesmo procedimento, em tese, pois é downcasting só que explícito; Daí advêm a inconsistência. Responda-me por curiosidade qual o motivo quer tanto que velha seja int(*)[3] e não char(*)[3]? Já da parte lógica eu não gosto muito, pois existe tantas maneiras de fazer mesma coisa que perde a graça. Porém o tema do poste é lógica (99% poster no fórum C\C++ é de lógica) para os problemas citados eu pensei apenas neste: Pensei se o jogo vence quem tem 3 símbolos seguidos bastaria somar individualmente linhas e colunas Exemplo: x x x Para esse caso se você percorrer somando a primeira linhas o x o o resultado da soma vai ser x+x+x, poder ser o+o+o basta então o o x comparar a soma com duas constante VENCEX e VENCEO se for diferente das duas essa linha daria empate o resultado e ignorado e parte para o próximo teste. No exemplo a soma vai ser igual a VENCEX. Só não lembro agora o valor de x na tabela ANSI mais acho que você entendeu. Ah, realize o teste apenas para as conexões, sou seja, os vizinhos de X Se X escolher 0-linha, 1-coluna então os V vizinhos são linha e a coluna a qual X pertence V x V - V - - V - Isso vai adicionar, mais complexidade caso você queira isso. Morrendo de sono já, se a ideia foi ruim... coloco culpa na melatonina
  18. Nos diga o que você quer e não consegue? Você a rotina que compara? é isso.
  19. funcionario_t maior_salario( funcionario_t lista_funcionario[], int tamanho_lista){ //funcao para maior salario if (tamanho_lista > 0) { int i, maior_indice; float maior_salario = 0; for (i = 0; i < tamanho_lista; i++) { if (lista_funcionario[i].salario > maior_salario) { maior_salario = lista_funcionario[i].salario; maior_indice = i; }} printf("Nome funcionario: %s\n", lista_funcionario[maior_indice]); printf("Maior salario funcionario: %f\n", maior_salario); } }
  20. Seu professor está certo!
  21. @albert igo Apareceu erro no programa? Impossível! Eu testei agora mesmo o código do post #2 aquele que eu postei está operacional. valeu!
  22. /* ========================================================================= Linguagem: Programa: Data: Autor: ========================================================================= */ /* INCLUDE */ /* Incluir com esta inclusão é possível usar */ #include <stdio.h>/* printf; puts; ... */ /* DEFINE */ /* Definir macro customizado */ #define SIZEDB 10/* SIZEDB tamanho máximo do banco de dados */ /* ABSTRACT */ /* Abstrato */ struct descricao_stt{/* descricao_stt tém de caracteres 20 bytes */ char string[ 20 ]; }; struct produtoc{/* produtoc ... */ struct descricao_stt descricao; int quantidade; int codigo; float valor; }; /* VARIABLE GLOBAL */ /* Variáveis globais / Escopo de Programa / Públicas */ struct produtoc DBase[ SIZEDB ];/* DBase Banco de Dados */ /* ----------------------------------------------- PRODUTOS_CADASTROS ------ */ int produtos_cadastros( ){ /* struct produtoc produtoc[10]; [ ! ]A impressão é que produtoc é variável banco de Dados: Tipo de variável que serve para nomer banco de dados interno ao programa. Para isso ser legal, ela tem que ser acessível a todos os escopos / rotinas / funções. • Assim declaramos como pública no topo do Programa. */ DBase[0].codigo = 1; //strcpy(DBase[0].descricao ,"liquigás"); DBase[0].descricao = *(struct descricao_stt *)"Liquigás"; DBase[0].valor = 60.00; DBase[0].quantidade= 0; DBase[1].codigo = 2; //strcpy(DBase[1].descricao ,"Consigás"); DBase[1].descricao = *(struct descricao_stt *)"Consigás"; DBase[1].valor = 58.00; DBase[1].quantidade= 0; DBase[2].codigo = 3; //strcpy(DBase[2].descricao ,"Nacional Gás"); DBase[2].descricao = *(struct descricao_stt *)"Nacional Gás"; DBase[2].valor = 58.00; DBase[2].quantidade= 0; return( 0 ); } /* --------------------------------------------- PRODUTOS_CADASTRADOS ------ */ void produtos_cadastrados( ){ int i; for( i = 0; i < SIZEDB; i++ ) { if( 0 != DBase[ i ].codigo ) printf( "ID: %d \t \t%s \t%.2f\n", DBase[ i ].codigo, &DBase[ i ].descricao, DBase[ i ].valor ); } return; } // quando eu chamo essa função ela aparece valores zerados . /* ------------------------------------------------------------- MAIN ------ */ int main( void ){ produtos_cadastros( ); /* chamar produtos_cadastros */ produtos_cadastrados( );/* chamar produtos_cadastrados */ return 0; } [ ! ]Hints: a dica é; a atribuição de tipos abstratos via casting entre tipos. É interessante porque é prático, rápido e não existe risco conhecido, pois todos os bits da sequência são de acesso do programa.
  23. Função completa e teste Digito_Posicao.c Debugger Online: Digito_Posicao Posição Inteiro Dígito Função Documentação
  24. Ola@ibiiza Você implementou que parte do código? adicionado 7 minutos depois #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> /* declarar enum operações */ enum operacoes_da_calculadora { _soma = 1, _subtrair, _multiplicar, _dividir } operacao; int soma( int a, int b ) { return ( a + b ); } int subtrair( int a, int b ) { return ( a - b ); } int multiplicar( int a, int b ) { return ( a * b ); } int dividir( int a, int b ) { return ( a / b ); } int callfunc( int a, int b, int( *operacao )( int, int ) ) { int ret; ret = operacao( a, b ); return ( ret ); } /* ------------------------------------------------------------------------------------ */ int main( void ) { int operacao, n1, n2, retmain = 0; printf( "Digite os valores: \n" ); printf( "Valor 1: " ); scanf( "%d", &n1 ); printf( "Valor 2: " ); scanf( "%d", &n2 ); system( "clear & cls" ); printf( "Escolha operacao operacao \n" ); printf( "1- Soma\n2- Subtraccão\n3- Multiplicacao\n4- Divisao\n" ); printf( "Digite a sua escolha: " ); scanf( "%d", &operacao ); switch( operacao ){ case _soma: retmain = callfunc( n1,n2,soma ); break; case _subtrair: retmain = callfunc( n1,n2,subtrair ); break; case _multiplicar: retmain = callfunc( n1,n2,multiplicar ); break; case _dividir: retmain = callfunc( n1,n2,dividir ); break; } printf( "O resultado deu: %d\n", retmain ); 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!