Ir para conteúdo
Fórum Script Brasil

Durub

Moderadores
  • Total de itens

    788
  • Registro em

  • Última visita

Tudo que Durub postou

  1. count é int. O segundo parâmetro deve ser uma string. (um array de char terminado em '') Faça isto, então: sprintf(nome, "Arquivos%d.ini", count); Não se esqueça de fechar o arquivo antes de sumir com o seu pointer. (Ali você simplesmente reatribui o txt, não usa um fclose nele) Abraços!
  2. Durub

    Conexão Telnet em C/C++

    http://www.gnu.org/software/inetutils/ O melhor para você é pegar um programa open source (no caso, baixe ali aonde ele diz download) e analisar seu código. Você não poderá copiar nada integralmente do código, já que é GPL, mas vai te servir como base. Abraços! EDIT: Não tenho certeza se é GPL, só achei por ser do gnu.org, verifique isto.
  3. Só usar a tolower, da mesma biblioteca. Abraços.
  4. Você pode utilizar a toupper da ctype.h. Isto em cada caractere. #include <stdio.h> #include <ctype.h> int main(void) { char string[] = "ola"; int i; for(i = 0; i < 3; i++) printf("%c", toupper(string[i])); /* OLA */ return 0; } Abraços.
  5. Durub

    copiar gif

    Isto no Windows. No Unix/Linux não há distinção entre arquivos textos e arquivos binários. Logo abrir com "w" ou "wb" tanto faz. Já no Windows fazer isto é obrigatório. Abraços.
  6. Durub

    copiar gif

    Aptdados->dado só tem uma posição. Tente alocar assim: info = (Aptdados)malloc(sizeof(tdados)); info->dados = (char*) malloc(20); Abraços.
  7. Durub

    Struct

    Você está usando o operador igual em uma string. A forma correta de copiar é usando strcpy da string.h. strcpy(dados.descricao, descricao); Outra coisa, fica mais fácil se você informar a linha no código, com um comentário. Pois não há como ficar contando que linha é aqui. Mas em uma IDE, por exemplo, ele já mostra a linha para você. Abraços.
  8. Durub

    String

    Ele vai rodar enquanto o caractere não for igual ao NULL, que é o delimitador da string. s[0] -> 'O' s[1] -> "i' s[2] -> '\ 0' int i; /* i -> 0; s[0] == 'O', executa i -> 1; s[1] == 'i', executa i -> 2; s[2] == '\ 0', para */ for(i = 0; s[i] != '\ 0'; i++) printf("%c", s[i]); /* Saída: Oi */ Abraços.
  9. Durub

    String

    É um grande erro executar comparações em um for desta forma. A cada vez que o for fosse rodado, strlen seria chamado. Eu usaria a comparação s != '\ 0'. (É junto a barra e o 0) Abraços.
  10. Só agora fui perceber. Você está armazenando como int. Deveria ser char. Abraços.
  11. Só tem esta função no conio.h da Borland. Use o system mesmo, já que não há uma forma nativa de fazer isto portavelmente. (De qualquer forma, cls é só no Windows, como não estou no Ubuntu agora não posso verificar qual é o mesmo comando no Unix/Linux) Abraços.
  12. Arrumei, havia me confundido com gets. Na verdade, pegue esta função em vez de usar o fgets cru: char *readstring(char *dest, int num) { int i; fgets(dest, num, stdin); i = strlen(dest); if(dest[--i] == '\n') dest[i] = '\ 0'; /* RETIRE O ESPAÇO ENTRE A BARRA E O ZERO, NÃO DÁ PARA POSTAR ESSES CARACTERES JUNTOS NO FÓRUM */ return dest; } Chame-a como chamaria a fgets, só que sem o último argumento. Precisa da string.h. Abraços!
  13. fgets(cli[count].end, 30, stdin); Abraços. EDIT: Me confundi com gets.
  14. Durub

    Login e Senha

    Você precisa alocar a memória para o char com malloc. De qualquer forma use char login[x] e char senha[x] aonde x é número de caracteres que você quer poder armazenar. Abraços.
  15. http://scriptbrasil.com.br/forum/index.php?showtopic=129892 Abraços.
  16. O strlen procura pelo caractere null ('\ 0'), sem o espaço. Coloque ele na última posição do array de int e tudo rodará perfeitamente. (Eu acho, não analisei a lógica) Abraços.
  17. Durub

    Inverter Frase

    for(j=0;i<tam;j++){ Aqui está o erro: provavelmente você quer j < tam. Abraços.
  18. Durub

    Inverter Frase

    É verdade, isalpha da ctype.h. http://www.cplusplus.com/reference/clibrar...pe/isalpha.html Abraços!
  19. Durub

    Inverter Frase

    Ainda pode ser um símbolo ou algo assim. Fiz esta função rapidamente: int isConsonant(char key) { switch(key) { case 0x41: case 0x45: case 0x49: case 0x4F: case 0x55: case 0x61: case 0x65: case 0x69: case 0x6F: case 0x75: return 0; } if(((key < 0x41) || (key > 0x7A)) || ((key > 0x5A) || (key < 0x61))) return 0; return 1; } Primeiro ela verifica se é uma vogal, se for, retorna 0 direto. Se não, verifica se está no range dos caracteres do alfabeto (A-z). Mas como no range A-z ainda tem alguns símbolos, verifica se está neste range. Se passar em todos os testes (for uma consoante), retorna 1. Abraços.
  20. Durub

    Programa notas alunos

    Você quer passar um array ("vetor") para a soma, impossível. Cada nota (nota1, nota2, nota3, nota4) tem 30 posições. Abraços.
  21. Não tem como. Um ponteiro tem o tamanho de um long (4 bytes, salvo em sistemas 64 bits). Você vai precisar colocar um NULL na última posição e usar strlen. Abraços. PS: Você não está pegando o tamanho do char, você está pegando o tamanho do ponteiro.
  22. Durub

    Teoria

    Cada variável tem um endereço na memória. Quando você passa uma variável por parametro, você faz uma cópia desta variável. Quando você passa uma variável por referência, você passa o endereço na memória. #include <stdio.h> void multiplicar(int a, int b) { a *= b; } int main(void) { int a = 5; int b = 10; multiplicar(a, b); printf("%d - %d\n", a, b); /* 5 - 10 */ multiplicar(&a, b); /* & é o símbolo para pegar seu endereço, uma referência */ printf("%d - %d\n", a, b); /* 50 - 10 */ return 0; } Veja aí se conseguiu entender. Caso não, poste que eu tento dar outra explicação. Abraços! EDIT: Demorei um tempo pra escrever o exemplo que nem vi que o Beraldo tinha postado.
  23. Durub

    System ("pause")

    É. Vamos verificar o que o system("pause") faz para funcionar: Suspende o seu programaChama o sistema operacionalAbre um shell do sistema operacional (inicia novamente o sistema operacional em um sub processo)Agora procura pelo programa pause.exeAloca a memória para executar o programaExecuta o programa e espera por uma teclaDesaloca a memóriaSai do sistema operacionalContinua com o programaSem contar alguns problemas como a portabilidade e caso alguém renomeie o pause.exe. O jeito é usar cin.get() ou getchar(). (C++ e C, respectivamente) Abraços.
  24. Durub

    Estrutura e Função

    Como assim o que há de errado nos dois printf? O que ele está imprimindo? Maior salário: Pegue o primeiro valor (dados[0].salario) e armazene em uma variável (maior_salario). Então faça um loop (for) de 1 até 19 e verifique caso o valor de dados[x].salario for maior que o atual maior_salario, armazene o valor de dados[x].salario em maior_salario. O percentual ...: Antes de tudo, você precisa saber o sexo. Não teria que colocar na struct? De qualquer forma, sabendo o sexo, crie uma nova variável (salario_maior_de_1000 - apenas para ilustração, eu recomendaria outro nome) e verifique o sexo e o salário. Se for mulher e o salário for maior que 1000, incremente a variável salario_maior_de_1000. Depois você faz o cálculo da porcentagem com o número total de mulheres (que você também pode pegar pelo método citado anteriormente, só tirando o salário) e o número de mulheres com salário maior que 1000. Abraços.
×
×
  • Criar Novo...