Ir ao conteúdo
  • Cadastre-se

Ansi C

Membro Pleno
  • Posts

    3.257
  • Cadastrado em

  • Última visita

Tudo que Ansi C postou

  1. não entendi direitinho: E para ser assim: void paint_Z(int x, int y); ou void paint_z(int tamanho);
  2. A função que grava dados no arquivo termina de gravar com uma nova linha; fprintf(arquivo, "%d\n",c); esse nova linha e lida pelo feof(), mais não e lido por scanf() dais a repetição; Como resolver isso: if(fscanf(arquivo,"%d", &c) == 1)printf("O total e: %d\n",c); Ou seja somente haverá impressão se houver dados, se não, não!
  3. Ansi C

    Duvida array

    Eu entendi que o objetivo final é saber qual das temperaturas é a maior ? se sim; Você deve primeiro adicionar as temperaturas em um vetor; aconselho fazer em um vetor menor que 31, apenas para teste. depois usar um loop e comparar todos os valores de maneira a preservar apenas o de maior valor na variável int maiorte; Faça isso parte por vez, e não simultaneamente; Dividir o trabalho ajudar a achar erros de logica.
  4. Ansi C

    Duvida array

    Ok! if ((vet[cont]) <=(-15) || (<= 45)) Essa parte destacada, chamaremos de condição de existência; A condição de ... if na forma com erro de semântica, o correto na minha opinião é como segue abaixo: if ((vet[cont]) <=(-15) || (vet[cont])(<= 45))
  5. system(const char* str) //Chama software nativos do sistema, assim com existe cls análogo a CLEAR, /* que é um comando dos DOS-W enfim se eu bem entendi, você que inciar através com CMD DOS-W e quando sair, sair todos juntos, basta seguir com mesta temática */ system("exit") // Chamada para sair em DOS-W.
  6. Se eu entendi bem os valores são passados por parâmetro de execução. então o a função main espera por argumentos tal qual. int main(int argc, char *argv[]) Onde argc, será o índice, Como esta assim cada valor de argv é um string; você pode trabalhar com strings ou com char deles.
  7. você deve criar um condição que trate possíveis espaços entre os operadores , (tratamento de bugs faz parte da progração) algo com se char for igual a espaço repetir char novamente até ser diferente de espaço desta forma o um operador ou um numero será lido pela escâner e os espaços serão devidamente ignorados nas operações.
  8. Tem que fazer simultaneamente; usando getchar() para pegar os sinais usando scanf() para pegar os números e um loop para controlar quantas vezes getchar() e scanf() vão se repetir; exemplo: 4 4 - 1 - 3 + 9 (depois da quantidade de operandos, vem a operação) aqui por exemplo será: 4x scanf() e (4 -1)x getchar() scanf()::4 getchar():: - scanf()::1 getchar():: - scanf()::3 getchar():: + scanf()::9
  9. Ansi C

    Ajuda em C

    Ok Preste atenção. Coloque as coisa neste ordem correta, esse é o problema; #define variáveis globais todas as struct declara de protótipos de função main() outras funções() ...
  10. Gravação e leitura tem que ser condizentes! fprintf(arquivo, "%d ", c); <- assim fica condizente com -> fscanf(arquivo,"%d ", &c);
  11. **Você tentou criar uma variável da ponteiro da estrutura file dentro de um label; FILE * arquivo; ***deveria criar externamente no topo da função, junta com as demais; Uma exemplo deste erro: int opcao = 0; switch(opcao) { case 0: // <- isso se chama Label. int i; //É uma erro declarar variáveis dentro do Label, //por tanto não copila, pois inflige as regras. i = 10; printf("Valor de i: %d", i); break; ... }} Para copilar tem que ser fora do label int opcao = 0;int i = 0; //Fora do Label funciona, agora não infligiu nenhum regra. switch(opcao) { case 0: // <- isso se chama Label. i = 10; // pode acessar, porém não declarar. printf("Valor de i: %d", i); break; ... }} agora a função que grava void calcular(int a, int b, int c){FILE *arquivo;arquivo=abre('a', "fn.txt");fprintf(arquivo, "O total e: %d\n", c);fechar(arquivo);} Ela não condiz com a função que ler: void listar(){FILE *arquivo;int c;arquivo=abre('l', "fn.txt");while(!feof(arquivo)){fscanf(arquivo,"%d", &c);printf("\nO resultado e: %d");} Em uma você gravou string depois numero; Na outro você quer ler somente o numero, isso não pode acontecer assim! Gravação e leitura tem que ser condizentes! fprintf(arquivo, "%d ", c); <- assim fica condizente com -> fscanf(arquivo,"%d", &c) O total e: %d não é igual a %d, por isso vai dar erro
  12. Ok '!' Você fez tudo certinho, só na ordem dos acontecimentos é que esta o erro: Observe: Para corrigir você so precisa colocar a declaração da matriz depois que tiver valores de linhas, e colunas certinhos. printf("Digite o numero de linhas da matriz: ");scanf("%d", &linhas);printf("Digite o numero de colunas da matriz: ");scanf("%d", &colunas);printf("voce gerou uma matriz [%d][%d]\n\n\n",linhas, colunas);// Agora posso criar minha matriz com segurança, neste ponto será como esperado.int matriz[linhas][colunas]; /* Matriz criada com valores passado para scanf */
  13. Fiz um teste apenas com a função lista; Com os seguintes passos: Criei um arquivo com nome fn.txt, no mesmo local onde se encontra o programa em meu PC. Copilei o código, com as modificações já propostas aqui no fórum. Optei por listar. o resultado, foi os números que gravei previamente no arquivo fn.txt (usei o bloco de notas para gravar); ​ Essa função esta ótima.
  14. char depende da codificação. UTF - 8; ASCII etc. Faça uma teste pressione Alt+ 219 = █
  15. Ok '!' Erro está ao iniciar variáveis int linhas, colunas, i, j;int matriz[linhas][colunas]; Dentro o computador: linhas; colunas; Já possuem valor muito antes de você digitar os valores nas Main::scanf(); A mesma coisa acontece com matriz[linhas][colunas] que será iniciada com esse valores indeterminados.
  16. Não vou mexe em seu algoritmo em vez disso, abaixo fiz!
  17. freecell->cartas = (freecell->cartas)malloc(TAM_PILHAS_CARTAS * sizeof (freecell->cartas*)); Essa asterisco ele que causa o erro;
  18. exatamente, o que determina se é o maior > ou menor < é esse sinal da estasiamento if
  19. Isso por que char nome2 tem que ser maior que char nome; Pense se as vogais vão se repetir, será um strings maior que o original;
  20. Peça ajuda ao seu professor para te explicar as regras de scope and blocks; o erro se encontrava no scope da estasiamento main::do::switch()::case 1 ** Você tentou usar uma variável não declarada no scanf::&B ***deveria ser scanf::&b; &B não existe. **Você tentou criar uma variável da ponteiro da estrutura file dentro de um label; FILE * arquivo; ***deveria criar externamente no topo da função, junta com as demais; Faça as modificações para corrigir o estado atual, e nos posto os resultado e se positivo.
  21. Ansi C

    problema printar

    Esta confundido os conceitos; o índice de um vetor em C, começa no 0 e não no 1: printf("%s", matriz[5]); //O primeiro(1) strings e [0] então o sexto(6) é [5];
  22. Ok '!' unsigned char uc_especial = 219;
  23. Você vai precisar de mais algumas variáveis Algo parecido como segue na imagem:
  24. #include <stdio.h> #include <stdlib.h> int main(void) { printf("%g", 2.6000); /* a segunda opção é usar g, no lugar de f */ return (0x0); }

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!