Ir ao conteúdo
  • Cadastre-se

Gustavo Beck

Membro Júnior
  • Posts

    18
  • Cadastrado em

  • Última visita

Tudo que Gustavo Beck postou

  1. Estou fazendo uma Agenda telefonica, e preciso abrir um arquivo de texto para salvar um Arraylist dentro e poder modificar ele também. Estou usando a classe executavel AgendaTelefonica: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package agendatelefonica; /** * * @author gubec */ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; /** * @author gubec */ public class AgendaTelefonica extends Contato{ static ArrayList<Contato> listaContato; public static void main(String[] args) { Scanner input = new Scanner(System.in); int menuPrograma = 10; listaContato = new ArrayList<>(); while(menuPrograma != 0){ System.out.println("MENU"); System.out.println("1- Incluir novos nomes e telefones"); System.out.println("2- Consultar nomes existentes"); System.out.println("3- Atualizar os dados de um contato já existente"); System.out.println("4- Remover contato"); System.out.println("0- Sair da aplicação\n"); menuPrograma = input.nextInt(); if (menuPrograma == 1) { Scanner contato; Contato c = new Contato(); System.out.println("Nome do contato: "); contato = new Scanner(System.in); c.setNome(contato.nextLine()); System.out.println("Telefone do contato: "); contato = new Scanner(System.in); c.setTelefone(contato.nextInt()); InserirContato(c); } else if (menuPrograma == 2) { Contato c = new Contato(); System.out.println("Informe o nome que deseja buscar: "); Scanner contato = new Scanner(System.in); c.BuscarContato(contato.nextLine()); } else if (menuPrograma == 3) { Scanner contato; Contato c = new Contato(); System.out.println("Nome do contato: "); contato = new Scanner(System.in); c.setNome(contato.nextLine()); BuscarContato(c.getNome()); for (Contato todos : listaContato){ if (todos.getNome().toUpperCase().equals(c.getNome().toUpperCase())){ System.out.println("Novo nome do contato: "); contato = new Scanner(System.in); c.setNome(contato.nextLine()); System.out.println("Novo telefone do contato: "); contato = new Scanner(System.in); c.setTelefone(contato.nextInt()); c.AtualizarContato(c); System.out.println("Contato atualizado com sucesso."); } } } else if (menuPrograma == 4) { Scanner contato; Contato c = new Contato(); System.out.println("Nome do contato: "); contato = new Scanner(System.in); c.setNome(contato.nextLine()); BuscarContato(c.getNome()); for (Contato todos : listaContato){ if (todos.getNome().toUpperCase().equals(c.getNome().toUpperCase())){ c.RemoverContato(c); } } } else if (menuPrograma == 0) { System.exit(0); } } } } E uma classe com o metodos executaveis: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package agendatelefonica; import static agendatelefonica.AgendaTelefonica.listaContato; import java.util.ArrayList; /** * * @author gubec */ public class Contato { private String nome; private int telefone; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getTelefone() { return telefone; } public void setTelefone(int telefone) { this.telefone = telefone; } static void InserirContato(Contato c) { listaContato.add(c); System.out.println("Contato adicionado com sucesso"); } static void BuscarContato(String nome) { int posicao = 0; boolean encontrado = false; for (Contato c : listaContato){ posicao++; if (c.getNome().toUpperCase().equals(nome.toUpperCase())){ encontrado = true; System.out.println("Contato encontrado na posição "+posicao+" da lista de contatos"); System.out.println("Nome: "+c.getNome()); System.out.println("Telefone : "+c.getTelefone()); } } if(!encontrado){ System.out.println("Nenhum contato encontrado com o nome '"+nome+"'"); } } private static void ExibirNomeContatos() { int posicao = 0; for (Contato c : listaContato){ posicao++; System.out.println(posicao+"\t"+c.getNome()); } } static void AtualizarContato(Contato novo) { for (Contato c : listaContato){ c.setNome(novo.getNome()); c.setTelefone(novo.getTelefone()); } } static void RemoverContato(Contato remover) { if(listaContato.size()==1){ listaContato = new ArrayList<>(); }else{ for(int i = 0; i < listaContato.size(); i++){ if (remover.getNome().equals(listaContato.get(i).getNome())){ listaContato.remove(i); } } } System.out.println("Contato removido com sucesso."); } } Como eu faço para ler e salvar a ArrayList dentro de um arquivo txt?
  2. Estou tentando criar um método construtor Aluno, mas está dando erro na linha public Aluno inteira, o que fazer? package exaula6; public class RegistroAcademico { private String nome; private int RA; private int idade; private int classe; private String curso; public Aluno(String nome, int RA, int idade, int classe, String curso){ this.nome = nome; this.RA = RA; this.idade = idade; this.classe = classe; this.curso = curso; } public String retornadados(){ return this.nome + " " + this.RA + " " + this.idade + " " + this.classe + " " + this.curso; } }
  3. Está dando um erro no meu programa que é a base para criar um jogo da Forca, mas eu não consigo arrumar, e esse erro só acontece quando eu junto o main,forca.h e forca.c em um projeto .cbp, quando eu executo os 3 arquivos sozinhos funciona, mas preciso entregar para trabalho e preciso que funcione com o arquivo .cbp de projeto. Alguem consegue me ajudar a resolver? Esse é o erro: "error: dereferencing pointer to incomplete type 'NoSecreto {aka struct noSecreto}' " Main: #include <stdio.h> #include <stdlib.h> #include <string.h> #include "forca.h" void exibe() { printf("Desenvolvido por:\nGustavo Felipe Beck 18133"); printf("\nLucas Miranda 18567\n\n"); } int main() { exibe(); NoSecreto * lstSecreta = inicializaListaSecreta(); NoSecreto * sorteada; NoSecreto * usadas = inicializaListaSecreta(); lstSecreta = carregaListaArquivo(lstSecreta,"palavras.dat"); imprimeListaSecreta(lstSecreta); do{ system("cls"); exibe(); imprimeListaSecreta(lstSecreta); sorteada= sorteiaPalavra(lstSecreta,usadas); if(sorteada!=NULL){ printf("%s\n", sorteada->palavra); lstSecreta = retiraUmElemento(lstSecreta,sorteada->palavra); }else{ printf("Nao existe palavra disponivel!\n\n"); } }while(getchar()!='f'); NoL * letras = inicializaListaSecreta(); return 0; } Forca.c: #include <stdio.h> #include <string.h> #include "forca.h" struct noSecreto { int status; char palavra[31]; char assunto[100]; int num; struct noSecreto * prox; }; struct noLetras { char letra; int estado; struct noSecreto * proximo; }; NoSecreto * inicializaListaSecreta() { return NULL; } NoSecreto * inserePalavraSecreta(NoSecreto * l,char word[31],char subject[100]) { NoSecreto * novo; novo = (NoSecreto *) malloc(sizeof(NoSecreto)); novo->status = 0; strcpy(novo->assunto,subject); strcpy(novo->palavra,word); novo->prox = l; l = novo; return l; } void imprimeListaSecreta(NoSecreto *l) { NoSecreto * p; for (p = l; p!=NULL; p=p->prox) { printf("%0d | %30s | %30s | %d\n", p->status,p->palavra,p->assunto,p->num); } } NoSecreto * carregaListaArquivo(NoSecreto * l, char nomeArq[255]) { const char ch[2]=";"; char * token; int status; char palavra[31]; char assunto[101]; char * linha[1024]; int n=0; FILE * fWords; fWords = fopen(nomeArq,"r"); if(fWords==NULL){ printf("Falha ao acessar base de dados!!!\n\n"); exit(0); } while(fgets(linha,1024,fWords)) { token = strtok(linha,ch); if(token!=NULL) { strcpy(palavra,token); } token=strtok(NULL,ch); if(token!=NULL) { strcpy(assunto,token); } l = inserePalavraSecreta(l,palavra, assunto); l->num=n; n++; } fclose(fWords); return l; } int quantos(NoSecreto * l) { NoSecreto * p; int y=0; for (p = l; p!=NULL; p=p->prox) { y++; } return y; } int temPalavraNaoUsada(NoSecreto *l) { NoSecreto *p; for(p=l;p!=NULL;p=p->prox){ if(p->status==0) return 1; } return 0; } NoSecreto * sorteiaPalavra(NoSecreto *l,NoSecreto *l2) { int tam = quantos(l); int aleatorio=0; int tentativas = 0; NoSecreto * p; while(temPalavraNaoUsada(l)){ aleatorio = geraAleatorio(tam); p = retornaPalavraPos(l,aleatorio); if(p->status==0){ { p->status = 1; return p; l2 = inserePalavraSecreta(p,p->palavra,p->assunto); } } } return NULL; } NoSecreto * retornaPalavraPos(NoSecreto *l, int pos) { int n=1; NoSecreto *p; for(p=l; p!=NULL; p=p->prox) { if(n==pos) break; n++; } return p; } int geraAleatorio(int maximo) { time_t t; int n=0; srand((unsigned) time(&t)); n = (rand() % maximo)+1; return n; } NoSecreto * retiraUmElemento(NoSecreto * l, char palavra[31]) { NoSecreto * ant = NULL; NoSecreto * p = l; while(p != NULL && p->palavra != palavra) { ant = p; p = p->prox; } if(ant == NULL) { l = p->prox; } else { ant->prox = p->prox; } free(p); return l; } Forca.h: #include <stdio.h> #include <stdlib.h> #ifndef FORCA_H_INCLUDED #define FORCA_H_INCLUDED typedef struct noSecreto NoSecreto; typedef struct noLetras NoL; NoSecreto * inicializaListaSecreta(); NoSecreto * carregaListaArquivo(NoSecreto * l, char nomeArq[255]); void imprimeListaSecreta(NoSecreto *l); NoSecreto * inserePalavraSecreta(NoSecreto * l,char word[31],char subject [100]); int temPalavraNaoUsada(NoSecreto *l); NoSecreto * sorteiaPalavra(NoSecreto *l,NoSecreto * l2); int quantos(NoSecreto * l); NoL * crialetras(NoSecreto * l); NoSecreto * retornaPalavraPos(NoSecreto *l, int pos); int geraAleatorio(int maximo); NoSecreto* retiraUmElemento(NoSecreto * l, char palavra[31]); #endif // FORCA_H_INCLUDED
  4. @devair1010 Mas já ta com o include
  5. Alguém poderia me ajudar com este erro, a função cria que vai ser usada no main da erro //Gustavo Beck 18133 e Lucas Miranda 18567 #include <stdlib.h> #include "fila.h" typedef struct no { int senha; struct no* prox; }; typedef struct no No; typedef struct fila { No* ini; No* fim; }; Fila* cria (void) { Fila* f = (Fila*) malloc(sizeof(Fila)); f->ini = f->fim = NULL; return f; } /* função auxiliar: insere no fim */ No* ins_fim (No* fim, int v) { No* p = (No*) malloc(sizeof(No)); p->senha = v; p->prox = NULL; if (fim != NULL) /* verifica se lista não estava vazia */ fim->prox = p; return p; } /* função auxiliar: retira do início */ No* ret_ini (No* ini) { No* p = ini->prox; free(ini); return p; } void insere (Fila* f, int v) { f->fim = ins_fim(f->fim,v); if (f->ini==NULL) /* fila antes vazia? */ f->ini = f->fim; } int retira (Fila* f) { int v; if (vazia(f)) { printf("Fila vazia.\n"); /* aborta programa */ } v = f->ini->senha; f->ini = ret_ini(f->ini); if (f->ini == NULL) /* fila ficou vazia? */ f->fim = NULL; return v; } int vazia (Fila* f) { return (f->ini==NULL); } void libera (Fila* f) { No* q = f->ini; while (q!=NULL) { No* t = q->prox; free(q); q = t; } free(f); } /* imprime: versão com lista */ void imprimeM (Fila* f) { No* q; for (q=f->ini; q!=NULL; q=q->prox) printf("M%d\n",q->senha); } void imprimeE (Fila* f) { No* q; for (q=f->ini; q!=NULL; q=q->prox) printf("E%d\n",q->senha); } int checafila (Fila* f, Fila* g) { No* q; No* p; int e=0; int d=0; for (q=f->ini; q!=NULL; q=q->prox) { e++; } for(p=g->ini;p!=NULL;p=p->prox) { d++; } if(e==0 && d==0) return 0; else return 1; }
  6. Estou fazendo um programa para armazenar nome, ra e media dos alunos e ver se ele foi aprovado, tudo está indo certo, mas ao escrever o nome, ele armazena e usa para o mesmo nome para os 3 alunos, não pedindo para declarar de novo, o que eu faço para conseguir declarar 3 nomes diferentes mesmo que esses sejam com mais de uma palavra? #include <stdio.h> #include <stdlib.h> struct alunos { int ra; char nome[30]; float media; }; struct alunos aluno; int main() { for(int i = 1; i<=3;i++) { printf("Digite o nome do aluno %d: ",i); scanf("%[^\n]s",aluno.nome); printf("Digite o RA do aluno %d: ",i); scanf("%d",&aluno.ra); printf("Digite a media do aluno %d: ",i); scanf("%f",&aluno.media); if(aluno.media>=6) { printf("\nAluno %d: %s , com RA: %d , foi aprovado com a media %.2f \n",i, aluno.nome,aluno.ra,aluno.media); } else { printf("\nAluno %d: %s , com RA: %d , foi reprovado com a media %.2f \n",i, aluno.nome,aluno.ra,aluno.media); } } }
  7. #include <stdio.h> #include <stdlib.h> int multiplicarDiagonal(int **m,int *n,int *j) { printf("Matriz: \n"); for (int i=0; i<n; i++) { for (int x=0; x<j; x++) { printf("%d, ", m[i][x]); } } printf("\nDigite um numero: "); int n1; scanf("%d",&n1); for (int i = 0; i<n;i++) { m[i][i] == m[i][i]*n1; } printf("Matriz modificada: \n"); for (int i=0; i<n; i++) { for (int x=0; x<j; x++) { printf("%d, ", m[i][x]); } } return 0; } int main() { int m[3][3] = {{1,2,3,4}, {1,2,3,4}, {1,2,3,4}, {1,2,3,4}}; multiplicarDiagonal(m,3,3); } Queria saber no que eu estou errando na impressão da matriz
  8. Como eu faço para colocar a data assim por extenso dentro do label? Só sei colocar a data por números
  9. @allanxd Mais uma coisa, você sabe o comando para encontrar o arquivo sem digitar o endereço inteiro? E obrigado, me salvou muito
  10. @allanxd char fName[100]; int op; scanf("%d",&op); if(op == 1) fName[100] = "C:\\Users\\gubec\\OneDrive\\Área de Trabalho\\teste\\SalaAloisio.csv"; else if(op==2) fName[100] = "C:\\Users\\gubec\\OneDrive\\Área de Trabalho\\teste\\Sala2.csv"; else if(op==3) fName[100] = "C:\\Users\\gubec\\OneDrive\\Área de Trabalho\\teste\\Sala3.csv"; agora está certo?
  11. Queria saber qual o erro está acontecendo aqui, pois o fName não adquire nenhum valor e não consigo abrir o arquivo.
  12. Vou na de 2 fans mesmo, obrigado@Jasiel @Sergio NewSonic
  13. @Jasiel @Sergio NewSonic A placa eu sei que cabe, eu só estava com receio pois não achei nenhum review dessa placa na internet, acho que é modelo novo, e estava em dúvida se a temperatura ia ser melhor na de 2 fans mesmo.
  14. Desculpa, mas não sei o que é torre média kkkk. Mas meu gabinete é esse aqui PCYes Java@Sergio NewSonic
  15. Tem duas placas de vídeo gtx 1060 6gb em promoção na Kabum por R$1129 reais, só que uma tem 1 fan e outra 2, pelo que eu vi tem as mesmas especificações também, mas queria saber se a dual Fan vai ser melhor. Qual eu devo comprar? OBS: Tenho uma fonte evga 430w EVGA GTX 1060 6GB ou essa Zotac GTX 1060 6GB
  16. Na promoção eu vi por uns 930 adicionado 0 minutos depois Não usei nenhum estabilizador e limpo ela uma vez por mês, só que ela já tem 2 anos
  17. Olá, tenho uma fonte EVGA 430w com Certificado 80 Plus e PFC Ativo e queria saber se ela consegue rodar tranquilamente uma GTX 1060 3gb e um Ryzen 5 1600? Ou era melhor ir de 1050 ti para não ter que trocar a fonte. Outros componentes do PC, 2x4 ram hyperx Fury white, um HD de 1tb e 1 SSD de 120, um monitor de 21.5 polegadas e um de 15 polegadas. Agradeço a ajuda.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...