Ir ao conteúdo
  • Cadastre-se

Lucas Lima Nunes

Membro Pleno
  • Posts

    28
  • Cadastrado em

  • Última visita

Tudo que Lucas Lima Nunes postou

  1. Galera, pretendo instalar o Ubuntu em meu notebook, mas tenho muitos arquivos que quero fazer backup e portanto coloquei em um partição NTFS que criei no Windows (ainda estou usando ele), queria saber como fazer para instalar o Ubuntu sozinho (sem dual boot) mas depois ele reconhecer minha partição de backup para eu pegar meus arquivos depois. Ele reconhece sozinho depois da instalação? Tem alguma especificação? O risco de perder tudo é grande? Se tiver uma forma correta por favor cite os passos adequados aqui. Desde já grato!
  2. Galera, imaginem que existe uma vetor de structs e nelas contém por exemplo o nome de um hotel (char*) e uma avaliação que vai de 1 a 5 (int), preciso fazer um algoritmo ou função que crie um top 3 contendo os melhores hotéis, exemplo: 0 [A, 2] 1 [B, 3] 2 [C, 1] 3 [D, 4] 4 [E, 5] 5 [F, 2] Levando em consideração que o primeiro número da linha é a posição de meu vetor, os [ ] é minha struct, a letra é o nome do hotel e o segundo numero é a avaliação, teria que ter essa saída: Top 3 :: 1 - E 5 2 - D 4 3 - B 3 Se alguém souber por favor responda
  3. Obrigado @vangodp e @Anonymous Programmer , o Qt é bem mais amigável que VS e vou dar uma olhada em GUIs e APIs para ir além do "desenhado"
  4. Galera, eu já sei razoavelmente C e C++ (mas pretendo aprender mais do mesmo e outras linguagens com o tempo), mas até agora fiz apenas programas no console. Por isso se alguém sabe alguma boa ferramenta que possa me auxiliar na criação de interfaces gráficas de usuário por favor me diga, lembrando que sei muito pouco ainda desse assunto, queria algo simples de começo, algo to tipo arrasta e solta, só para então depois aprender e desenvolver programas mais robustos. Baixei o Visual Studio 2017 achando que ele tinha tal ferramenta, mas é muito rebuscado para mim ainda. Se alguém souber de uma IDE que me facilite isso (GUI) por enquanto por favor diga, pode ser também que tenha essa opção no VS 2017 e eu não saiba encontrar. Grato desde já!
  5. Galera, estou iniciando em POO e queria praticar com Java e/ou C++, sei que tem muita coisa com que se pode aprender na web, mas eu queria um material de leitura (LIVROS, apostilas etc.), algo mais "palpável", do que só videos aulas por exemplo, vocês poderiam me indicar algo (bibliografia), tenho preferência em Java, mas contudo C++ também seria uma boa... Grato desde já
  6. Espero ajudar com esse código, fiz algumas modificações e você ao olhar deve entende-las, fiz alguns testes aqui e todos deram certo #include <iostream> #include <string> #include <stdio.h> using namespace std; struct Aluno { double nota; string nome; }; int main() { Aluno alunos[3]; for(int i = 0; i < 3; i++) { fflush(stdin); cout << "Diga o nome: "; getline(cin, alunos[i].nome); cout << "Diga a nota de " << alunos[i].nome << ": "; cin >> alunos[i].nota; } Aluno temp = alunos[0]; for(int i = 1; i < 3; i++) if(temp.nota < alunos[i].nota) temp = alunos[i]; cout << "\n" << temp.nome << " tem a maior nota! Nota: " << temp.nota << endl; return 0; } NÃO USE a função FFLUSH, faça uma própria ou consiga outra para limpar o buffer, pois a mesma tem um comportamento irregular
  7. Você pode utilizar uma do{}while(); e colocar um switch case dentro, como @RonerioC falou e definir uma condição de saída do laço, assim toda vez que a condição não for satisfeita será solicitado do usuário novamente, um esboço int op; do{ scanf(" %d", &op); switch(op) { case 1: ... break; case 2: ... break; ... case n-ésima: ... break; default: if(op != 0) printf("\nOpção inválida!\n"); break; } while(op != 0); Espero ajudar...
  8. @Bruno Dixini Sua função busca um nó de uma lista certo? Esse trecho celula* buscaLista(lista *l, char *palavra){ /// ------------------------------------ celula *tmp = NULL; Você já conferiu se dá certo mesmo? Talvez eu esteja errado, mas o tipo de I é lista* e a variável tmp é do tipo celula* que logo em baixo recebe l->inicio, que é do tipo lista*, mas como disse, talvez esteja errado já que não disponho de todo o código Mas voltando ao código, tente dessa forma (caso a do colega acima não de certo para você) celula* buscaLista(lista* I, char* palavra) { celula tmp = I; while(tmp != NULL) { if(strcmp(tmp->palavra, palavra) == 0) return tmp; tmp = tmp->proximo; } return NULL; }
  9. @Jefte David Olha, realmente só tem que trocar o tipo, mas talvez você tenha esquecido de trocar o tipo da variável num, olha float qua, cub, num; cout << "\n\tDigite o numero: "; cin >> num; qua = num*num; cub = qua*num; cout << "\n\tQuadrado do numero: " << qua << "\n\tCubo do numero: " << cub << endl; E aqui deu certo
  10. Não entendi muito bem qual a finalidade do programa, por isso não fiz todo ele, mas aqui está alguma coisa que talvez possa lhe ajudar. A parte da leitura "fragmentada" int x, tam, ele; scanf("%2d%2d%1d", &x, &tam, &ele); Isso divide a leitura do número em partes para variáveis diferentes... Se desejar fazer alguma coisa com os outros digitos restantes (após o quinto), guarde em outra variável seguindo o esquema, se não, recomendo que limpe o buffer do teclado (não use fflush(stdin)). Espero ter ajudado
  11. @idkgabz Aparentemente não, eu mesmo copiei as formulas do seu código (relembrando que mult. é com '*' e não '.') e deu tudo certo, pelo menos aqui... revi o código original e só vi um possível erro nesse cout cout<<"A equacao dada e:" << A"X^2"<< B <<"X + "<< C <<"/n"; Teria que ter o operador << depois da variável A As vezes é questão de rever o código, pois pode haver um erro simples e por isso passa despercebido
  12. Aqui está o código em C com alguns comentários #include <stdio.h> int main(void) { int ano1, ano2; scanf("%d %d", &ano1, &ano2); //Você pode fazer dessa maneira a leitura! // Uma dica boa seria você restringir o anos, para caso do usuário não digitar // um intervalo incoveniente! int i; // Contador do laço for(i = ano1; i <= ano2; i++) // Laço para varrer o intervalo! { // A dica ajudou a resolver dessa forma! //Caso o ano atual, determinado pelo controlador I menos o primeiro ano //de copa (1930) restar 0 na divisão por quatro o ano teve copa! if(((i - 1930)%4) == 0 && i != 1942 && i != 1946) //Aqui tabém exclui os anos que não tiveram! printf("\nNo ano %d houve copa!", i); //Imprimeo o ano que teve copa! } return 0; } Espero ter ajudado
  13. Mas já que você está trabalhando com tipo void e não está manipulando endereços de memória diretamente, acho que você pode deixar a função sem necessidade de parâmetros... ESPERO que seja mais ou menos assim #include <iostream> #include <math.h> using namespace std; void equacao_sg(void) { float xI, xII, a, b, c, delta; cout << "\nCOEFICIENTES DA EQUANCAO" << endl; cout << "\nValor de A: "; cin >> a; cout << "Valor de B: "; cin >> b; cout << "Valor de C: "; cin >> c; delta = (b*b) - (4*a*c); if(delta >= 0) { xI = (-b + sqrt(delta))/(2*a); xII = (-b - sqrt(delta))/(2*a); cout<<"\nAs raizes sao: X' = " << xI << " e " << "X'' = "<< xII << endl; } else cout << "\nNao existe raizes reais!" << endl; } int main(void) { equacao_sg(); return 0; } A demais observações já foram feitos pelo colega acima rsrs
  14. Olá pessoal, queria trocar o Windows por alguma distribuição Linux (Ubuntu de preferência), mas sou iniciante e queria me familiarizar mais com o sistema antes de efetivar a troca, e eu sei que tem uma opção de "live" no Ubuntu sem substituir o sistema instalado, mas eu não sei como faz, isso é no momento da instalação? Tem como fazer "dentro" do próprio Windows? Se alguém me disser como faz eu agradeço : ) Outra coisa, vocês me recomendam o Linux ou o Windows mesmo? Sou adepto a esse tipo de sistema, mas nunca usei mesmo e qual seria o melhor para quem está começando?
  15. Galera, comprei um notebook Samsung e veio com o Windows 10 Single Language, até agora não foi formatado, mas depois de algumas atualizações (principalmente depois da Creators) ele ficou meio bagunçado, e eu estou querendo formatar, mas queria uma forma de baixar o Windows 10 SL de forma "legal" para depois ativa-lo com a chave que veio com o notebook... Essa aqui é meio fora de contexto... Dependendo da imagem (.iso) dos sistema, ele sai do modo UEFI depois de formatado, ou independente disso eu posso ativar o UEFI querendo ou não?
  16. Acho que a ideia de upper seria uma opção, mas se tiver uma função que faça de forma insensitiva (era essa a palavra rsrs) seria bem melhor
  17. Pessoal, quero saber se, tem alguma função (de alguma biblioteca de C) que faça comparações de strings independente da ordem da tabela ASCII? ta explicado melhor abaixo... Imagine que quero fazer uma ordenação alfabética de nomes de pessoas (strings), e estou usando a função strcmp da biblioteca string.h, até aí tudo bem, só que tome os seguintes nomes: Maria e Paulo. Pela ordenação com tal função a ordem fica Maria e depois Paulo, mas agora se tomarem maria (com inicial minúscula) e Paulo, a ordem fica sendo Paulo e depois maria, pois vi que na tabela ASCII as minúsculas veem depois da maiúsculas, só que eu quero uma comparação para ordenar independente de ser minúscula ou maiúscula... que seja maria e depois Paulo, amanda e depois Diego, assim sucessivamente. Tem alguma função do tipo? Grato desde já!
  18. galera preciso de um algoritmo de intercalação com o código implementado. Exemplo, imagine que se tem dois vetores, o vetor X[3] e o vetor Y[5] e é necessário intercalar os valores do mesmo em um vetor Z[8] (que tem como tamanho a somatória do tamanho de X e Y). vetor X[3] = 1, 5 e 6 vetor Y[5] = 2, 8, 9, 10 e 1 resultado da intercalação no vetor Z[8] = 1, 2, 5, 8, 6, 9, 10 e 1
  19. Espero que isso lhe ajude #include <stdio.h> #include <stdlib.h> #include <string.h> #define TAM 3 // Constante simbólica para controle de tamanhos para uso struct cliente { int codigo; char nome[101]; int cpf; // Struct contendo os informações do cliente }; typedef struct cliente Cliente; //Define 'struct cliente' como somente 'Cliente' void ordenacao(Cliente** clin) // Função para ordenação { int i, j; Cliente* eleito; // Ponteiro que armazena uma poisção temporariamente // Aqui está a ISERTION SORT, você já deve saber como ele funciona // Só que aqui ele está ordenando em ordem alfabética, usando a STRCMP para // comparar a ordem das strings. // Ela retorna 0 se iguais // Retorna 1 ou -1 se diferentes, olhe melhor depois esse caso! // Usei esse metodo, por que é bem mais simples de passar para uma função e // editar efetivamente a ordem! for(i = 1; i < TAM; i++) { eleito = clin[i]; j = i - 1; while(j >= 0 && strcmp(clin[j]->nome, eleito->nome) > 0) { clin[j+1] = clin[j]; j--; } clin[j+1] = eleito; } } int main(void) { int i; // Variável de controle dos laços Cliente** clin = (Cliente**) malloc(TAM*sizeof(Cliente*)); for(i = 0; i < TAM; i++) clin[i] = (Cliente*) malloc(sizeof(Cliente)); // Criei um vetor de ponteiros do tipo CLIENTES**, que aponta para um // ponteiro do tipo CLIENTE*, que aponta para uma 'struct cliente', que é uma // posição do nosso vetor que tem TAM posições! // Assim, você pode usar a notação simples de posição: nome_do_vetor[indice_do_vetor]; // Neste código eu tirei a parte do Switch para ficar melhor de entender! for(i = 0; i < TAM; i++) { printf("\n\tCliente %d\n\n", i+1); printf("\tDigite o codigo: "); scanf(" %d", &clin[i]->codigo); printf("\tDigite o nome: "); scanf(" %100[^\n]s", clin[i]->nome); printf("\tDigite CPF: "); scanf(" %d", &clin[i]->cpf); // Prefira o'scanf(" %100[^\n]s", ABC)' assim, a função GETS permite invasão de memória! fflush(stdin); // Não use essa função (use outras, ou crie uma), foi apenas uma amostra } // O FOR acima é para fazer a leitura dos dados dos clientes ordenacao(clin); // Chamada da funçã que ordenará o seu vetor dinamico printf("\n\t|| CLIENTES ||\n"); for(i = 0; i < TAM; i++) { printf("\n\tNome: %s", clin[i]->nome); printf("\n\tCPF: %d", clin[i]->cpf); printf("\n\tCodigo: %d\n", clin[i]->codigo); } // O FOR acima imprime seu vetor return 0; }
  20. Olha, testa se está tudo certo, talvez eu não tenha feito tudo, mas fiz o que achei que podia melhorar... Mas você com certeza deve fazer algumas correções, por que até onde testei, estava tudo correto... #include <iostream> #include <cstdlib> #include <cstring> using namespace std; #define TAM 2 struct livros{ char titulo[31], autor[31]; int ano, categoria; float preco; }; typedef struct livros Livros; void BuscarP(Livros x[], float pre) { for(int c = 0; c < TAM; c++) { if (x[c].preco == pre || x[c].preco < pre) { cout << "\n\tTítulo: " << x[c].titulo << endl; cout << "\tAutor: " << x[c].autor << endl; cout << "\tLançamento: " << x[c].ano << endl; cout << "\tCategoria: " << x[c].categoria << endl; cout << "\tValor: " << x[c].preco << endl; } } } void BuscarC(Livros x[], int cat) { for(int c = 0; c < TAM; c++) { if(x[c].categoria == cat) { cout << "\n\tTítulo: " << x[c].titulo << endl; cout << "\tAutor: " << x[c].autor << endl; cout << "\tLançamento: " << x[c].ano << endl; cout << "\tCategoria: " << x[c].categoria << endl; cout << "\tValor: " << x[c].preco << endl; } } } void BuscarCAA(Livros x[], int cat, int an, char* aut) { for(int c = 0; c < TAM; c++) { if(x[c].categoria == cat && x[c].ano == an && (strcmp(x[c].autor, aut) == 0)) { cout << "\n\tTítulo: " << x[c].titulo << endl; cout << "Valor: " << x[c].preco\t << endl; } } } int main(void){ setlocale(LC_ALL, "Portuguese"); Livros l[TAM]; cout << "\n\t|| CADASTRO DE LIVROS ||" << endl << endl; for(int c = 0; c < TAM; c++) { cout << "\n\tDigite o título da obra: "; cin >> l[c].titulo; cout << "\tDigite o nome do autor: "; cin >> l[c].autor; cout << "\tDigite o ano de lançamento: "; cin >> l[c].ano; cout << "\tDigite a categoria: "; cin >> l[c].categoria; cout << "\tDigite o valor da obra: "; cin >> l[c].preco; system("cls"); cout << "\tTítulo: " << l[c].titulo << endl; cout << "\tAutor: " << l[c].autor << endl; cout << "\tLançamento: " << l[c].ano << endl; cout << "\tCategoria: " << l[c].categoria << endl; cout << "\tValor: " << l[c].preco << endl; system("pause"); system("cls"); } BuscarP(l, 10); BuscarCAA(l, 5, 2017, "Autor"); return 0; }
  21. Você pode fazer uma condição usando um if, assim #include <stdio.h> #include <stdlib.h> int main() { int i = 10; while(i<=20) { i++; if(i%2 == 0) printf("%i\n",i); } } A condição, verifica se o número é par, se sim ele imprime o número, senão, não imprime.
  22. Galera, preciso criar uma função, com esse protótipo " No* agenda_busca(Agenda agenda, char* nome) ", que faça a busca de um nó de uma lista encadeada pelo nome passado como argumento para a função, estou tentando e perdendo muito tempo com isso, e ainda não cheguei a lugar nenhum. Abaixo segue e estrutura de Contato e Agenda (espero que sejam suficientes): struct contato { char nome[31]; char telefone[11]; char email[51]; }; typedef struct contato Contato; // ------------------------------ struct no { Contato* cont; struct no* proximo; }; typedef struct no No; typedef No* Agenda; Caso não seja encontrado a função deve retornar NULL, mas caso seja encontrado eu não sei o que deve ser retornado... tem como retorna todo o nó?
  23. Galera eu tenho o seguinte código abaixo, é uma simples matriz alocada dinamicamente em C. int** matriz = (int**) malloc(9*sizeof(int*)); for(int i = 0; i < 9; i++) matriz[i] = (int*) malloc(9*sizeof(int)); Mas eu queria saber como alocar essa matriz com o mesmo tamanho só que em C++.
  24. Galera tenho um trabalho a ser feito que é um projeto em C, ele consiste na criação de uma agenda usado listas encadeadas (que sei a teoria), mas nesse estou tendo problemas de interpretação ao projeto como um todo, mas especialmente no módulo "agenda", pois estou meio confuso e não sei muito bem o que fazer! Olhem o código do módulo "agenda.c" com o que fiz até o momento. #include "agenda.h" struct noh { Contato* Cont; No* proxCont; }; Agenda agenda_cria(void) { return NULL; } Agenda agenda_carrega(FILE* fp) { int n = 0; char linha[31]; while(n = 0) while(fgets(linha, 30, fp) != NULL) { ++n; if(n == 1){ int tam = strlen(nome); char *nome = (char*) malloc((tam+1)*sizeof(char)); strcpy(nome, linha); } else if(n == 2){ int tam = strlen(nome); char *numero = (char*) malloc((tam+1)*sizeof(char)); strcpy(numero, linha); } } } } Agenda agenda_insere(Agenda agenda, Contato* Contato) { } Acho que a função agenda_carrega(); está errada, e esse é o meu maior problema a respeito... Não preciso do projeto feito, mas algum norte para que o entenda melhor!

Sobre o Clube do Hardware

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

Direitos autorais

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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!