Ir para conteúdo
Fórum Script Brasil

asantos38

Membros
  • Total de itens

    54
  • Registro em

  • Última visita

Posts postados por asantos38

  1. 22 horas atrás, ArteEN disse:

    quase, me referia a isso

    
    import socket
    print(dir(socket))

    se fizer isso 'AF_INET' deve esta na listagem, se estiver na listagem o erro esta em algum lugar que não pode ser visto só com essas duas linhas que você postou

    Tive o mesmo retorno.

  2. Boa noite, ArteEN.

    Seria isso?:

    Air-de-Angelo:python angelo$ python3 clientsocket.py
    ['MAX_BYTES', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'argparse', 'client', 'random', 'server', 'socket', 'sys']
    Air-de-Angelo:python angelo$

  3. Boa tarde, a todos.

    Estou estudando socket e as fontes de estudo que tenho são um pouco antigas.

    Estou recebendo a seguinte mensagem de erro quando tento executar o código abaixo:
     

    import socket
    
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    Erro: AttributeError: module 'socket' has no attribute 'AF_INET'

    Alguém pode ajudar?

    Desde já agradeço!

  4. Boa noite a todos.

    Alguém pode me passar um algoritmo que  simule a pausa feita pela função sleep().É para um projeto que estou trabalhando. Estou precisando dar esta pausa para que o usuário possa ver um dos resultados retornados pelo programa.

    Estou usando xcode 11.4.1.

    Desde já agradeço!

  5. Boa tarde, a todos.

    Preciso instalar o python 3.4.0 para fazer os exemplos de um livro que estou estudando. É necessária esta versão pois o livro foi baseado nela.

    Mas quando vou instalar recebo a mensagem de erro dizendo que o instalador não encontrou software para ser instalado e a instalação é abortada.

    Estou usando MAC OS Catalina 10.15.3

    Posso fazer a instalação manualmente?

    Desde já obrigado!!

  6. Boa tarde!

    Estou trabalhando neste projeto e esse erro tem me tirado o sono.

    O projeto é um cadastro de petshop. E o erro parece estar associado a função limparBuffer(), mas sinceramente não sei como tirar esse bug.

    Estou usando xcode 11.2.1.

    Vou postar o código.

    //
    //main.c
    
    #include <stdio.h>
    #include <stdlib.h>
    #include "limpaBuf.h"
    #include "messages.h"
    #include "animal.h"
    #include "menu.h"
    
    int main(int argc, const char * argv[]) {
        Animal *cadastro;
        char escolha = '0';
        
        cadastro = malloc(sizeof(Animal));
        
        do {
            escolha = menu();
            
            switch (escolha) {
                case '1':
                    cadastro = cadastroGeral();
                    break;
                case '2':
                    procurarAnimal(cadastro);
                    break;
                default:
                    break;
            }
        } while (escolha != '3');
        
        return 0;
    }
    //
    //  menu.c
    
    
    #include <stdio.h>
    #include <stdlib.h>
    #include "menu.h"
    #include "limpaBuf.h"
    
    char menu(void){
        char escolha;
        
        system("clear");
        
        printf("Cadastro de Animais\n\n\n");
        
        printf("[1] -- Cadastrar\n");
        printf("[2] -- Encontrar\n");
        printf("[3] -- Sair\n");
        
        printf("\n\n\n\n?: ");
        escolha = getchar();
        
        limparBuffer();
        
        return escolha;
    }
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "animal.h"
    #include "limpaBuf.h"
    #include "messages.h"
    
    Animal* cadastrarAnimal(void){
        Animal* animal;
        
        system("clear");
        
        printf("Cadastro de Animal\n\n\n");
        
        animal = malloc(sizeof(Animal));
        
        printf("Nome: ");
        fgets(animal->nome, sizeof(animal->nome), stdin);
        
        printf("Dono: ");
        fgets(animal->dono, sizeof(animal->dono), stdin);
        
        printf("Idade: ");
        scanf("%d", &animal->idade);
        
        limparBuffer();
        
        printf("Raca: ");
        fgets(animal->raca, sizeof(animal->raca), stdin);
        
        animal->internado = false;
        
        animal->vacinado = false;
        
        return animal;
    }
    
    Animal* cadastroGeral(void){
        Animal* animal;
        char escolha = 's';
        int posicao_ponteiro = 0;
        
        animal = malloc(sizeof(Animal));
        
        while (escolha == 's' || escolha == 'S') {
            if (posicao_ponteiro == 0) {
                animal = malloc(sizeof(Animal));
                
                animal = cadastrarAnimal();
            }else{
                animal = realloc(animal, posicao_ponteiro * sizeof(Animal));
                
                animal += posicao_ponteiro;
                
                animal = cadastrarAnimal();
            }
            
            showMessage("Cadastro realizado com sucesso!");
            
            printf("\n\nCadastrar outro? ");
            
            escolha = getchar();
            
            limparBuffer();
            
            if (escolha == 's' || escolha == 'S') {
                posicao_ponteiro++;
            }
        }
        
        return animal;
    }
    
    void procurarAnimal(Animal* cadastro){
        char nome_animal[42];
        int posicao_ponteiro = 0;
        int encontrado = 0;
        
        system("clear");
        
        printf("Busca de Animal\n\n");
        
        printf("Nome Animal: ");
        fgets(nome_animal, sizeof(nome_animal), stdin);
        
        system("clear");
        
        while(cadastro) {
            if (strcmp(cadastro->nome, nome_animal) == 0) {
                encontrado = 1;
                break;
            }else{
                posicao_ponteiro++;
            }
            
            cadastro += posicao_ponteiro;
        }
        
        if (encontrado == 1) {
            printf("Animal encontrado\n\n");
            
            printf("Nome: %s\n", cadastro->nome);
            printf("Raça: %s\n", cadastro->raca);
            printf("Dono: %s\n", cadastro->dono);
            printf("Idade: %d\n", cadastro->idade);
            if (cadastro->vacinado == true) {
                printf("Vacinado: sim\n");
            }else{
                printf("Vacinado: não\n");
            }
            
            if (cadastro->internado == true) {
                printf("Interno: sim\n");
            }else{
                printf("Interno: não\n");
            }
        }else{
            showMessage("Animal não cadastrado!");
        }
    }
    //
    //  messages.c
    
    
    #include <stdio.h>
    #include <stdlib.h>
    
    void showMessage(const char* msg){
        int contador;
        
        system("clear");
        
        for (contador = 1; contador <= 80; contador++) {
            printf("-");
            
            if (contador == 80) {
                printf("\n");
            }
        }
        
        printf("-");
        
        for (contador = 1; contador <= 78; contador++) {
            printf(" ");
        }
        
        printf("-\n");
        
        printf("-");
        
        for (contador = 1; contador <= 78; contador++) {
            printf(" ");
        }
        
        printf("-\n");
        
        printf("-");
        
        for (contador = 1; contador < 25; contador++) {
            printf(" ");
        }
        
        printf("%s", msg);
        
        for (contador = 1; contador < 24; contador++) {
            printf(" ");
        }
        
        printf("-\n");
        
        for (contador = 1; contador <= 78; contador++) {
            printf(" ");
        }
        
        printf("-\n");
        
        printf("-");
        
        for (contador = 1; contador <= 78; contador++) {
            printf(" ");
        }
        
        printf("-\n");
    
        
        for (contador = 1; contador <= 80; contador++) {
            printf("-");
            
            if (contador == 80) {
                printf("\n");
            }
        }
        
    }
    
    //
    //  limpaBuf.h
    
    #include <stdio.h>
    #ifndef limpaBuf_h
    #define limpaBuf_h
    
    void limparBuffer(){
        char c;
        
        while ((c = getchar()) != '\n' && c != EOF) {
        }
    }
    
    #endif /* limpaBuf_h */

     

  7. Boa noite pessoal! Fiz um pequeno programa para cadastrar animais clientes de um petshop, mas há alguns erros que não estou conseguindo corrigir.

    Vou postar o código fonte e as mensagens de erro.

    Não é nenhum trabalho de facul ou trabalho do trabalho(rsrsrs). É apenas um hobby. Mas agradeço quem puder ajudar.

    
    #include <stdio.h>
    #include <stdbool.h>
    #include <stdlib.h>
    #include <string.h>
    #define limite 4
    
    struct Animal{
        char nome[15];
        int idade;
        int registro;
        char cor[15];
        char raca[15];
        bool vacinado;
    };
    
    struct Animal* cria_cadastro(int tamanho);
    
    void limpar_buffer(void);
    
    void cadastrar(struct Animal* cadastro, int tamanho);
    
    struct Animal* buscar(struct Animal* cadastro, int limite);
    
    int main(int argc, char* argv[]){
        struct Animal* cadastro;
        char escolha = '0';
        struct Animal* objeto_da_busca;
        
        cadastro = cria_cadastro(limite);
        
        do {
            printf("[1] - Cadastrar\n");
            printf("[2] - Procurar\n");
            printf("[3] - Encerrar Programa\n\n\n");
            
            printf("Sua escolha? ");
            escolha = getchar();
            
            switch (escolha) {
                case '1':
                    cadastrar(cadastro, limite);
                    break;
                case '2':
                    if ((objeto_da_busca = buscar(cadastro, limite)) != NULL) {
                        printf("Nome: %s\n", objeto_da_busca->nome);
                        printf("Idade: %d\n", objeto_da_busca->idade);
                        printf("Cor: %s\n", objeto_da_busca->cor);
                        printf("Raça: %s\n", objeto_da_busca->raca);
                        printf("Registro: %d\n", objeto_da_busca->registro);
                        
                        if (objeto_da_busca->vacinado == true) {
                            printf("Vacinado: sim\n");
                        }else{
                            printf("Vacinado: não\n");
                        }
                    }else{
                        printf("Animal não cadastrado.\n");
                    }
                    break;
                case '3':
                    printf("Encerrando o programa.");
                    break;
                default:
                    printf("Opção inválida.Tente novamente.\n");
            }
        } while (escolha != '3');
        
        return 0;
    }
    
    struct Animal* cria_cadastro(int tamanho){
        struct Animal* cadastro;
        
        cadastro = (struct Animal*)malloc(sizeof(struct Animal) * tamanho);
        
        return cadastro;
    }
    
    void limpar_buffer(void){
        char c;
        
        while((c = getchar()) != '\n' && c != EOF){};
    }
    
    void cadastrar(struct Animal* cadastro, int tamanho){
        int contador = 0;
        static int rg;
        char continuar;
        
        do {
            system("clear");
            
            printf("Cadastro de Animal\n\n");
            
            printf("Nome: ");
            fgets(cadastro[contador].nome, 15, stdin);
            
            printf("Idade: ");
            scanf("%d", cadastro[contador].idade);
            
            limpar_buffer();
            
            printf("Cor: ");
            fgets(cadastro[contador].cor, 15, stdin);
            
            printf("Raça: ");
            fgets(cadastro[contador].raca, 15, stdin);
            
            cadastro[contador].registro = rg++;
            
            contador++;
        
            printf("\n\n\n\ncadastrar outro animal? ");
            
            continuar = getchar();
            
        } while (contador < tamanho && (continuar != 'n' && continuar != 'N'));
    
    }
    
    struct Animal* buscar(struct Animal* cadastro, int limite){
        char nome_pesquisa[15];
        int contador;
        struct Animal* retorno = NULL;
        
        system("clear");
        
        printf("Busca de Animal\n\n");
        
        printf("Nome Animal: ");
        fgets(nome_pesquisa, 15, stdin);
        
        for (contador = 0; contador < limite; contador++) {
            if (strcmp(cadastro[contador]->nome, nome_pesquisa) == 0) {
                retorno = cadastro[contador];
            }
        }
        
        return retorno;
    }

    Last login: Thu Sep 12 19:55:56 on console

    MacBook-Air-de-Angelo:~ angelo$ cd Documents/C

    MacBook-Air-de-Angelo:C angelo$ ls -l

    total 0

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 Listas3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 acme

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 arquivos1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 arquivos2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 arquivos3

    drwxr-xr-x  5 angelo  staff  160 19 Ago 20:39 arquivos4

    drwxr-xr-x  5 angelo  staff  160  8 Set 23:00 arquivos5

    drwxr-xr-x  3 angelo  staff   96  8 Set 23:00 arquivos6

    drwxr-xr-x  3 angelo  staff   96 12 Set 20:59 arquivos7

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula4

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula5

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 cadastro

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 categoria jogador

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 classifica_pessoa

    drwxr-xr-x  4 angelo  staff  128 30 Jul 20:07 cls

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 colisao

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 colisao2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 contador

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 contagem regressiva

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 contagem regressiva2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 conversao

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 conversao2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 cript

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 decisao multipla

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 decisao simples

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 decisao simples2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 dobro de um numero

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 dobro de um numero2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 estrutura

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 fila ex1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 funcao soma

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 funcao soma2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 idade

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 idade_pelo_nascimento

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 idade_pelo_nascimento2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 imc

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 imc2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 imc3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 insercao qualquer

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 inseri_final

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 inserindo_inicio

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 jogos_megasenha

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 listas ligadas ex1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 listas ligadas ex2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 listas ligadas ex3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 listas ligadas ex4

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 listas2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 listas4

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 listas5

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 listas6

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 loops esccrevendo fatec3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 loops escrevendo FATEC

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 loops escrevendo FATEC2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 maior de dois

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 matrizes

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 matrizes2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 matrizes3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 menu times

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 pilha1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 pilha2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 pilha3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 pilha4

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 pilha5

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 ponteiros_e_vetores_1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 problema das xerox

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 projeto1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 projeto2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 senha_sem_enter

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 soma

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 tabuada de cinco

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 tabuada de numero qualquer

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 teste1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 tipos

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 usando enums

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 usando typedef

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 usando typedef2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 valida_entrada

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 vetor_numeros_nao_repetidos

    MacBook-Air-de-Angelo:C angelo$ clear

     

    MacBook-Air-de-Angelo:C angelo$ ls -l\more

    total 0

    drwxr-xr-x  4 angelo  128  8 Set 23:00 vetor_numeros_nao_repetidos

    drwxr-xr-x  4 angelo  128  8 Set 23:00 valida_entrada

    drwxr-xr-x  4 angelo  128  8 Set 23:00 usando typedef2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 usando typedef

    drwxr-xr-x  4 angelo  128  8 Set 23:00 usando enums

    drwxr-xr-x  4 angelo  128  8 Set 23:00 tipos

    drwxr-xr-x  4 angelo  128  8 Set 23:00 teste1

    drwxr-xr-x  4 angelo  128  8 Set 23:00 tabuada de numero qualquer

    drwxr-xr-x  4 angelo  128  8 Set 23:00 tabuada de cinco

    drwxr-xr-x  4 angelo  128  8 Set 23:00 soma

    drwxr-xr-x  4 angelo  128  8 Set 23:00 senha_sem_enter

    drwxr-xr-x  4 angelo  128  8 Set 23:00 projeto2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 projeto1

    drwxr-xr-x  4 angelo  128  8 Set 23:00 problema das xerox

    drwxr-xr-x  4 angelo  128  8 Set 23:00 ponteiros_e_vetores_1

    drwxr-xr-x  4 angelo  128  8 Set 23:00 pilha5

    drwxr-xr-x  4 angelo  128  8 Set 23:00 pilha4

    drwxr-xr-x  4 angelo  128  8 Set 23:00 pilha3

    drwxr-xr-x  4 angelo  128  8 Set 23:00 pilha2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 pilha1

    drwxr-xr-x  4 angelo  128  8 Set 23:00 menu times

    drwxr-xr-x  4 angelo  128  8 Set 23:00 matrizes3

    drwxr-xr-x  4 angelo  128  8 Set 23:00 matrizes2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 matrizes

    drwxr-xr-x  4 angelo  128  8 Set 23:00 maior de dois

    drwxr-xr-x  4 angelo  128  8 Set 23:00 loops escrevendo FATEC2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 loops escrevendo FATEC

    drwxr-xr-x  4 angelo  128  8 Set 23:00 loops esccrevendo fatec3

    drwxr-xr-x  4 angelo  128  8 Set 23:00 listas6

    drwxr-xr-x  4 angelo  128  8 Set 23:00 listas5

    drwxr-xr-x  4 angelo  128  8 Set 23:00 listas4

    drwxr-xr-x  4 angelo  128  8 Set 23:00 listas2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 listas ligadas ex4

    drwxr-xr-x  4 angelo  128  8 Set 23:00 listas ligadas ex3

    drwxr-xr-x  4 angelo  128  8 Set 23:00 listas ligadas ex2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 listas ligadas ex1

    drwxr-xr-x  4 angelo  128  8 Set 23:00 jogos_megasenha

    drwxr-xr-x  4 angelo  128  8 Set 23:00 inserindo_inicio

    drwxr-xr-x  4 angelo  128  8 Set 23:00 inseri_final

    drwxr-xr-x  4 angelo  128  8 Set 23:00 insercao qualquer

    drwxr-xr-x  4 angelo  128  8 Set 23:00 imc3

    drwxr-xr-x  4 angelo  128  8 Set 23:00 imc2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 imc

    drwxr-xr-x  4 angelo  128  8 Set 23:00 idade_pelo_nascimento2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 idade_pelo_nascimento

    drwxr-xr-x  4 angelo  128  8 Set 23:00 idade

    drwxr-xr-x  4 angelo  128  8 Set 23:00 funcao soma2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 funcao soma

    drwxr-xr-x  4 angelo  128  8 Set 23:00 fila ex1

    drwxr-xr-x  4 angelo  128  8 Set 23:00 estrutura

    drwxr-xr-x  4 angelo  128  8 Set 23:00 dobro de um numero2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 dobro de um numero

    drwxr-xr-x  4 angelo  128  8 Set 23:00 decisao simples2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 decisao simples

    drwxr-xr-x  4 angelo  128  8 Set 23:00 decisao multipla

    drwxr-xr-x  4 angelo  128  8 Set 23:00 cript

    drwxr-xr-x  4 angelo  128  8 Set 23:00 conversao2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 conversao

    drwxr-xr-x  4 angelo  128  8 Set 23:00 contagem regressiva2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 contagem regressiva

    drwxr-xr-x  4 angelo  128  8 Set 23:00 contador

    drwxr-xr-x  4 angelo  128  8 Set 23:00 colisao2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 colisao

    drwxr-xr-x  4 angelo  128 30 Jul 20:07 cls

    drwxr-xr-x  4 angelo  128  8 Set 23:00 classifica_pessoa

    drwxr-xr-x  4 angelo  128  8 Set 23:00 categoria jogador

    drwxr-xr-x  4 angelo  128  8 Set 23:00 cadastro

    drwxr-xr-x  4 angelo  128  8 Set 23:00 aula5

    drwxr-xr-x  4 angelo  128  8 Set 23:00 aula4

    drwxr-xr-x  4 angelo  128  8 Set 23:00 aula3

    drwxr-xr-x  4 angelo  128  8 Set 23:00 aula2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 aula1

    drwxr-xr-x  3 angelo   96 12 Set 20:59 arquivos7

    drwxr-xr-x  3 angelo   96  8 Set 23:00 arquivos6

    drwxr-xr-x  5 angelo  160  8 Set 23:00 arquivos5

    drwxr-xr-x  5 angelo  160 19 Ago 20:39 arquivos4

    drwxr-xr-x  4 angelo  128  8 Set 23:00 arquivos3

    drwxr-xr-x  4 angelo  128  8 Set 23:00 arquivos2

    drwxr-xr-x  4 angelo  128  8 Set 23:00 arquivos1

    drwxr-xr-x  4 angelo  128  8 Set 23:00 acme

    drwxr-xr-x  4 angelo  128  8 Set 23:00 Listas3

    MacBook-Air-de-Angelo:C angelo$ clear

     

    MacBook-Air-de-Angelo:C angelo$ ls -l | more

    total 0

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 Listas3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 acme

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 arquivos1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 arquivos2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 arquivos3

    drwxr-xr-x  5 angelo  staff  160 19 Ago 20:39 arquivos4

    drwxr-xr-x  5 angelo  staff  160  8 Set 23:00 arquivos5

    drwxr-xr-x  3 angelo  staff   96  8 Set 23:00 arquivos6

    drwxr-xr-x  3 angelo  staff   96 12 Set 20:59 arquivos7

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula1

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula3

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula4

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 aula5

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 cadastro

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 categoria jogador

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 classifica_pessoa

    drwxr-xr-x  4 angelo  staff  128 30 Jul 20:07 cls

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 colisao

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 colisao2

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 contador

    drwxr-xr-x  4 angelo  staff  128  8 Set 23:00 contagem regressiva

    MacBook-Air-de-Angelo:C angelo$ cd arquivos7

    MacBook-Air-de-Angelo:arquivos7 angelo$ clear

     

    MacBook-Air-de-Angelo:arquivos7 angelo$ ls -l

    total 8

    -rw-r--r--@ 1 angelo  staff  3559 12 Set 20:59 main.c

    MacBook-Air-de-Angelo:arquivos7 angelo$ nano main.c

    MacBook-Air-de-Angelo:arquivos7 angelo$ gcc -o main main.c

    main.c:23:52: error: expected ')'

    struct Animal* buscar(struct Animal* cadastro, int limite);

                                                       ^

    main.c:6:16: note: expanded from macro 'limite'

    #define limite 4

                   ^

    main.c:23:22: note: to match this '('

    struct Animal* buscar(struct Animal* cadastro, int limite);

                         ^

    main.c:97:33: error: member reference type 'struct Animal' is not a pointer; did

          you mean to use '.'?

            fgets(cadastro[contador]->nome, 15, stdin);

                  ~~~~~~~~~~~~~~~~~~^~

                                    .

    main.c:100:39: error: member reference type 'struct Animal' is not a pointer;

          did you mean to use '.'?

            scanf("%d", cadastro[contador]->idade);

                        ~~~~~~~~~~~~~~~~~~^~

                                          .

    main.c:100:21: warning: format specifies type 'int *' but the argument has type

          'int' [-Wformat]

            scanf("%d", cadastro[contador]->idade);

                   ~~   ^~~~~~~~~~~~~~~~~~~~~~~~~

    main.c:105:33: error: member reference type 'struct Animal' is not a pointer;

          did you mean to use '.'?

            fgets(cadastro[contador]->cor, 15, stdin);

                  ~~~~~~~~~~~~~~~~~~^~

                                    .

    main.c:108:33: error: member reference type 'struct Animal' is not a pointer;

          did you mean to use '.'?

            fgets(cadastro[contador]->raca, 15, stdin);

                  ~~~~~~~~~~~~~~~~~~^~

                                    .

    main.c:110:27: error: member reference type 'struct Animal' is not a pointer;

          did you mean to use '.'?

            cadastro[contador]->registro = rg++;

            ~~~~~~~~~~~~~~~~~~^~

                              .

    main.c:110:38: error: expression is not assignable

            cadastro[contador]->registro = rg++;

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^

    main.c:122:52: error: expected ')'

    struct Animal* buscar(struct Animal* cadastro, int limite){

                                                       ^

    main.c:6:16: note: expanded from macro 'limite'

    #define limite 4

                   ^

    main.c:122:22: note: to match this '('

    struct Animal* buscar(struct Animal* cadastro, int limite){

                         ^

    main.c:122:52: error: parameter name omitted

    struct Animal* buscar(struct Animal* cadastro, int limite){

                                                       ^

    main.c:6:16: note: expanded from macro 'limite'

    #define limite 4

                   ^

    main.c:135:38: error: member reference type 'struct Animal' is not a pointer;

          did you mean to use '.'?

            if (strcmp(cadastro[contador]->nome, nome_pesquisa) == 0) {

                       ~~~~~~~~~~~~~~~~~~^~

                                         .

    main.c:136:21: error: assigning to 'struct Animal *' from incompatible type

          'struct Animal'; take the address with &

                retorno = cadastro[contador];

                        ^ ~~~~~~~~~~~~~~~~~~

                          &

    1 warning and 11 errors generated.

    MacBook-Air-de-Angelo:arquivos7 angelo$ clear

     

    MacBook-Air-de-Angelo:arquivos7 angelo$ gcc -o main main.c

    main.c:23:52: error: expected ')'

    struct Animal* buscar(struct Animal* cadastro, int limite);

                                                       ^

    main.c:6:16: note: expanded from macro 'limite'

    #define limite 4

                   ^

    main.c:23:22: note: to match this '('

    struct Animal* buscar(struct Animal* cadastro, int limite);

                         ^

    main.c:100:21: warning: format specifies type 'int *' but the argument has type 'int' [-Wformat]

            scanf("%d", cadastro[contador].idade);

                   ~~   ^~~~~~~~~~~~~~~~~~~~~~~~

    main.c:122:52: error: expected ')'

    struct Animal* buscar(struct Animal* cadastro, int limite){

                                                       ^

    main.c:6:16: note: expanded from macro 'limite'

    #define limite 4

                   ^

    main.c:122:22: note: to match this '('

    struct Animal* buscar(struct Animal* cadastro, int limite){

                         ^

    main.c:122:52: error: parameter name omitted

    struct Animal* buscar(struct Animal* cadastro, int limite){

                                                       ^

    main.c:6:16: note: expanded from macro 'limite'

    #define limite 4

                   ^

    main.c:135:38: error: member reference type 'struct Animal' is not a pointer; did you mean to use

          '.'?

            if (strcmp(cadastro[contador]->nome, nome_pesquisa) == 0) {

                       ~~~~~~~~~~~~~~~~~~^~

                                         .

    main.c:136:21: error: assigning to 'struct Animal *' from incompatible type 'struct Animal'; take

          the address with &

                retorno = cadastro[contador];

                        ^ ~~~~~~~~~~~~~~~~~~

                          &

    1 warning and 5 errors generated.

    MacBook-Air-de-Angelo:arquivos7 angelo$

     

     

  8. Boa noite a todos.

    Estou tentando gravar uma struct em um arquivo, mas toda vez que executo, o arquivo continua vazio.

    Estou usando o xcode em mac air. E já verifiquei se o arquivo tem as permissões exigidas.

    Segue o código:

    //
    //  main.c
    //  arquivos3
    //
    #include <stdio.h>
    #include <stdlib.h>
    
    struct Pessoa{
        char nome[20];
        unsigned int idade;
        float altura;
    };
    
    int main(int argc, const char * argv[]) {
        // insert code here...
        FILE* ptr;
        char* filename = "arq_teste.dat";
        char* modo_gravacao = "w";
        struct Pessoa pessoa = {"Fernando Santos", 42, 1.75};
        
        //Abre o arquivo para gravação; se ocorrer erro o programa aborta.
        if ((ptr = fopen(filename, modo_gravacao)) == NULL) {
            puts("Erro ao abrir o arquivo!");
            exit(1);
        }
        
        fwrite(&pessoa, sizeof(struct Pessoa), 1, ptr);
        
        fclose(ptr);
        
        
        
        return 0;
    }

     

  9. Boa noite.Segue aqui uma pequena classe vetor.

    Aceito críticas e sugestões.

    //
    //  vetor.cpp
    //  vetor
    //
    #include <iostream>
    #include <cstdlib>
    #include <stdio.h>
    #include "vetor.h"
    
    using namespace std;
    
    // Construtor.
    Vetor::Vetor(void){
        tamanho = 0;
        
        valores = (int*)malloc(sizeof(int));
    }
    
    void Vetor::incluir(int novo){
        if (tamanho == 0) {
            *(valores + tamanho) = novo;
            tamanho++;
        }else{
            valores = (int*)realloc(valores, sizeof(int) * (tamanho + 1));
            *(valores + tamanho) = novo;
            tamanho++;
        }
    }
    
    void Vetor::ordenar_crescente(void){
        int temp;
        
        for (int i = 0; i < tamanho - 1; i++) {
            for (int j = i + 1; j < tamanho; j++) {
                if (*(valores + i) > *(valores + j)) {
                    temp = *(valores + i);
                    *(valores + i) = *(valores + j);
                    *(valores + j) = temp;
                }
            }
        }
    }
    
    void Vetor::imrimir(void){
        for (int contador = 0; contador < tamanho; contador++) {
            cout << contador + 1 << "o. elemento -> " << *(valores + contador) << endl;
        }
    }

    main.cpp:

    //
    //  main.cpp
    //  vetor
    //
    
    #include <iostream>
    #include "vetor.h"
    
    using namespace std;
    
    int main(int argc, const char * argv[]) {
        // declaração de objetos.
        Vetor vetor;
        
        vetor.incluir(30);
        vetor.incluir(50);
        vetor.incluir(40);
        vetor.incluir(20);
        vetor.incluir(10);
        
        vetor.ordenar_crescente();
        
        vetor.imrimir();
        
        return 0;
    }

     

  10. Bom dia a todos.

    Quando executo o código abaixo só imprime o valor armazenado no primeiro nó.

    A função insere o nó no início da lista.

    Estou usando Xcode em um macbook Air.

    Alguém sabe qual o bug?

    #include <stdio.h>
    #include <stdlib.h>
    
    // definição do tipo Lista.
    struct Lista{
        int valor;
        
        struct Lista * proximo;
    };
    
    // função insere_iniciio().
    struct Lista* insere_inicio(struct Lista* n, int valor){
        // declaração de variáveis.
        struct Lista* novo;
        
        if (n == NULL) {        // se a lista estiver vazia.
            n = (struct Lista*)malloc(sizeof(struct Lista));
            
            n->valor = valor;
            
            n->proximo = NULL;  // por ser o primeiro nó não deve apontar.
            
            return n;
            
        }else{                  // se a lista não estiver vazia.
            novo = (struct Lista*)malloc(sizeof(struct Lista));
            
            novo->valor = valor;
            
            novo->proximo = n;
            
            return novo;
        }
    }
    
    int main(){
        // declaração de variáveis.
        int valor;
        struct Lista* inicio;
        struct Lista* novo;
        struct Lista* temp;
        
        // aloca memória para a lista.
        inicio = (struct Lista*)malloc(sizeof(struct Lista));
        
        // inicializa a estrutura.
        inicio->valor = 20;
        inicio->proximo = NULL;
        
        // limpa o console.
        system("clear");
        
        printf("Informe o valor para armazenar na lista: ");
        
        scanf("%d", &valor);
        
        // chamada para a função insere_inicio().
        novo = insere_inicio(inicio, valor);
        
        temp = novo;
        
        while (temp->proximo != NULL) {
            printf("Valor armazenado: %d\n", temp->valor);
            
            temp = temp->proximo;
        }
        
        return 0;
    }

     

  11. Programa que calcula o perímetro de triângulo.

    Recebe como dados de entrada as coordenadas dos vértices do triângulo e retorna o perímetro na unidade de medida escolhida.

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    //definição do tipo Ponto.
    struct Ponto{
        float x;
        float y;
    };
    
    typedef struct Ponto PONTO;
    
    //definição da estrutura Triangulo com vértices do tipo PONTO.
    struct Triangulo{
        //Vértices do triângulo.
        PONTO p[3];
    };
    
    typedef struct Triangulo TRIANGULO;
    
    //definição da função gerarTriangulo, que retorna uma estrutura do tipo
    //TRIANGULO.
    TRIANGULO gerarTriangulo(){
        //variáveis.
        TRIANGULO tr;
        int contador;
    
        //Limpa a tela.
        system("cls");
    
        //Entrada das coordenadas dos vértices do triângulo.
        for(contador = 0; contador < 3; contador++){
            printf("Obtendo p%i:\n", contador + 1);
    
            printf("Abscissa: ");
            scanf("%f%*c", &tr.p[contador].x);
    
            printf("Ordenada: ");
            scanf("%f%*c", &tr.p[contador].y);
        }
    
        return tr;
    }
    
    float perimetro(TRIANGULO t){
        //declaração de variáveis.
        float d1, d2, d3;
    
        //Cálculo do tamanho dos lados do triângulo.
        d1 = sqrt(pow(t.p[0].x - t.p[1].x, 2) + pow(t.p[0].y - t.p[1].y, 2));
    
        d2 = sqrt(pow(t.p[0].x - t.p[2].x, 2) + pow(t.p[0].y - t.p[2].y, 2));
    
        d3 = sqrt(pow(t.p[1].x - t.p[2].x, 2) + pow(t.p[1].y - t.p[2].y, 2));
    
        //Retorno da soma dos lados que é o perímetro do triângulo.
        return d1 + d2 + d3;
    }
    
    int main(){
        //Declaração de variáveis.
        char unidade_medida;
    
        system("cls");
    
        //Solicita um tipo de unidade de medida até que o usuário escolha uma das opções
        //válidas.
        do{
            printf("Escolha a unidade de medida: \n");
    
            printf("c - centimetros, m - metros: ");
    
            scanf("%c%*c", &unidade_medida);
    
        }while(unidade_medida != 'c' && unidade_medida != 'm');
    
        //Exibe o resultado de acordo com a unidade de medida escolhida.
        //Considera até três casas decimais.
        switch(unidade_medida){
            case 'c':
                    printf("O perimetro do triangulo e: %.3f cm.\n", perimetro(gerarTriangulo()));
                    break;
            case 'm':
                    printf("O perimetro do triangulo e: %.3f m.\n", perimetro(gerarTriangulo()));
        }
    
        return 0;
    }

     

  12. Boa tarde, galera!

    Fiz um pequeno programa de cadastro de pessoas e percebi que quando exibo as pessoas cadastradas o último registro gravado está duplicado.

    Estou usando win10 e o compilador é o minGW.

    segue o código:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    struct Pessoa{
        char nome[30];
        int idade;
    };
    
    void pausa(){
        printf("pressione qualquer tecla para voltar ao menu principal\n");
    
        scanf("%*c");
    }
    
    void limpar_buffer(){
        scanf("%*[^\n]");
        scanf("%*c");
    }
    
    void cadastrar(){
        FILE* fp;
        struct Pessoa p;
        char escolha = 's';
    
        do{
            system("cls");
    
            printf("Rotina de cadastro\n\n\n");
    
            printf("Nome: ");
    
            fgets(p.nome, 30, stdin);
    
            printf("Idade: ");
    
            scanf("%d%*c", &p.idade);
    
            fp = fopen("cadastro.dat", "ab");
    
            fwrite(&p, sizeof(p), 1, fp);
    
            fclose(fp);
    
            system("cls");
    
            printf("Cadastro realizado com sucesso!\n");
    
            printf("\n\n\nCadastrar outro?: ");
    
            escolha = getchar();
    
            limpar_buffer();
    
        }while(escolha != 'n' && escolha != 'N');
    }
    
    void exibir(){
        FILE* fp;
        struct Pessoa p;
        int total = 0;
    
        system("cls");
    
        printf("Relacao de cadastrados\n\n\n");
    
        fp = fopen("cadastro.dat", "rb");
    
    
        while(!feof(fp)){
            fread(&p, sizeof(p), 1, fp);
    
            total++;
    
            printf("Nome: %s\n", p.nome);
    
            printf("Idade: %d\n", p.idade);
    
            printf("-----------------------------------------\n");
        }
    
        fclose(fp);
    
        printf("Numero de cadastrados: %d\n", total);
    
        pausa();
    }
    
    int menu(){
        int m;
    
        system("cls");
    
        printf("Menu principal\n\n\n");
    
        printf("[1] - Cadastrar\n");
        printf("[2] - Relacao cadastrados\n");
        printf("[3] - Sair\n");
    
        printf("\n\n\n?: ");
        scanf("%d%*c", &m);
    
        return m;
    }
    
    int main(){
        //declaração de variáveis.
        int escolha = 0;
    
        do{
            escolha = menu();
    
            switch(escolha){
                case 1:cadastrar();
                        break;
    
                case 2:exibir();
            }
    
        }while(escolha != 3);
    
        return 0;
    }

     

  13. 22 horas atrás, ArteEN disse:

    estou usando o mint, e não funcionava aplicações em tk,  tive que instalar o tkinter para minhas aplicações rodarem

    na loja do mint não tem o IDE Builder, não posso fazer mais para ajudar

    Tudo bem.Mas agradeço pelo seu interesse em ajudar.

  14. Boa noite a todos.

    Instalei alguns meses atrás o Builder, uma IDE que faz parte dos pacotes que podem ser instalados no Ubuntu 18.04, porém não consigo executar programas nele.

    estou fazendo assim:

    Crio um projeto; python por exemplo.

    E dentro da pasta 'src' crio um arquivo .py

    Criei uma janela simples com tkinter, mas quando executo o projeto não aparece nada, e a execução é interrompida.

    Na internet quase não se encontra material sobre o Builder, para não dizer nenhum!

    Desde já agradeço!

  15. Boa noite a todos.

    Estou tentando fazer um pequeno programa de cadastro, mas meu código contém erros que não estou conseguindo resolver.

    segue o código e a mensagem de erro:

    main.c:

    #include <stdio.h>
    #include <stdlib.h>
    #include "pessoa.h"
    
    int main(){
    	struct Pessoa pessoas[3];
    	int limite;
    
    	for(limite = 0; limite < 3; limite++){
    		system("clear");
    
    		printf("Cadastrando a %da. pessoa\n\n", limite + 1);
    
    		pessoas[limite] = gerarPessoa();
    	}
    
    	//exibe as pessoas.
    	exibirPessoa(pessoas, 3);
    
    	return 0;
    }

    pessoa.h:

    #ifndef PESSOA_H_INCLUDED
    #define PESSOA_H_INCLUDED
    
    //definição de tipo.
    struct Pessoa{
    	char nome[45];
    
    	int idade;
    
    	float altura;
    };
    
    struct Pessoa gerarPessoa();
    
    void exibirPessoa(struct Pessoa*, int);
    
    #endif

    pessoa.c:

    #include <stdio.h>
    #include <stdlib.h>
    #include "pessoa.h"
    
    struct Pessoa gerarPessoa(){
    	//declaração de variáveis.
    	struct Pessoa pessoa;
    
    	//system("clear");
    
    	printf("Nome: ");
    	scanf("%[^\n]s", pessoa.nome);
    
    	printf("Idade: ");
    	scanf("%d%*c", &pessoa.idade);
    
    	printf("Altura: ");
    	scanf("%f%*c", &pessoa.altura);
    
    	return pessoa;
    }
    
    void exibirPessoa(struct Pessoa* pessoa, int tamanho){
    	int contador;
    
    	system("clear");
    
    	for(contador = 0; contador < tamanho; contador++){
    		printf("Nome: %s\n", *(pessoa + contador)->nome);
    
    		printf("Idade: %d\n", *(pessoa + contador)->idade);
    
    		printf("Altura: %.2f\n\n", *(pessoa + contador)->altura);
    	}
    }

    erro:

    pessoa.c: In function ‘exibirPessoa’:
    pessoa.c:29:18: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘int’ [-Wformat=]
       printf("Nome: %s\n", *(pessoa + contador)->nome);
                     ~^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
                     %d
    pessoa.c:31:25: error: invalid type argument of unary ‘*’ (have ‘int’)
       printf("Idade: %d\n", *(pessoa + contador)->idade);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    pessoa.c:33:30: error: invalid type argument of unary ‘*’ (have ‘float’)
       printf("Altura: %.2f\n\n", *(pessoa + contador)->altura);
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Desde já agradeço.

     

  16. Poste seu código usando o botão <>. Assim fica mais fácil de te ajudar.

    Outra forma é usando o método getline() de cin:

     

    #include <iostream>
      
    using namespace std;
      
    int main(){
      	char palavra[20];
      
      	cout << "Escreva uma palavra: ";
      
      	//Este trecho do código recebe sua palavra e armazena na variável palavra.
      	cin.getline(palavra, 20);
      
    	return 0;  
    }

    O método getline() possui dois argumentos: o primeiro é a variável onde será armazenada a palavra e o segundo é o tamanho do vetor de caracteres.

    Não esqueça que o tamanho do vetor de caracteres deve ter um caractere a mais para o ' \0 '. Exemplo:

    se você quer armazenar 10 caracteres deve fazer " char palavra[11]; "

  17. Boa tarde Alex.

    Acredito que seja algo assim:

    #include <iostream>
      
    using namespace std;
      
    int main(){
      	//declaração de variável.
      	char palavra[] = "Digite aqui sua palavra";
      
      	//aí para usar a variável você pode fazer assim.
      	cout << palavra << endl;
      
      	return 0;
    }

    Se resolver seu problema coloque resolvido em seu post. Beleza?

     

  18. Boa tarde a todos.

    Estou aprendendo a escrever shell scripts, e esbarrei em um erro que até agora não consegui resolver. O Sistema é o Ubuntu 18.

    Seguem o código e a mensagem de erro:

    #!/bin/bash
    
    echo "Digite seu nome:"
    
    read nome
    
    if [ -z $nome ] ; then
    	echo "Você não digitou seu nome!"
    else
    	echo "Boa tarde, $nome!"
    fi

    Digite seu nome:
    Fernando Santos
    ./login2.sh: linha 7: [: Fernando: esperava operador binário
    Boa tarde, Fernando Santos!


    Desde já agradeço!

×
×
  • Criar Novo...