Ir ao conteúdo
  • Cadastre-se

1freakday

Membro Pleno
  • Posts

    667
  • Cadastrado em

  • Última visita

Tudo que 1freakday postou

  1. Na verdade o que @MassakiMsk disse já é uma resposta, uma vez que TipoCelula ( no inicio ) é o nome próprio da struct. Ao observar: typedef struct TipoCelula { TipoItem Item; TipoApontador Prox; } TipoCelula; Usa-se typedef para 'apelidar', como um tipo, a partir de um objeto/etc já criado. E a ultima TipoCelula é apenas um 'apelido' também, de um tipo, usado sempre depois da criação da struct. Se você remover esse primeiro TipoCelula, você não ira criar simplesmente uma struct, e sim um tipo, a partir de uma struct, e ao usar: typedef struct TipoCelula *TipoApontador; Você esta declarando que a struct TipoApontador foi criada a partir da struct TipoCelula, o que não foi, por que é apenas um tipo, e afins... Então para criar vários tipos de uma struct é necessário que ela exista com um Alias ( apelido inicial ), a não ser que apenas ela tenha seu próprio tipo.
  2. Você poderia postar sua parte do código feita, assim podemos lhe informar onde foi errado, porém: //A matriz só tem o indice de 0 a 2, somatizando 3 valores. int matriz[3][3]; //Essa chamada é usada no inicio de main para alimentar o rand. srand((unsigned)time(NULL)); //Primeiro é feito o rand - o qual só recebe de 0 a 8 //depois é feito a soma com +1, deixando de 1 a 9 x = 1 + (rand() % 9); //Para ler a matriz é só usar: for(int y = 0; y < 3; y++){ for(int x = 0; x < 3; x++){ printf("%d", matriz[y][x]); //observe que não é x,y } printf("\n"); } Acredito que você estava acessando locais incorretos da matriz, como matriz[4][5];, e isso lhe informava um valor anormal.
  3. Boa tarde, primeiro de tudo, FILE é usado apenas para ler o conteúdo do arquivo, ele não ira executar nada. Caso queira executar, use system(). Enfim, para abrir .bat é o mesmo esquema que os outros arquivos, segue: FILE *arquivo = fopen("arq.bat","r"); Pronto agora arquivo contem o 'conteúdo' de arq.bat, agora é só ler as linhas.
  4. Segue o código corrigido: #include <stdio.h> #include <windows.h> #include <math.h> #include <string.h> typedef char string [50]; struct Ficha { string nome; float n1,n2; int idade; bool deficiente;//True(1) Sim, False(0) Nao } Aluno[10]; int main() { string nome1; float nota1,nota2; int idade1,i,a; char S1,N1; i=0; do { printf ("\n\nDigite o nome do aluno: "); scanf ("%s", Aluno[i].nome); //Condição de finalizar loop if(strcmp(Aluno[i].nome,"fim")==0){ Aluno[i].nome[0] = '\0'; break; } printf ("\n\nDigite a nota 1 do aluno "); scanf ("%f", &Aluno[i].n1); printf ("\nDigite a nota 2 do aluno "); scanf ("%f", &Aluno[i].n2); printf ("\n\nDigite a idade do aluno: "); scanf ("%d", &Aluno[i].idade); printf("\n\nAluno possui alguma deficiencia? (1 ou 0): "); scanf ("%d", &Aluno[i].deficiente); i++; }while (1); //alterei aqui - a e i for (a=0; a<i;a++) { printf ("Nome: %s\n", Aluno[a].nome); printf ("Nota 1: %f\n", Aluno[a].n1); printf ("Nota 2: %f\n", Aluno[a].n2); printf ("Idade: %d\n", Aluno[a].idade); printf("%s necessidade especial\n\n", (Aluno[a].deficiente ? "Possui":"Nao possui") ); } system ("PAUSE"); return (0); }
  5. Retire o ; de: if (resto=0); ficando: if (resto=0){ } Lembrando que se você usar resto=0, a variável resto assumira o valor 0, então use resto==0, para verificar se 'resto' possui esse 0.
  6. Não tenho mais resoluções, se você já verificou o teclado, código, compilador, etc., acredito que seja melhor reinstalar o DevC++ ou usar Atom, Code::Blocks ou Falcon C++.
  7. Seu teclado está com problema? Está usando pt-BR mesmo? Para verificar a linguagem que o locale está usando, tente: printf("%s\n", setlocale(LC_ALL,""));
  8. Creio que seja melhor instalar um editor mais avançado/atualizado, como o code::blocks. Pra verificar é preciso ir no regedit, mas não lembro o caminho certo. La é possível ativar UTF-8, assim é adicionado mais símbolos. Sim a versão extendida contém acentos, mas se não usar locale.h ou %c, 160... não é possível visualizar eles. Se você ir no cmd, você consegue digitar acentos, etc..?
  9. Você usa Windows 7 Home Premium x32? Pois seu compilador é x64, não sei se interfere em char. Mas com certeza pode dar algum problema. Como o @vangodp disse, antes de executar soluções drásticas, vamos as mais obvias, já tentou verificar se seu console está em UTF-8(ASCII não possui acentos)?
  10. Tenta usar apenas: setlocale(LC_ALL, ""); Isso faz com que o locale use a linguagem atual do S.O
  11. Mesmo sendo o mesmo compilador, o Code::blocks tem uma versão superior ao DevC++, pois esse ultimo não é atualizado a anos, e é distribuido com um compilador 'instavel'. Ja o CB, possui versões corrigidas do compilador. Versão corrigida do compilador: https://sourceforge.net/projects/orwelldevcpp/files/Compilers/MinGW/
  12. Boa noite/sorte, você pode usar servidor online que usa DNS para criar uma conexão mais estável. Teste antes para não dar nenhum problema na hora, e como o vangodp disse é só usar um socket simples, para manter uma conexão e receber a resposta. Talvez até para um chat, etc. Por que não faz pessoalmente?(não que seja da minha conta) Crie um fluxograma simples para ajudar determinar como o socket ira enviar/receber e lidar com as respostas/perguntas.
  13. Primeiro você precisa obter tal string, depois é só usar um ponteiro FILE para receber o arquivo de fopen(const char *, const char *)
  14. Troque scanf("%i", x); por scanf("%i", &x);
  15. Bom dia, você quer saber como filtrar tais endereços, e mostrar os relacionados ao do usuário? Vamos criar umas etapas lógicas a se seguir, para criar esse programinha: A - Você precisa determinar se vai armazenar esses endereços, ou, vai apenas ler. Se não for armazenar, pule a etapa C. B - Crie uma função para abrir o arquivo. (Pode fazer isso na própria função main, mas é bom organizar) Ex: FILE *oArquivo(const char *arq); C - Se for armazenar os dados dos arquivos, crie uma struct, e use sscanf() para armazenar os valores mais facilmente. Ex: Na linha PP - SQS - 601 use sscanf(buffer, "%s - %s - %d", struct.valor1, struct.valor2, &struct.valor3); D - Crie uma função para verificar se o que o usuário digito esta em um dos endereços do arquivo: Ex: bool comparar(const char *inUsuario, const char *inArquivo){ //aqui é a parte mais importante, é só usar dois laços for para pode encontrar a ENTRADA do USUÁRIO no endereço //do arquivo. } Na chamada é só usar: if(comparar("SQS", buffer)){ //mostrar linha } Se não compreender, eu tento com um exemplo de código.
  16. Consegue formatar sim, mas pela mensagem da para ver que o HD não foi detectado, verifique se está bem 'encaixado'. Se não der, tente formatar aquele outro HD. adicionado 2 minutos depois Para formatar pelo pendrive, é preciso 'colocar' o pendrive para inciar, você escolhe na Boot Options, em BIOS, ou apertando F11/F12.
  17. Se não funcionar, tenta verificar se o HD esta bem encaixado, pode ser algum problema referente a ele, caso nenhuma das opções ajude, tente trocar o HD que você tem windows 7.
  18. Você pode usar a opção depois de desligar, ou pode ir no executar do windows, e digitar: msconfig De Enter e vai em Inicialização do Sistema marque a caixa Inicialização Segura. É só reiniciar e pronto.
  19. Você consegue se conectar usando outro dispositivo? Tira todos cabos, como DSL, LAN, etc, deixa apenas o modem ligado, e tenta se conectar via wifi com o notebook. Se nada der, entra nas Configurações do Adaptador do seu Windows, depois vai em Propriedades, depois Procure por IPv4, e altere o DNS para manual, coloque o primeiro como 8.8.8.8 e o ultimo como 8.8.4.4
  20. Tenta iniciar com Modo de Segurança, e ativa apenas os serviços do windows, para ver se é algum programa que inicia junto.
  21. Se o objetivo é determinar qual tipo é usado, como MASCULINO, Masculino ou masculino, sim é preciso declarar as possibilidades, caso você queira padronizar/formatar depois de receber os dados, você pode usar a função toupper ou tolower para aumentar ou diminuir as letras, respectivamente. Lembrando que você não precisa comparar letra por letra, no caso de tipos definidos, é só comparar a palavra inteira.
  22. Contribuindo um pouco com a galera, segue meu rascunho: #include <stdio.h>//io #include <string.h>//memset #define MOSTRAR_NPERFEITO false//mostrar ou nao os que nao sao perfeitos /* Prototipo - função principal */ bool perfn(int); /* Inicialização */ int main(void){ int n = 0, nMax = 0, p = 0; //Entrada printf("Digite um numero maximo: "); scanf(" %d",&nMax); n = nMax; while(n){ //Resultado if(perfn(n)){ printf("\n\n %d e perfeito!!\n",n); p++; } else{ if(MOSTRAR_NPERFEITO)//se ativado, pode dar spam printf("\n%d nao e perfeito!\n",n); } n--; } printf("\n\nNumeros perfeitos de %d a 0: %d\n\n", nMax, p); return 0; } /* Verifica se tal numero é perfeito */ bool perfn(int a){ int aux = 0, i = 0; int vet[a];//vet[a], a = divisores possiveis memset(vet, 0, sizeof(vet)); //Busca divisores for(aux = a-1; aux; aux--){ if(a % aux == 0){ vet[i++] = aux; } } //Soma divisores for(i = 0, aux = 0; vet[i]; i++){ aux+=vet[i]; } //retorna resultado return (aux == a) ? true:false; } Quanto maior o numero da entrada, mais lento é a resposta.
  23. @vangodp Acredito que seja parte da Programação de Microcontroladores, não tenho certeza. @Mac Bryan Só posso lhe ajudar na parte front-end, ou seja, na parte da programação de socket, html, e a comunicação entre server html e client, mas quando se trata dos componentes do Arduíno, não tenho como lhe ajudar. Aconselho o mesmo que o vangodp, ou, explique melhor suas duvidas. Algumas perguntas: Servidor externo, seria uma terceira placa? Uma rede wifi? Conectar duas placas em um servidor externo, em que sentido? Virtualmente? Quais são as funções desse botões? Segue dois links de suporte: http://blog.filipeflop.com/wireless/esp8266-arduino-tutorial.html http://pedrominatel.com.br/pt/arduino/como-utilizar-o-esp8266-com-a-ide-arduino-instalando-o-modulo/
  24. Não seria menos complicado utilizar uma divisão por 2, ate verificar se tem resto ou não, para identificar se é perfeito ou não. Exemplo: 28 / 2 ... 14 / 2 ... = perfeito 29 / 2 tem resto = imperfeito
  25. Boa noite @carol.fe , troque: scanf("%d",opcao ); Por scanf("%d", &opcao );

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!