Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''c ''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Bom dia pessoal, tudo bem? Então galera meu professor pediu para a gente desenvolver um programa em C que encontre todos os pares de números amigos entre 1 e 1.000 (Para aqueles que não sabem oque é um numero amigo basta acessar esse link https://pt.wikipedia.org/wiki/Número_amigo). Então eu desenvolvi o programa mas não esta dando o resultado esperado já que de 1 a 1.000 os únicos pares de números amigos existente é 220 e 284 e não são esses números que estão sendo imprimidos na tela. Enfim vou colar meu código aqui e gostaria que vocês me ajudassem a identificar onde esta o meu erro e corrigi-lo :) ------------------------------------------------------------------------------------------------------------------------------------------------ CÓDIGO --------------------------------------------------------------------------------------------------------------------------------------------------- #include <stdio.h> int main () { int n1, divisor, r, soma1 = 0, somareal; int n2, divisor2, r2, soma2 = 0,somareal2; for (n1 = 1, n2 = 1; n1 <= 1000; n1++, n2++) { for (divisor = 1, divisor2 = 1; divisor <= 1000; divisor++, divisor2++) { if (n1 % divisor == 0) { r = n1 / divisor; soma1 += divisor; //printf("\nN1 = %d\t DIVISOR = %d\t N1 / DIVISOR = %d\n",n1, divisor, r); } if (n2 % divisor2 == 0) { r2 = n2 / divisor2; soma2 +=divisor2; //printf("\nN2 = %d\t DIVISOR2 = %d\t N2 / DIVISOR2 = %d SOMA = %d\n",n2, divisor2, r2, soma2); } } somareal = soma1 - n1; somareal2 = soma2 - n2; //printf("\nSOMA: %d\n",somareal); //printf("SOMA2: %d\n",somareal2); if (n1 == somareal2 && n2 == somareal) { printf("N1 %d e SOMA2 %d ",n1,somareal2); printf("N2 %d e SOMA %d são NUMEROS AMIGOS!\n",n2,somareal); } //printf("\n--------------------------------------------\n"); soma1 = 0; soma2 = 0; } return 0; } ----------------------------------------------------------------------------------------------------------------------------------------- FIM DO CÓDIGO----------------------------------------------------------------------------------------------------------------------------------------------- Obrigada pessoal!
  2. '''' #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { int idade, anoatual = 2019, anonascimento; char sexo; printf("\nDigite o ano de seu nascimento:"); scanf("%d", &anonascimento); printf("\n Digite [F] para femenino e [M] para masculino"); scanf("%c", &sexo); idade = anoatual - anonascimento; if (sexo == 'M' && idade == 18) { printf("Serviço Militar Obrigatorio"); } else { printf("Isento de serviço militar obrigatorio"); } system("pause"); return(0); } '''
  3. O \n não está funcionando no ultimo printf,ele fica na mesma linha do printf ("então.... . porque, como mudo isso #include <stdio.h> int main () { int Numerodachamada; Numerodachamada=32; printf("Numero da Chamada : %i.\n" , Numerodachamada); printf("então multiplicamos por 2 o numero da chamada."); Numerodachamada=32*2; printf("O resultado sera esse : %i.\n",Numerodachamada); return 0 ; }
  4. Olá, sou inciante em programação, estamos aprendendo C, preciso de ajuda para o seguinte: 1- Fiz para salvar em vetor um código somente de números e uma senha também de números. int telacadastro () { int i, logar[50], senha[50]; printf ("Vamos executar o cadastro, para isso digite apenas o login e a senha(somente numeros):\n"); for (i=0; i<=0; i++) { printf ("Escolha um codigo de login de até 4 numeros. Ex: 2134:"); scanf("%d", &logar); break; } for (i=0; i<=0; i++) { printf ("Escolha uma senha, somente de numeros, até 8 numeros:"); scanf ("%d", &senha); } main(); return 0; } 2 - O próximo passo seria comparar esses vetores: int telalogin () { int i, cli_logar[50], cli_senha[50], logar[50], senha[50]; printf("Digite seu codigo:"); scanf("%d", &cli_logar); printf("Digite sua senha:"); scanf("%d", &cli_logar); for (i=0; i<=49; i++) { if((cli_logar==logar) && (cli_senha==senha)) { printf("Acesso Liberado."); break; } else { printf("Login Errado."); break; } } } Alguém ai que me ajude, o programa copila e roda, só que não salva o código e senha, nem compara, acredito que a logica esteja errada. Agradeço amigos.
  5. 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$
  6. Estou com problemas na resolução de um exercício de linguagem C. Por que é obrigatório o uso de Função e Struct. Duas coisas que não sei usar. Será que alguém poderia resolver para mim? Grato desde já. Agência Bancaria Funções L -> Listar todos os clientes cadastrados e suas informações; C Nome Idade conta saldo-> Cadastra um cliente com Nome, Idade, Conta e Saldo; B 1 Idade -> Busca os clientes com idade menor ou igual ao informado; B 2 Idade -> Busca os clientes com idade maior que o informado; B 3 Nome -> Busca os Clientes com o Nome Informado; B 4 conta -> Busca os clientes com o número da conta informada; B 5 -> Valor total dos saldos na agência; As funções B ( 1 à 4) devem apresentar os TODOS os dados da estrutura.
  7. Olá a todos, sou iniciante em programação e estou com dificuldade no seguinte exercicio de linguagem em c Dados n números inteiros positivos, calcular a soma dos que são primos. Quando somo os números 3 e 5 por exemplo, só aparece como resultado o número 3, ou vice versa. Minha programação até agora: #include <stdio.h> int main () { int n,soma,i,div; n = 1; div = 0; soma = 0; while (n != 0) { printf("Digite valor maior que 0 (Digite 0 para para finalizar "); scanf("%d", &n); for (i = 1; i <= n; i++) { if (n%i == 0) { div = div + 1; } if (div == 2) { soma = soma + n; } } } printf("Soma: %d",soma); return 0; }
  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. Olá, boa tarde. Estou com duvida sobre o porquê do meu código não rodar. Eu pesquisei na internet e aparentemente ele esta 100%, sem nenhum erro. #include <stdio.h> #include <stdlib.h> void somatorioMedia(float *a, int n, float *somatorio, float *media); int main(){ int i; float a[10]; int n = 10; float *somatorio; *somatorio = 0; float *media; *media = 0; for(i=0; i<10; i++){ printf("n[%i]: ", i); scanf("%f", &a[i]); } somatorioMedia(a, n, somatorio, media); printf("Somatorio: %.2f\n", *somatorio); printf("Media: %.2f", *media); return 0; } void somatorioMedia(float *a, int n, float *somatorio, float *media){ int i; for(i=0; i<n; i++){ *somatorio += a[i]; } *media = *somatorio / n; }
  10. elabore um programa que leia dois numeros decimais inteiros de no maximo 32 bits e determine, bit a bit, quais bits são iguais nos dois numeros, e dos que forem igual se são '' 0 '' ou '' 1''. Por exemplo, os numeros 0 e 255 contem 24 bits iguais (bit8...bit31), em zero, e 8 bits diferente ( bit0...bit7). nesse caso a impressao seria: bits iguais: || valor 7 0 8  0 9 0 . . . 31 0
  11. elabore um programa que leia dois numeros decimais inteiros de no maximo 32 bits e determine, bit a bit, quais bits são iguais nos dois numeros, e dos que forem igual se são '' 0 '' ou '' 1''. Por exemplo, os numeros 0 e 255 contem 24 bits iguais (bit8...bit31), em zero, e 8 bits diferente ( bit0...bit7). nesse caso a impressao seria: bits iguais: || valor 7 0 8 0 9 0 . . . 31 0
  12. teylorgnkn

    ERRO DE KEY

    Estou com o seguinte erro, vou importar minha base e resulta em apenas 1 erro. E como não tenho muito conhecimento com sql, não sei como resolver. ERRO: Erro Comando SQL: /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS Mensagens do MySQL : #1064 - Você tem um erro de sintaxe no seu SQL próximo a '' na linha 1
  13. Oi boa tarde. Faça um programa que realize o cadastro de contas bancárias com as seguintes informações: número da conta, nome do cliente e saldo. O banco permitirá o cadastramento de apenas 15 contas e não pode haver mais que uma conta com o mesmo número. O programa deverá usar REGISTRO em sua estrutura de dados e criar um menu de opções como a seguir: Menu de Opções: 1 - Cadastrar Contas 2 - Visualizar contas 3 - Exclusão de contas 4 - Sair Então... neste exercício eu fiz uma função para cada uma das 3 primeiras opções. Na verdade não sei explicar direito o porque de ocorrer isso. Problema 1, quando mando iniciar o programa, e vou no menu 2 e depois no 3, para constatar que não tem nada cadastrado, mas ele visualiza aqueles dados tipo quando a variável esta com lixo. Problema 2, quando vou no menu 1 para cadastrar uma conta, fala que já tem conta cadastrada, quando na vdd não tem, ai vou la visualizar o que cadastrei e ela não aparece... Eu criei na main() um for que é para zerar a struct quando o programa é executado. Basicamente é isso. Primeiramente eu fiz sem utilizar as funções, tudo dentro da main, cada case com a sua própria solução, e ficou perfeito, insere, pesquisa, exclui tanto por nome quanto por conta. Mas querendo utilizar função para cada case escolhida, já não deu certo... Me ajudem. Segue o código: #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #define MAX 3 struct conta{ char cliente[50]; int cc; float saldo; }; int cadConta(){ struct conta add[MAX]; int i, ncc, contador, cont = 0; do{ printf("Digite o Numero da Conta: "); scanf("%d",&ncc); for(i=0; i<MAX; i++){ if(ncc != add[i].cc){ contador++; } } if(contador == MAX){ add[cont].cc = ncc; printf("Digite o Nome do Cliente: "); scanf("%s", &add[cont].cliente); printf("Digite o saldo: "); scanf("%f", &add[cont].saldo); printf("\nConta cadastrada com sucesso!\n"); printf("\n"); contador = 0; } else{ cont = cont - 1; printf("Conta já existe!!\n"); contador = 0; } cont++; }while(cont < MAX); system("cls"); return(0); } int visualizaConta(){ int i, tem, verificador, tipo, cc; struct conta view[MAX]; char cli[50] = {"NULL"}; do{ printf("\nSelecione a opção que melhor lhe atenda...\n"); printf("1 - Visualizar contas p/ Cliente\n"); printf("2 - Visualizar conta p/ Conta\n"); printf("3 - Visualizar todas as contas\n"); printf("4 - Sair deste Menu\n"); printf("\nDigite uma opção: "); scanf("%i", &tipo); switch(tipo){ case 1: system("cls"); printf("\n\n"); printf("Digite o nome do cliente: "); scanf("%s", &cli); tem = 0; for(i=0; i<MAX; i++){ verificador = (strcmp(cli, view[i].cliente)); if(verificador == 0){ printf("\n\n"); printf("Conta: %d - Cliente: %s - Saldo: %.2f\n", view[i].cc, view[i].cliente, view[i].saldo); tem = 1; } } if(tem == 0){ printf("\n\nNão existe conta cadastrada para este cliente!!\n"); } system("pause"); system("cls"); break; case 2: system("cls"); printf("\n\n"); printf("Digite o Numero da Conta: "); scanf("%d", &cc); tem = 0; for(i=0; i<MAX; i++){ if(cc == view[i].cc){ printf("Conta: %d - Cliente: %s - Saldo: %.2f\n", view[i].cc, view[i].cliente, view[i].saldo); tem = 1; } } if(tem == 0){ printf("\nNão existe esta conta cadastrada!!\n"); } system("pause"); system("cls"); break; case 3: for(i=0; i<MAX; i++){ printf("Conta: %d - Cliente: %s - Saldo: %.2f\n", view[i].cc, view[i].cliente, view[i].saldo); } system("pause"); system("cls"); break; default: printf("Opção de Sair... XauXau"); system("cls"); } }while(tipo != 4); return(0); } int excluir(){ int op = 0, excluir, tem, i, verificador; char excluirC[50] = {"NULL"}; struct conta exc[MAX]; do{ printf("\nSelecione a opção que melhor lhe atenda...\n"); printf("\n1 - Excluir conta p/ Conta"); printf("\n2 - Excluir conta p/ Cliente"); printf("\n3 - Sair deste Menu\n"); printf("\nDigite uma opção: "); scanf("%i", &op); switch(op){ case 1: printf("Digite o Numero da Conta: "); scanf("%d", &excluir); tem = 0; for(i=0; i<MAX; i++){ if(excluir == exc[i].cc) tem = 1; } if(tem == 1){ printf("\nConta Localizada!!\n"); } if(tem == 0){ printf("\nNão existe esta conta cadastrada!!\n"); system("cls"); } else{ for(i=0; i<MAX; i++){ if(excluir == exc[i].cc){ exc[i].cc = 0; strcpy(exc[i].cliente, "NULL"); exc[i].saldo = 0.0; printf("\nConta Excluida com sucesso!!\n"); system("pause"); system("cls"); } } } system("pause"); system("cls"); break; case 2: printf("Digite o Nome do Cliente: "); scanf("%s", &excluirC); tem = 0; for(i=0; i<MAX; i++){ verificador = (strcmp(excluirC, exc[i].cliente)); if(verificador == 0){ tem = 1; exc[i].cc = 0; strcpy(exc[i].cliente, "NULL"); exc[i].saldo = 0.0; printf("\nConta Localizada!!\n"); printf("\nConta Excluida com sucesso!!\n"); system("pause"); system("cls"); } } if(tem == 0){ printf("\nNão existe esta conta cadastrada!!\n"); system("cls"); } break; default: printf("Opção de Sair... XauXau"); system("cls"); } }while(op != 3); } int main() { setlocale(LC_ALL,"portuguese"); int num = 0, i, cadConta(), visualizaConta(), excluir(); struct conta banco[MAX]; printf("8) Faça um programa que realize o cadastro de contas bancárias com as seguintes informações: número da conta, nome do cliente e saldo. O banco permitirá o cadastramento de apenas 15 contas e não pode haver mais que uma conta com o mesmo número. O programa deverá usar REGISTRO em sua estrutura de dados e criar um menu de opções como a seguir:\nMenu de Opções:\n\n"); for(i=0; i<MAX; i++){ strcpy(banco[i].cliente, "NULL"); banco[i].cc = 0; banco[i].saldo = 0.0; } do{ printf("\nMenu de Opções:\n1 - Cadastrar Contas\n2 - Visualizar contas\n3 - Excluir contas\n4 - Sair.\n\n"); printf("\nDigite uma opção: "); scanf("%i", &num); switch(num){ case 1: system("cls || clear"); printf("", cadConta()); break; case 2: system("cls || clear"); printf("", visualizaConta()); break; case 3: system("cls || clear"); printf("", excluir()); break; case 4: system("cls || clear"); printf("Opcão de Sair!! Xau Xau\n"); break; default: system("cls || clear"); } }while(num != 4); return 0; }
  14. Boa tarde eu tenho um exercicio sobre linguagem C e eu não entendi como devo fazer, preciso do código para a resolução do exercico, alguém pode me ajudar? Pergunta: Considere que você é um freelancer desenvolvedor de sistemas desktop. Para iniciar seu portfólio, você decide testar uma ideia de sistema para bibliotecas. Assim, você resolve que criará um programa como Prova de Conceito para validar suas ideias e também para poder mostrar para seus possíveis clientes. Dessa forma, seu programa, em versão beta (versão de testes), deverá permitir armazenar o cadastro de, no máximo, 5 (cinco) livros por vez (por execução do programa). Para cada livro, a aplicação deverá armazenar as seguintes informações: * Um código único, gerado automaticamente pelo sistema; * O nome dos autores da obra; * O nome da obra; * O nome da editora. O programa deverá apresentar um menu de opções ao usuário: 1 – Inserir um novo cadastro: ao selecionar essa opção, o usuário deverá ser capaz de informar todos os dados de um livro. A saber: seu nome, os autores, e o nome da editora; o código do cadastro não deve ser informado pelo usuário pois o programa deve gerar automaticamente. Caso o programa já tenha armazenado o número máximo de livros (cinco), deverá ser exibida uma mensagem de erro: “Sistema de cadastro lotado. Não é possível armazenar mais informações!”. O código de um cadastro deve ser preenchido automaticamente pelo sistema e o usuário não deve ter a opção de alterar esse código. É importante salientar que para cada cadastro, deve-se ter um código distinto, ou seja, não deve ser possível que existam dois cadastros com o mesmo código, ao mesmo tempo; 2 – Mostrar todos os cadastros: ao selecionar essa opção, o programa deverá imprimir, na tela, para cada livro, seu código, seu nome, os autores e a editora. Essa opção deverá mostrar na tela apenas os dados de livros que foram cadastrados. Caso seja impressa alguma outra informação sobressalente, ou caso faltem informações previamente cadastradas, será considerado um erro de programação. Caso nenhum cliente tenha sido cadastrado, antes de tentar executar essa opção (2 - Mostrar todos os cadastros), o programa deve exibir a mensagem “Lista vazia!”; 0 – Encerrar: o programa deve ser encerrado se, e somente se, o usuário escolher essa opção.Observações importantes:Sempre que o usuário desejar executar as opção 1 ou 2 (exceto 0), o programa deve realizar o que é pedido no enunciado e, logo após isso, o programa deve retornar ao menu, dando ao usuário a possibilidade de executar novamente alguma das opções listadas no menu. Caso o usuário escolha uma opção que não conste no menu, o programa deverá exibir uma mensagem de erro como, por exemplo, “Erro: opção inválida!”; retornando ao menu logo em seguida. Caso contrário, o programa não deverá imprimir essa mensagem de erro, ou seja, se o usuário tentar executar as opções 0, 1 ou 2, o programa não entra em estado de erro.
  15. Eu fiz esse código aí para testar o recebimento de valores em uma matriz e impressão dos mesmo só que os dados que eu insiro quando o programa é compilado se alteram e fica esse trem doido aí se alguém puder me dizer o que tenho que fazer pra consertar agradeço. meu código: #include <stdio.h> #include <math.h> int ze[3][3]; int i=0,j=0,k=0,l=0; int main(void){ for(i=0; i<3; i++){ for(j=0; j < 3; j++){ scanf("%d", & ze[j]); } } for(k=0; k < 3; k++){ printf("\n |"); for(l=0; l<3; l++){ printf("%d", & ze[k][l]); printf("|"); } } return 0; printf("\n"); } o que ta sendo imprimido: 1 //valores que inseri 2 //valores que inseri 3 //valores que inseri 4 //valores que inseri 5 //valores que inseri 6 //valores que inseri 7 //valores que inseri 8 //valores que inseri 9 //valores que inseri |4223040|4223044|4223048| //valores que saem |4223052|4223056|4223060| //valores que saem |4223064|4223068|4223072| //valores que saem -------------------------------- Process exited after 5.882 seconds with return value 0 Pressione qualquer tecla para continuar. . .
  16. int x (int n, int m) { if((n==m)||(m==0)) { return 1; } else { return x(n-1,m) + x(n-1 ,m-1); } } No caso, no primeiro momento vai entrar no if e vai verificar se n == m, no caso os dois são zeros, Então eles serão iguais, então entra na condição do if, que é o return 1. Feito isso, eu irei voltar no if novamente e verificar se n == m? não estou entendendo isso, alguém poderia me auxiliar?
  17. Boa tarde! Gostaria de uma ajuda em um exercício que estou fazendo. Vou disponibilizar o exercício, e o código que já fiz. Preciso de ajuda pois o exercício precisa ser entregue ainda hoje 31/05/19 e já tentei de tudo quanto é forma resolver. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <tchar.h> #include <locale.h> //Constante que define o tamanho máximo da estrutura de dados #define tamanho 3 typedef struct tipo_proc{ char nome[10]; int PID ; }tipo_proc; tipo_proc proc; //Declaração do tipo_pilha: estrutura de dados typedef struct tipo_pilha { tipo_proc dados[tamanho]; int ini; int topo; }tipo_pilha; //Criando uma variável tipo_pilha tipo_pilha pilha; //Função que empilha um novo elemento no topo void empilha(tipo_proc elemento) { //Verificando se existe alguma posição disponível para uma inserção if(pilha.topo == tamanho) { //Se a pilha estiver cheia, não é possível empilhar printf("Pilha cheia.\n"); system("pause"); } else { //Se a pilha não estiver cheia: // Adicione o novo elemento no topo // Incremente o topo pilha.dados[pilha.topo] = elemento; pilha.topo++; proc.PID++; } } /* Função que desempilha e retorna o elemento do topo */ tipo_proc desempilha(){ //Variável que guarda um "backup" do elemento desempilhado tipo_proc elemento; int i; //Verificando se existe algum elemento disponível para uma remoção if(pilha.topo == 0) { //Se a pilha estiver vazia, não será possível desempilhar printf("A Pilha está vazia.\n"); system("pause"); } else { //Decrementa-se o "topo". //Se a pilha não estiver vazia // Guarda um backup do elemento a ser removido; //'Arrata os elementos do "topo em direção ao "início" //Nesse passo, o elemento que estava no "início" da fila será sobrescrito for(i=0; i<tamanho; i++) pilha.dados = pilha.dados[i+1]; pilha.topo--; elemento = pilha.dados [pilha.topo]; //Retorne o elemento que estava no "topo" return elemento ; } } int main() { _tsetlocale(LC_ALL,_T("portuguese")); int i; int opcao=0; tipo_proc processo; tipo_proc backup; pilha.topo=0; pilha.ini=0; processo.PID =1 ; do{ printf("Opcoes:\n"); printf(" 1 - Inserir um elemento novo na pilha\n"); printf(" 2 - Remover um elemento da pilha\n"); printf(" 3 - Esvaziar a pilha\n"); printf(" 0 - Encerrar o programa\n"); printf(" Entre com a sua opcao: "); scanf("%d", &opcao); /*Le a opcao do usuario*/ switch (opcao) { //Inserir um elemento na pilha case 1: for(i=0;i<=3;i++) { printf("\nPID: %d - Nome: %s",pilha.dados [pilha.topo].PID,pilha.dados [pilha.topo].nome); scanf (" %s", &processo.nome); empilha(processo); } /*fflush(stdin);*/ break; case 2: printf("\nRemover um elemento da pilha:\n"); printf("PID: %d - Nome: %s\n", backup.PID, backup.nome); backup = desempilha(); fflush(stdin); break; case 3: printf("\n Esvaziar a pilha\n"); fflush(stdin); break; } }while(opcao!=0); }
  18. 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; }
  19. 1) Escrever uma função em C que: receba dois strings como parâmetro, bem como um valor inteiro representando uma posição; insira o segundo string no primeiro, na posição indicada pelo valor. No programa principal leia os dois strings, o valor da posição, passe para a função descrita acima e escreva o resultado na tela. 2) Desenvolva uma função em C, que recebe como parâmetros um inteiro n e duas matrizes quadradas reais X e Y de ordem n, sendo a dimensão n lida do teclado. Esta função calcula soma das matrizes X e Y . Escreva no módulo principal, a matriz gerada na função. 3) Escreva um programa que solicite ao usuário o número de notas a serem digitadas, crie uma matriz, com a dimensão especificada, para armazenar as entradas, solicite as notas e chame um função que retorne a média aritmética das notas. Após imprimir a média, o programa libera a memória alocada para a matriz . 4) Escreva uma função que inverta a ordem dos caracteres de uma cadeia de caracteres que ela recebe como argumento. Use ponteiro. Exemplo: ’Saudações’ resulta ’seõçaduaS’
  20. não converte o codigo na hora de ir de binario para hexa ou etc #include <stdio.h> #include <math.h> #include <stdlib.h> #define SIZE 255 #define ALG 17 int number,opcao; // Esta função converte um número decimal para a base 2, 8 ou 16. // Recebe como parâmetro um número decimal (num_dec), e a base (base) cujo número será convertido. void decToBase(int num_dec, int base) { char resto[ALG] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}, num_conv; int indx = 0; // Este loop realiza as operações de divisão. Os restos são guardados no vetor 'num_conv' while(num_dec > 0) { num_conv[indx] = resto[num_dec % base]; num_dec /= base; indx++; } // Exclui o caractere especial '\0' do final da string indx -= 1; // Utilizado para identificar a saída do programa switch(base) { case 2 : printf("BINÁŔIO: "); break; case 8 : printf("OCTAL: "); break; case 16 : printf("HEXADECIMAL: "); break; } // Inverte a string contida no vetor num_conv for(indx; indx >= 0; indx--) printf("%c", num_conv[indx]); printf("\n"); switch(opcao) { int num_salva; case 2: if(base=2) { for(indx; indx >= 0; indx--) { number+=num_conv[indx]; } } break; case 3: if(base=8) { for(indx; indx >= 0; indx--) { number+=num_conv[indx]; } } break; case 4: if(base=16) { for(indx; indx >= 0; indx--) { number+=num_conv[indx]; } } break; } } // Esta função permite converter um número na base 2, 8 ou 16 para a base decimal. // Recebe como parâmetro uma string (representação do número), e um número inteiro que // determina em qual base está o número do primeiro parâmetro. void baseToDec(char* num_base, int base) { int indx = 0, exp = 0, cont = 0, dec = 0, num = 0; // Este loop determina o tamanho da string while(num_base[cont] != '\0') { cont++; } // Neste loop, a string é percorrida de trás para frente. Cada caractere é convertido // em um número inteiro, multiplicado pela base elevada ao expoente (0..Comprimento da string) // e somado ao valor da variável 'dec', que recebe as somas sucessivas. for(exp, indx=(cont-1); exp < cont; exp++, indx--) { if(base == 16) { switch(num_base[indx]) { case 'A' : case 'a' : num = 10; break; case 'B' : case 'b' : num = 11; break; case 'C' : case 'c' : num = 12; break; case 'D' : case 'd' : num = 13; break; case 'E' : case 'e' : num = 14; break; case 'F' : case 'f' : num = 15; break; default : num = (int)num_base[indx] - (int)'0'; } } else num = (int)num_base[indx] - (int)'0'; // Aqui avalia se o usuário digitou um número válido ou não! if(num > (base-1) || num < 0) { printf("Você informou um número inválido!\n"); exit(0); } dec += num * pow(base, exp); } // O número convertido para decimal é exibido printf("DECIMAL: %d\n", dec); } // Função que imprime o menu da calculadora void menu(void) { printf("\nBEM-VINDO AO CONVERSOR DE BASES NUMÉRICAS\n"); printf("QUAL OPERAÇÃO DESEJA REALIZAR? \n"); printf("[ 1 ] DECIMAL -> BINARIO, OCTAL e HEXADECIMAL\n"); printf("[ 2 ] BINARIO -> DECIMAL, OCTAL e HEXADECIMAL\n"); printf("[ 3 ] OCTAL -> DECIMAL, BINARIO e HEXADECIMAL\n"); printf("[ 4 ] HEXADECIMAL -> DECIMAL, BINARIO, OCTAL\n"); printf("[ 0 ] SAIR\n"); } // Função que chama as funções correspondentes à opção escolhida void process_calc(int opt) { char str; switch(opt) { case 0 : printf("CALCULADORA ENCERRADA!\n"); exit(0); case 1 : printf("DECIMAL: "); scanf("%d", &number); decToBase(number, 2); decToBase(number, 8); decToBase(number, 16); break; case 2 : printf("BINÁRIO: "); scanf("%s", str); baseToDec(str, 2); decToBase(number, 8); decToBase(number, 16); break; case 3 : printf("OCTAL = "); scanf("%s", str,3); baseToDec(str, 8); decToBase(number, 2); decToBase(number, 16); break; case 4 : printf("HEXADECIMAL = "); scanf("%s", str); baseToDec(str, 16); decToBase(number, 2); decToBase(number, 8); break; default : printf("OPÇÃO NÃO PERMITIDA!\nTENTE NOVAMENTE\n"); break; } } int main(void) { menu(); printf("QUAL OPERAÇÃO DESEJA REALIZAR? "); scanf("%d", &opcao); process_calc(opcao); return 0; }
  21. Exercicio Caixa eletrônico com Notas. Ola, estou tentando fazer um ex. aqui de um caixa eletrônico, onde precisa ser feito o saque apenas com as determinadas notas: 2, 5, 10, 20, 50 e 100 reais. Consegui fazer assim, deu certo até o saque de valor 13, dai pra frente ele entrega os valores impares em notas de 2 e 5 rsrs #include <stdio.h> #include <stdlib.h> int main() { int n100=0,n50=0,n20=0,n10=0,nota5=0,nota2=0; float valor=0; int valor2=0; int op; printf("-> Quanto deseja sacar? R$"); scanf("%f",&valor); valor2=(int) valor; if(valor2%2==0){ while(valor>=100){ valor=valor-100; n100=n100+1; } while(valor>=50){ valor=valor-50; n50=n50+1; } while(valor>=20){ valor=valor-20; n20=n20+1; } while(valor>=10){ valor=valor-10; n10=n10+1; } while(valor>=2){ valor=valor-2; nota2=nota2+1; } } if(valor2%2==1){ if(nota5<=1){ while(valor>=5){ valor=valor-5; nota5=nota5+1; if(nota5>=1){ while(valor>=2){ valor=valor-2; nota2=nota2+1; } break; } } } while(valor>=2){ valor=valor-2; nota2=nota2+1; } } printf("SAQUE:\n"); printf("%d nota(s) de R$ 100.00\n",n100); printf("%d nota(s) de R$ 50.00\n",n50); printf("%d nota(s) de R$ 20.00\n",n20); printf("%d nota(s) de R$ 10.00\n",n10); printf("%d nota(s) de R$ 5.00\n",nota5); printf("%d nota(s) de R$ 2.00\n",nota2); return 0; }
  22. Se poderem dar uma olhada no código abaixo e me dizer o que está causando o erro, eu agradeço demais ! Aceitos dicas/sugestões para melhorar o código também ! Obs: Estou tentando fazer um jogo da velha. (Ignorem as bibliotecas inúteis .-. ) #include <iostream> #include <stdio.h> //Para função gets #include <stdlib.h> //Para função malloc #include <math.h> #include <iomanip> //JOGO DA VELHA using namespace std; bool x=false,o=false; int jogadas=0; bool verificaX(char *vetor); bool verificaO(char *vetor); int main(){ char casas[3][3]={' ',' ',' ',' ',' ',' ',' ',' ',' '}; int l=0,c=0; while(jogadas<9){ cout << "\t\t" << casas[0][0] << " | " << casas[0][1] << " | " << casas[0][2] << "\n"; cout << "\t\t_________\n"; cout << "\t\t" << casas[1][0] << " | " << casas[1][1] << " | " << casas[1][2] << "\n"; cout << "\t\t_________\n"; cout << "\t\t" << casas[2][0] << " | " << casas[2][1] << " | " << casas[2][2] << "\n\n\n"; cout << "Digite uma linha: "; cin >> l; cout << "Digite uma coluna: "; cin >> c; while(l<=0 || c <=0 || l>3 || c>3){ system("cls"); cout << "Linha ou Coluna não existe!"; cout << "Digite uma linha: "; cin >> l; cout << "Digite uma coluna: "; cin >> c; } system("cls"); if(jogadas%2==0){ casas[--l][--c]='X'; }else{ casas[--l][--c]='O'; } jogadas++; verificaX(&casas); verificaO(&casas); } if(verificaX){ cout << "Jogador X ganhou!"; }else if(verificaO){ cout << "Jogador O ganhou!"; }else{ cout << "Empate!"; } return(0); } bool verificaX(char *vetor){ int l,c; for(l=0;l<3;l++){ if(*vetor[l][0] && *vetor[l][1] && *vetor[l][2] == 'X'){ jogadas=10; return x=true; }else if(*vetor[0][c] && *vetor[1][c] && *vetor[2][c] == 'X'){ jogadas=10; return x=true; } c++; } } bool verificaO(char *vetor){ int l,c; for(l=0;l<3;l++){ if(*vetor[l][0] && *vetor[l][1] && *vetor[l][2] == 'X'){ jogadas=10; return o=true; }else if(*vetor[0][c] && *vetor[1][c] && *vetor[2][c] == 'X'){ jogadas=10; return o=true; } c++; } }
  23. Se poderem dar uma olhada no código abaixo e me dizer o que está causando o erro, eu agradeço demais ! Obs: Estou tentando fazer um jogo da velha. (Ignorem as bibliotecas inúteis .-. ) #include <iostream> #include <stdio.h> //Para função gets #include <stdlib.h> //Para função malloc #include <math.h> #include <iomanip> //JOGO DA VELHA using namespace std; bool x=false,o=false; int jogadas=0; bool verificaX(char *vetor); bool verificaO(char *vetor); int main(){ char casas[3][3]={' ',' ',' ',' ',' ',' ',' ',' ',' '}; int l=0,c=0; while(jogadas<9){ cout << "\t\t" << casas[0][0] << " | " << casas[0][1] << " | " << casas[0][2] << "\n"; cout << "\t\t_________\n"; cout << "\t\t" << casas[1][0] << " | " << casas[1][1] << " | " << casas[1][2] << "\n"; cout << "\t\t_________\n"; cout << "\t\t" << casas[2][0] << " | " << casas[2][1] << " | " << casas[2][2] << "\n\n\n"; cout << "Digite uma linha: "; cin >> l; cout << "Digite uma coluna: "; cin >> c; while(l<=0 || c <=0 || l>3 || c>3){ system("cls"); cout << "Linha ou Coluna não existe!"; cout << "Digite uma linha: "; cin >> l; cout << "Digite uma coluna: "; cin >> c; } system("cls"); if(jogadas%2==0){ casas[--l][--c]='X'; }else{ casas[--l][--c]='O'; } jogadas++; verificaX(&casas); verificaO(&casas); } if(verificaX){ cout << "Jogador X ganhou!"; }else if(verificaO){ cout << "Jogador O ganhou!"; }else{ cout << "Empate!"; } return(0); } bool verificaX(char *vetor){ int l,c; for(l=0;l<3;l++){ if(*vetor[l][0] && *vetor[l][1] && *vetor[l][2] == 'X'){ jogadas=10; return x=true; }else if(*vetor[0][c] && *vetor[1][c] && *vetor[2][c] == 'X'){ jogadas=10; return x=true; } c++; } } bool verificaO(char *vetor){ int l,c; for(l=0;l<3;l++){ if(*vetor[l][0] && *vetor[l][1] && *vetor[l][2] == 'X'){ jogadas=10; return o=true; }else if(*vetor[0][c] && *vetor[1][c] && *vetor[2][c] == 'X'){ jogadas=10; return o=true; } c++; } }
  24. Boa tarde! Esse é o meu primeiro post aqui, então me desculpem por qualquer erro. Eu estou tentando fazer um programa em C para cadastro de alunos. Basicamente ele precisa cadastrar quantos alunos o usuário quiser (máximo 50) e cada aluno possui uma chave (identificação) e três notas (n1, n2, n3). Até o cadastro, parece que deu tudo certo, mas ocorre um erro estranho quando tento apresentar os alunos. O código é o seguinte: #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <malloc.h> #define MAX 50 //Estrutura de Alunos typedef struct{ int chave; int n1; int n2; int n3; }ALUNO; //Lista dinâmica typedef struct{ ALUNO A[MAX]; int qtdAlunos; }LISTA; //Função para iniciar lista void inicia_sistema(LISTA* li){ li->qtdAlunos = 0; printf("\n\nSistema Iniciado!\nVocê tem %d alunos cadastrados.\n--------------------------------------\n\n", li->qtdAlunos); } //Função para cadastrar alunos int cadastra_aluno(LISTA* li, ALUNO al){ int i = li->qtdAlunos; if(li->qtdAlunos == 0){ li->A[0] = al; return 1; }else{ i++; li->A[i] = al; return 1; } return 0; } //Função para listar alunos void lista_aluno(LISTA* li){ int i; for (i=0; i < li->qtdAlunos; i++){ printf("Aluno %d\n", i); printf("Nota 1: %i\n", li->A[i].n1); printf("Nota 2: %i\n", li->A[i].n2); printf("Nota 3: %i\n\n\n", li->A[i].n3); } } int main(){ setlocale(LC_ALL, "Portuguese"); LISTA* li = (LISTA*) malloc(sizeof(LISTA)); ALUNO al[MAX]; int op, cont, result; do{ printf("Pressione para escolher:\n"); printf("1 - Iniciar Sistema\n"); printf("2 - Cadastrar Aluno\n"); printf("3 - Listar Alunos\n"); printf("0 - Sair\n"); scanf("%d", &op); switch(op){ case 1: inicia_sistema(li); break; case 2: system("cls"); printf("Cadastro de Alunos\n\n--------------------------------------\n\n"); printf("Você tem %d alunos cadastrados.\n", li->qtdAlunos); printf("Nota 1: "); scanf("%d", &al[li->qtdAlunos].n1); printf("Nota 2: "); scanf("%d", &al[li->qtdAlunos].n2); printf("Nota 3: "); scanf("%d", &al[li->qtdAlunos].n3); al[li->qtdAlunos].chave = li->qtdAlunos; result = cadastra_aluno(li, al[li->qtdAlunos]); li->qtdAlunos++; if(result > 0){ printf("Aluno cadastrado!\n"); printf("Você tem %d alunos cadastrados.\n\n", li->qtdAlunos); }else{ printf("Aluno não cadastrado!\n"); printf("Você tem %d alunos cadastrados.\n\n", li->qtdAlunos); } break; case 3: system("cls"); printf("Listar Alunos\n\n--------------------------------------\n\n"); lista_aluno(li); break; } }while(op!=0); } A saída, para um caso de 3 alunos cadastrados, está em anexo.
  25. Olá, estou com um exercício da faculdade que não consegui resolver, é um exercício onde preciso utilizar ponteiro para ponteiro em uma struct mas estou muito perdido na sintaxe. o exercício é o seguinte: Faça uma struct com dois campos, uma string para nome e um int para armazenar um número inteiro. Na main peça para o usuário digitar o tamanho do array da struct. Crie uma função para alocar dinamicamente esse array de struct e ler os dados digitados pelo usuário. Faça uma função que verifica os números pares digitados pelo usuário na struct e se o número for par dentro do if se chama outra função para manipular esse número par passando toda a struct, essa função deve receber a struct mas manipular apenas o número par dela e dividi-lo por 2 alterando a struct original. No final o programa deve imprimir na main o array dos números. Eu consegui fazer alocando na própria main, mas dessa forma com uma função separada não consegui. Vou deixar meu código, que deve ter vários erros mas serve pra ilustrar bem o que o exercício pede. #include <stdio.h> #include <stdlib.h> #include <locale.h> struct dados{ char nome[5]; int num; }; typedef struct dados dado; void manipula_um_par(dado **q){ **q.num=**q.num/2; } void manipula_pares(dado **q,int *x){ int i; for(i=0;i<*x;i++){ if(*(*q[i]).num%2==0){ manipula_um_par(&q[i]); } } } void define_structs(int *n, dado *q){ dado *p; int i; p = (dado *) malloc(*n*sizeof(dado)); printf("\n"); for(i=0;i<*n;i++){ printf("Digite o %dº nome: ",i+1); gets(p[i].nome); setbuf(stdin,NULL); printf("Digite o %dº número: ",i+1); scanf("%d", &p[i].num); setbuf(stdin,NULL); printf("\n"); } q=&p; } int main(){ setlocale(LC_ALL, "Portuguese_Brazil"); int n, i; dado **q; printf("Digite o tamanho do vetor de struct: "); scanf("%d",&n); setbuf(stdin,NULL); q = (dado *) malloc(n*sizeof(dado)); define_structs(&n,q); manipula_pares(q,&n); for(i=0;i<n;i++){ printf("%d\n", **q[i].num); } printf("\n"); return 0; }
×
×
  • Criar Novo...