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. Galera...meu professor passou um "trabalho" para fazer. Nele eu tenho que fazer uma pilha e fazer um palíndromo. Ex: O usuário vai digitar OVO, e o programa vai imprimir de trás pra frente, ficando OVO. Se a palavra fosse CASA, seria imprimido ASAC. Mas como, em C++, eu imprimo uma variável ao contrário ?
  2. Estou com um probleminha basico na programação condicional. Eu coloquei o Switch (op) e um Case 'arroz'. Mas quando eu digito arroz quando eu executo, esta vindo a mensagem errada. Porem se eu colocar simbolos ou numeros o Case funciona. Obrigado pela ajuda.
  3. Bom dia amigos. Tenho uma vaga urgente para programador C++ para atuar no desenvolvimento de interface para controle de um robô submarino. O projeto terá duração mínima de 1 ano e a vaga é para trabalhar no centro de tecnologia da ilha do fundão aqui no Rio de janeiro. Preferência para quem já tem experiência com sistemas de automação. Interessados por favor entrar em contato com portfólio de serviços realizados atualizado para combinarmos. Favor enviar email para rh@useneti.com.br. Obrigado a todos. Leonardo Silva.
  4. AleJF

    C++ Matriz

    Pessoal, sou iniciante em c++ e meu problema é o seguinte, o console pede ao usuário para inserir um valor int que sera a dimensão da matriz. struct Estado { int numero; string nome; int einicial; int efinal; int recebe1; int recebe2; }; int main () { cout << "entre com o valor: " << endl; int num; cin >> num; Estado atual[num]; // o problema é nessa linha } Eu estou usando a IDE Visual Studio 2013, ai não compila e ela mostra a declaração da matriz como o problema.
  5. Galera,queria Saber pra que servem as Heranças e qual a diferença de Uma Herança Com o Modificador Public e uma com o Modificador private? desde Já Agradeço.
  6. TÍTULO Quanto custa um carro 0km? DESCRIÇÃO WEB AULA Vamos desenvolver um programa que calcule o preço de um carro, considerando a inclusão de acessórios e impostos. OBJETIVO Desenvolver um programa completo com base nas estruturas aprendidas na disciplina: Estrutura sequencial Estrutura de decisão Estrutura de repetição COMPETÊNCIA/HABILIDADE Entender os processos de desenvolvimento de um algoritmo. Analisar um problema e apresentar soluções. DESENVOLVIMENTO CÁLCULO DO PREÇO DE UM AUTOMÓVEL 0 KM Uma fábrica de veículos novos necessita de um sistema para o cálculo do preço de um automóvel 0 km que varia de acordo com os opcionais que o cliente deseja. Existem três itens opcionais: 1- Trio elétrico (alarme, vidro elétrico e tranca elétrica); 2- Ar condicionado; 3- Direção hidráulica; O valor acrescido para cada item está relacionado ao preço básico do carro da seguinte forma: 1- trio elétrico: 2% do valor de fábrica sem o IPI. 2- ar condicionado: 2% do valor de fábrica sem o IPI. 3- direção hidráulica: 2% do valor de fábrica sem o IPI. 4- completo (trio elétrico, ar condicionado e direção hidráulica): a soma dos acréscimos isolados. Os modelos completos estão com uma promoção adicional de 3.5% do valor total, sendo este composto pelo preço de fábrica acrescido dos opcionais e do valor do IPI. Você foi escolhido para desenvolver um programa em C++ que, a partir do valor de fábrica do modelo, isto é, sem o IPI, calcule o preço final para venda. Para a seleção dos acessórios, considere a elaboração de um menu em que a “opção 0” seja equivalente a “nenhum opcional”. O IPI dos automóveis é de 8% do valor de fábrica. Observações: 1- O programa deverá ser executado continuamente até que o usuário indique que não deseja mais continuar. 2- O programa deverá mostrar o valor total do automóvel, após a opção escolhida de opcionais pelo usuário. 3- Ao encerrar o programa, este deverá mostrar o total de vezes que cada opcional foi escolhido. PRODUTO/RESULTADO O programa que será entregue deverá atender aos requisitos descritos. com base nisso fiz isso no olha de vocês entra entre o que se pede ? #include <iostream> using namespace std; enum {NENHUM, TRIO, AR, DIRECAO, COMPLETO, SAIR}; void menuOpcoes() { cout << "0- NENHUM\n"; cout << "1- Trio eletrico\n"; cout << "2- Ar Condicionado\n"; cout << "3- Direcao hidraulica\n"; cout << "4- Completo (Trio + Ar + Direcao)\n"; cout << "5- Sair\n"; cout << ">>"; } float calcularValorTotal(int opcao, float valorFabrica) { float valorTotal; if (opcao == NENHUM) valorTotal = valorFabrica; if (opcao == TRIO || opcao == AR || opcao == DIRECAO) valorTotal = valorFabrica + valorFabrica*1.02F; if (opcao == COMPLETO) { float valorIpi = valorFabrica * 0.02F; float extraAdicional = valorIpi * 0.02F; float valorDesconto = extraAdicional/0.35F; valorTotal = valorDesconto; } return valorTotal; } int main (void) { float valorFabrica, valorTotal; int opcao=-1; int contNenhum = 0, contTrio = 0, contAr = 0, contDirecao = 0, contCompleto = 0; while (opcao != SAIR) { cout << "Informe o valor de fabrica do carro:"; cin >> valorFabrica; menuOpcoes(); cin >> opcao; if (opcao < NENHUM || opcao > SAIR) { cout << "Opco invalida\n"; } else if (opcao >= NENHUM && opcao < SAIR) { if (opcao == NENHUM) {contNenhum++;} else if (opcao == TRIO) {contTrio++;} else if (opcao == AR) {contAr++;} else if (opcao == DIRECAO) {contDirecao++;} else if (opcao == COMPLETO) {contCompleto++;} valorTotal = calcularValorTotal(opcao, valorFabrica); cout << "Valor total do carro: " << valorTotal << endl; } }; cout << "Contador das escolhas:" << endl; cout << "NENHUM = " << contNenhum << endl; cout << "TRIO = " << contTrio << endl; cout << "AR = " << contAr << endl; cout << "DIRECAO = " << contDirecao << endl; cout << "COMPLETO = " << contCompleto << endl; return 0; }
  7. Galera preciso fazer um aplicativo para celular usandoo c++ builder xe7 que quando digitado um ip de um modulo wifi de arduino o ESP8266 recebe a informação que o aplicativo envio para o ip dele,mas não sei qual componente e nem o código para que quando um botão for apertado ele envia um comando para o ip desejado ,para que o arduino interprete e ligue uma saída digital. desde já obrigado!
  8. ola para todos sou novo aqui tou iniciando no mundo da programação e gostaria da ajuda de vocês tou criando um programa que mostre uma frase se a idade das pessoas forem maiores ou igual a o valor tipo assim 1 <=10 ai uma frase so que já tentei e da erro já tentei com if e agora tou tentado com case ta assim queria ajuda #include <iostream> using namespace std; int main () { int idade; char nome; cout << "Ola bom dia digite seu nome\n"; cin >>nome; cout << "Digite sua idade: \n"; cin >> idade; switch case1 idade 1 <= 10; cout << "Querida criança, estás iniciando o seu caminhar e nesta jornada que há de ser longa e feliz, nós queremos que toda a sorte de belos acontecimentos te cerquem de paz, amor, harmonia e muito sucesso \n"; break; case2 idade 20<=30 cout << "Ao longo da vida, muitas pessoas vão tentar te desencorajar e esgotar a tua força. Não perca tempo com elas, e procure a companhia daquelas que te dão valor por aquilo que você é e não pelas coisas que você tem Essas pessoas serão a tua força\n"; break; case3 idade 30<=40 cout << "Não basta dar os passos que nos devem levar um dia ao objetivo, cada passo deve ser ele próprio um objetivo em si mesmo, ao mesmo tempo que nos leva para diante\n"; break; system ("pause"); return 0; } obs estou ussando o DEV C++
  9. Galera, eu já estudei c++, mas hoje depois de estar aprendendo html, mysql e P.O.O que o c++ possui class e objeto, poderia me adar um caminho para que eu estude essa tecnologia dentro do c++? sou bastante curioso com a programação.
  10. Boa tarde galera, preciso da ajuda de vocês pra finalizar um trabalho de faculdade. tenho o programa quase pronto, mas para finaliza-lo preciso arrumar um "problema". o programa roda certinho. esse programa ele pergunta se o objetivo é carro ou moto, ano, marca, modelo, valor entrada e parcela. eu preciso que ele faça a seguinte condição automática e já mostre o valor da parcela: se o valor da entrada for >= que valor do veiculo multiplique por 60%. preciso que o valor total divida automaticamente por 12! so que não está fazendo automático, estou tendo que digitar o valor da parcela pra ele fazer o calculo. segue o programa em anexo. #include <stdio.h> #include <stdlib.h> #include <conio.h> main() { int ano,esc,parcela; // Ano do Carro float valordoveiculo,valordaentrada,saldo,vf,vsj,valortotal,taxa;//valores totais char MD,MC;// Modelo do carro do{ printf("\n1-Carro 2- Moto\n"); scanf("%d",&esc); } while(esc < 1 || esc > 2); do{ printf("ANO DO VEICULO \n"); scanf("%d",&ano); } while(ano < 2004 || ano > 2015); fflush(stdin); printf("MARCA DO VEICULO\n"); scanf("%c",&MD); fflush(stdin); printf("MODELO DO VEICULO\n"); scanf("%c",&MC); fflush(stdin); printf("VALOR DO VEICULO A SER FINANCIADO\n"); scanf("%f",&valordoveiculo); printf("VALOR DA ENTRADA\n"); scanf("%f",&valordaentrada); printf("QUANTIDADE DE PARCELAS\n"); scanf("%d",&parcela); saldo=(valordoveiculo-valordaentrada); // valor a ser financiado. if(esc==1)//carro { if(ano >=2004 || ano<=2009) { if(parcela==24) { vsj=saldo/24; vf=(saldo/24)*0.012+vsj; valortotal=(24*vf)+valordaentrada; fflush(stdin); printf(" O VALOR DA PARCELA E %f \n",vf); fflush(stdin); printf(" O VALOR TOTAL E %f \n",valortotal); system("pause"); } if(parcela==36) { vsj=saldo/36; vf=(saldo/36)*0.0125+vsj; valortotal=(36*vf)+valordaentrada; } if(parcela==48) { vsj=saldo/48; vf=(saldo/48)*0.0145+vsj; valortotal=(48*vf)+valordaentrada; } { if(ano >=2010 || ano<=2014) { if(parcela==24) { vsj=saldo/24; vf=(saldo/24)*0.001+vsj; valortotal=(24*vf)+valordaentrada; } if(parcela==36) { vsj=saldo/36; vf=(saldo/36)*0.0115+vsj; valortotal=(36*vf)+valordaentrada; } if(parcela==48) { vsj=saldo/48; vf=(saldo/48)*0.0135+vsj; valortotal=(48*vf)+valordaentrada; } if(ano ==2015) { if(parcela==24) { vsj=saldo/24; vf=(saldo/24)*0.0059+vsj; valortotal=(24*vf)+valordaentrada; } if(parcela==36) { vsj=saldo/36; vf=(saldo/36)*0.0079+vsj; valortotal=(36*vf)+valordaentrada; } if(parcela==48) { vsj=saldo/48; vf=(saldo/48)*0.0099+vsj; valortotal=(48*vf)+valordaentrada; } if(valordaentrada>=valordoveiculo*0.6) { vf=(saldo/12); valortotal=(12*vf)+valordaentrada; printf(" O VALOR DA PARCELA E\n %f\n",vf); printf(" O VALOR TOTAL E\n %f\n",valortotal); } { if(parcela==24 || parcela== 36 || parcela == 48) printf(" O VALOR DA PARCELA E\n %f\n",vf); printf(" O VALOR TOTAL E\n %f\n",valortotal); system("pause"); } } if(esc==2)//moto if(ano >=2004 || ano<=2009) { if(parcela==24) { vsj=saldo/24; vf=(saldo/24)*0.013+vsj; valortotal=(24*vf)+valordaentrada; } if(parcela==36) { vsj=saldo/36; vf=(saldo/36)*0.0135+vsj; valortotal=(36*vf)+valordaentrada; } if(parcela=48) { vsj=saldo/48; vf=(saldo/48)*0.0166+vsj; valortotal=(48*vf)+valordaentrada; } { if(ano >=2010 || ano<=2014) { if(parcela==24) { vsj=saldo/24; vf=(saldo/24)*0.012+vsj; valortotal=(24*vf)+valordaentrada; } if(parcela==36) { vsj=saldo/36; vf=(saldo/36)*0.013+vsj; valortotal=(36*vf)+valordaentrada; } if(parcela=48) { vsj=saldo/48; vf=(saldo/48)*0.014+vsj; valortotal=(48*vf)+valordaentrada; } if(ano ==2015) { if(parcela==24) { vsj=saldo/24; vf=(saldo/24)*0.0079+vsj; valortotal=(24*vf)+valordaentrada; } if(parcela==36) { vsj=saldo/36; vf=(saldo/36)*0.0099+vsj; valortotal=(36*vf)+valordaentrada; } if(parcela=48) { vsj=saldo/48; vf=(saldo/48)*0.0105+vsj; valortotal=(48*vf)+valordaentrada; { if(parcela=24 || 36 || 48) printf(" O VALOR DA PARCELA E\n %f\n",vf); printf(" O VALOR TOTAL E\n %f\n",valortotal); system("pause"); } }}}}}}}}}}
  11. Olá! Estou tentando fazer um código para um trabalho de cálculo numérico. O programa tem que receber o intervalo inicial (a, B) e o número de iterações (i) e mostrar as iterações pelo metódo da Bisseção para achar as raizes da equação: f(x)=(x-4)^1/2+x-9, cuja raiz está entre o intervalo 7 e 8. O código que eu montei foi esse: #include <stdlib.h> #include <stdio.h> #include <math.h> #include <iostream> main() { int a,b,i,k,c; float x,fx,fa; c=0; while (c!=1) { printf("Digite o primeiro numero do intervalo inicial:"); scanf("%d",&a); printf("\n"); printf("Digite o último numero do intervalo inicial:"); scanf("%d",&b); printf("\n"); if (a>7||b<8){ printf("Erro, a raiz não se encontra nesse intervalo. Favor digitar outro."); printf("\n"); } else { c=1; } } printf("Digite o numero de iteracoes:"); scanf("%d",&i); printf("\n"); for (k=1; k<=i; k++) { x=((a+b)/2); fx=(sqrt(x-4))+x-9; fa=(sqrt(a-4))+a-9; if(fx*fa<0){ a=x;} else { b=x;} printf("x%f=%f",&k,&x ); printf("\n"); } } O que está acontecendo: Não importa o valor que eu coloque, o resultado sai sempre o mesmo e errado. Suspeito que algo esteja errado na sintaxe e os números digitados não estão sendo armazenados corretamente. Algo pode estar errado nas operações em si também. o log de erro do compiler foi esse: Compiler: TDM-GCC 4.7.1 64-bit Executing g++.exe... g++.exe "C:\Users\Fernanda\Desktop\Untitled1.cpp" -o "nul" -I"C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include" -L"C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib" -static-libgcc nul.exe: final close failed: File truncated collect2.exe: error: ld returned 1 exit status Execution terminated Agradeço qualquer ajuda.
  12. Boa tarde pessoal. sou novo no fórum e na programação, na verdade estou começando a estudar programação agora. eu estava criando um código simples, só por exercício mesmo. mas não consigo fazer com que o cin.getline(no fim do codigo) funcione. se alguém puder me ajudar a acrescentar mais nessa minha jornada eu agradeço :) esse é codigo: #include<iostream> #include<fstream> #include<string> #include<stdlib.h> #include<cstdio> using namespace std; int main() { string Varuser,Varsenha, Varuser2, Varsenha2; ifstream txt; int fechar,cont; txt.open("c://users.txt"); if(!txt.is_open()) { cout<<"o arquivo não pod ser aberto!!!"; } getline(txt,Varuser); getline(txt,Varsenha); cout<<"Digite o usuario: "; cin>>Varuser2; while(Varuser2!=Varuser) { cont++; cout<<"Usuario não encontrado!!!\n"; cout<<"Digite o usuario: "; cin>>Varuser2; } cout<<"Digite a senha: "; cin>>Varsenha2; while(Varsenha2!=Varsenha) { cout<<"senha incorreta!!!\n"; cout<<"Digite a senha: "; cin>>Varsenha2; } cout<<"Bem Vindo Wall\n"<<"ESCOLHA UMA OPCAO!!\n\n"; int menu; char produt[50]; cout<<"1-cadastro de produtos.\n\n"<<"2-consultar produto.\n\n"<<"3-sair do sistema\n\n"; cin>>menu; if(menu==1) { cin.getline(produt, 50); //aqui está o problema,esse trecho não é executado. cout<<produt; } if(menu==2) { cout<<"em construcao!!!\n"; } }
  13. Oi Pessoal, estou com um problema em uma implementação de lista encadeada usando template. Quando crio uma lista e manipulo ela, não dá nenhum problema, mas quando coloco lista como um atributo de uma outra classe, não consigo manipular ela. Também quando tento atribuir a lista pra outro objeto, o programa para inesperadamente. Seguem os códigos: ListaEncadeada.h (A implementação da lista usando template). #ifndef LISTAENCADEADA #define LISTAENCADEADA template<class T> class ListaEncadeada{ private: //Classe amiga No class No{ friend class ListaEncadeada<T>; private: T *_item; No *_proximo; No(){ _item = 0; _proximo = 0; } ~No(){ if(_item != 0) delete _item; } }; //===================================== //Atributos No *_primeiro; No *_ultimo; No *_pos; int _tamanho; //===================================== public: //Construtores e Destrutores ListaEncadeada(); ListaEncadeada(const ListaEncadeada<T> &lista); ~ListaEncadeada(); //===================================== //Assinatura dos Metodos void insere(T &chave); bool retira(T &chave); T* primeiro(); T* proximo(); bool vazia(); bool pesquisa(T &chave); T* pesquisa(int index); int getTamanho(); //===================================== //Sobrecarga do operador de atribuicao ListaEncadeada<T> &operator=(ListaEncadeada byValList); }; #endif // LISTAENCADEADA /* IMPLEMENTACAO */ using namespace std; /* Descricao: Construtor da classe. Pre-Condicao: Nenhuma. Pos-Condicao: Inicializacao dos elementos da lista. */ template<class T> ListaEncadeada<T>::ListaEncadeada(){ this->_primeiro = new No(); this->_pos = this->_primeiro; this->_ultimo = this->_primeiro; this->_primeiro->_proximo = 0; this->_tamanho = 0; } template<class T> ListaEncadeada<T>::ListaEncadeada(const ListaEncadeada<T> &lista){ this->_primeiro = new No(); this->_pos = this->_primeiro; this->_ultimo = this->_primeiro; this->_primeiro->_proximo = 0; this->_tamanho = 0; No* current = lista._primeiro; while (current != NULL) { this->insere(*current->_item); current = current->_proximo; } } /* Descricao: Destrutor da classe Lista. Pre-Condicao: Lista criada. Pos-Condicao: Lista destruida. */ template<class T> ListaEncadeada<T>::~ListaEncadeada(){ No *aux = this->_primeiro; while(aux != 0){ this->_primeiro = this->_primeiro->_proximo; delete aux; aux = this->_primeiro; } } /* Descricao: Insere um elemento na lista. Pre-Condicao: Lista criada. Pos-Condicao: Elemento inserido no comeco da lista. */ template<class T> void ListaEncadeada<T>::insere(T &chave){ this->_ultimo->_proximo = new No(); this->_ultimo = this->_ultimo->_proximo; this->_ultimo->_item = new T(chave); this->_ultimo->_proximo = 0; this->_tamanho++; } /* Descricao: Retirar elemento da lista. Retorna verdade se o elemento foi retirado com exito. Pre-Condicao: Lista criada. Pos-Condicao: Caso o elemento exista, ele eh removido da lista, caso nao exista, a lista ficara intacta */ template<class T> bool ListaEncadeada<T>::retira(T &chave){ if(this->vazia()){ return false; }else{ No *aux = this->_primeiro; while((aux->_proximo != 0) && (*(aux->_proximo->_item) != chave)){ aux = aux->_proximo; } if(aux->_proximo == 0) return false; No *q = aux->_proximo; //T *item = q->_item; aux->_proximo = q->_proximo; q->_item = 0; if(aux->_proximo == 0) this->_ultimo = aux; delete q; this->_tamanho--; return true; } } /* Descricao: Metodo para retornar o primeiro elemento da lista Pre-Condicao: Lista criada. Pos-Condicao: Lista intacta. */ template<class T> T* ListaEncadeada<T>::primeiro(){ this->_pos = this->_primeiro; return this->proximo(); } /* Descricao: Metodo que retorna o proximo do elemento da posicao atual. Pre-Condicao: Lista criada. Pos-Condicao: Elemento "pos" da lista anda uma posicao. */ template<class T> T* ListaEncadeada<T>::proximo(){ this->_pos = this->_pos->_proximo; if(this->_pos == NULL) return NULL; else return this->_pos->_item; } /* Descricao: Retorna verdade caso lista esteja vazia. Pre-Condicao: Lista iniciada. Pos-Condicao: Lista intacta. */ template<class T> bool ListaEncadeada<T>::vazia(){ return (this->_primeiro == this->_ultimo); } /* Descricao: Metodo que pesquisa a ocorrencia de um elemento na lista. Caso o elemento exista, o metodo retorna true, se nao, false. Pre-Condicao: Lista iniciada. Pos-Condicao: Lista intacta. */ template<class T> bool ListaEncadeada<T>::pesquisa(T &chave){ if(this->vazia()) return false; No *aux = this->_primeiro; while(aux->_proximo != 0){ if(*(aux->_proximo->_item) == chave){ return true; } aux = aux->_proximo; } return false; } /* Descricao: Metodo retorna o elemento do indice de entrada. Pre-Condicao: Lista inicializada. Pos-Condicao: Lista intacta. */ template<class T> T* ListaEncadeada<T>::pesquisa(int index){ if(this->vazia()) return 0; if(index > this->_tamanho) return 0; No *aux = this->_primeiro; int i = 0; while(aux->_proximo != 0){ if(i == index){ return aux->_proximo->_item; } aux = aux->_proximo; i++; } return 0; } /* Descricao: Metodo retorna o tamanho da lista. Pre-Condicao: Lista inicializada Pos-Condicao: Lista intacta. */ template <class T> int ListaEncadeada<T>::getTamanho(){ return this->_tamanho; } template<class T> ListaEncadeada<T>& ListaEncadeada<T>::operator=(ListaEncadeada byValList) { std::swap(this->_primeiro, byValList._primeiro); return *this; } Esses arquivos a seguir são os que eu usei pra testar. Segue as implementações de outras classes: Autor.h #ifndef AUTOR_H #define AUTOR_H #ifndef AUTOR_H #define AUTOR_H #include <string> using namespace std; class Autor { private: string _nome; public: Autor(); //Construtor da classe Autor Autor(Autor &autor); //Construtor da classe Autor ~Autor(); //Metodo que retorna o nome do Autor string getNome(); //Metodo que seta o nome do autor void setNome(string nome); //Metodo que sobrecarrega o operador de igualdade // Quando o nome do autor de entrada é o mesmo que o nome do autor // desta classe, então retorna verdade bool operator==(Autor autor); //Metodo que sobrecarrega o operador de desigualdade // Quando o nome do autor de entrada é diferente que o nome do autor // desta classe, então retorna verdade bool operator!=(Autor autor); }; #endif // AUTOR_H Autor.cpp #include "autor.h" //Construtor da classe Autor Autor::Autor() {} //Construtor da classe Autor Autor::Autor(Autor &autor) { this->_nome = autor.getNome(); } //Destrutor da classe Autor Autor::~Autor() {} //Retorna o nome do Autor string Autor::getNome(){ return this->_nome; } //Seta um nome para Autor void Autor::setNome(string nome){ this->_nome = nome; } //Sobrecarga do operador de igualdade bool Autor::operator==(Autor autor){ return (this->_nome == autor.getNome()); } //SObrecarga do operador de desigualdade bool Autor::operator!=(Autor autor){ return (this->_nome != autor.getNome()); } Main.cpp #include <iostream> #include "listaencadeada.h" #include "autor.h" using namespace std; int main() { ListaEncadeada<Autor> autores; Autor a1; a1.setNome("Autor1"); autores.insere(a1); //l1.addAutor(a1); a1.setNome("Autor2"); autores.insere(a1); //l1.addAutor(a1); a1.setNome("Autor3"); autores.insere(a1); //l1.addAutor(a1); a1.setNome("Autor4"); autores.insere(a1); //l1.addAutor(a1); cout << "Autores:" << endl; for(int i = 0; i < autores.getTamanho(); i++){ cout << autores.pesquisa(i)->getNome() << endl; } ListaEncadeada<Autor> autoresAux(autores); //autoresAux = autores; cout << "Autores Aux:" << endl; for(int i = 0; i < autoresAux.getTamanho(); i++){ cout << autoresAux.pesquisa(i)->getNome() << endl; } return 0; } Desde já, obrigado pela atenção. Abraços.
  14. Boa tarde, pessoal. Preciso fazer um programa em C++ que leia um arquivo txt e mostre seu conteúdo na tela. O problema que estou tendo é que o usuário é que deve escrever o nome do arquivo do qual ele deseja ver o conteúdo. Do jeito que está, o programa irá abrir sempre o mesmo arquivo "teste.txt" e isso não serve para mim. Eu quero ter vários arquivos em txt e deixar o usuário entrar com o nome do arquivo que ele quiser abrir. Segue o programa que eu estou usando: #include <iostream> #include <fstream> #include <string> using namespace std; int main () { int linhas, colunas; string nomearq; string line; cout << "Entre com o numero de linhas: "; //esses dados serão usados posteriormente cin >> linhas; cout << "Entre com o numero de colunas: "; //esses dados serão usados posteriormente cin >> colunas; cout << "Entre com o nome do arquivo: "; //nome do arquivo que o usuário quer abrir cin >> nomearq; cout << endl; ifstream arquivo ("teste.txt"); //O PROBLEMA ESTÁ AQUI! Eu quero colocar a variável "nomearq" aqui dentro do argumento, mas não //funciona if (arquivo.is_open()) { while (! arquivo.eof() ) //enquanto end of file for false continua { getline (arquivo,line); cout << line << endl; } arquivo.close(); } else cout << "Problemas ao abrir o arquivo escolhido"; return 0; } Se alguém tiver uma solução, será de grande ajuda. Muito obrigado a todos que tentarem. Abraços,
  15. Bom dia pessoa ! Sou novo no fórum, acabei de me registrar e gostaria de pedir uma ajuda a vocês, pesquisei no fórum e não encontrei. Preciso inserir valores em uma lista encadeada, mas está dando erro quando chega nas matrizes. O Código é um pouco grande, mas nem está terminado, buguei nessa parte e não encontro o erro. O erro acontece no procedimento inserir fim. #include<stdio.h> #include<stdlib.h> #include<string.h> struct cadastro { //Dados cadastrais do colega char nome[50]; char endereco[100]; char cidade[50]; char estado[30]; char idade[10]; char tresidencial[12]; char tcelular[12]; char email[30]; //Dados cadastrais do filho int qtdfilhos; char fnome[10][50]; char fnacionalidade[10][15]; char fidade[10][10]; char fsexo[10][15]; struct cadastro *prox; }; typedef struct cadastro cad; void inserirFim(cad **paramcad, char parnome[], char parendereco[], char parcidade[], char parestado[], char paridade[], char partresidencial[], char partcelular[], char paremail[], int parqtdfilhos, char parfnome[][50], char parfnacionalidade[], char parfidade[], char parfsexo[]) { cad *ncad;//criando ponteiro nova lista. ncad=(cad*)malloc(sizeof(cad));//alocando o espaço em memória strcpy(ncad->nome, parnome); strcpy(ncad->endereco, parendereco); strcpy(ncad->cidade, parcidade); strcpy(ncad->estado, parestado); strcpy(ncad->idade, paridade); strcpy(ncad->tresidencial, partresidencial); strcpy(ncad->tcelular, partcelular); strcpy(ncad->email, paremail); ncad->qtdfilhos = parqtdfilhos; strcpy(ncad->fnome, parfnome); strcpy(ncad->fnacionalidade, parfnacionalidade); strcpy(ncad->fidade, parfidade); strcpy(ncad->fsexo, parfsexo); ncad->proximo = NULL; if(*paramcad == NULL) { *paramcad = ncad;//se for insere a nova lista no final } else { cad *cadaux; cadaux = *paramcad; //coloca a lista atual na lista auxiliar while(cadaux->proximo != NULL) { //e vai percorrendo a lista ate encontrar o final ou seja NULL cadaux = cadaux->proximo; //enquato não acha o final ela fica colocando "as estruturas listas" na lista temporaria }//obviamente uma ora ela vai chegar no final da lista ou seja nesta linha cadaux->proximo = ncad;//como ele já esta no final da fila ele so adiciona a nova lista } } void recebe(cad **paramcad) { int x; printf("\nEste colega possui filho(s)?\n1 - Sim\n2 - não\n"); scanf("%d", &x); if(x==1) { fflush(stdin); char nome[50]; char endereco[100]; char cidade[50]; char estado[30]; char idade[10]; char tresidencial[12]; char tcelular[12]; char email[30]; //Recebe os dados cadastrais do colega printf("\nDigite o nome: "); gets(nome); // inserirFim(&cadastro,tmp); printf("Digite o endereco: "); gets(endereco); printf("Digite a cidade: "); gets(cidade); printf("Digite o estado: "); gets(estado); printf("Digite a idade: "); gets(idade); printf("Digite o telefone residencial: "); gets(tresidencial); printf("Digite o telefone celular: "); gets(tcelular); printf("Digite o email: "); gets(email); system("cls"); int qtdfilhos; char fnome[10][50]; char fnacionalidade[10][15]; char fidade[10][10]; char fsexo[10][15]; system("cls"); printf("\nDigite a quantidade de filhos: "); gets(qtdfilhos); fflush(stdin); int f; f=qtdfilhos; while(y != f) { printf("\nDigite os dados cadastrais do(s) filho(s)\n\n"); printf("Digite o nome do %d filho: ", y+1); gets(fnome[y]); fflush(stdin); printf("Digite a nacionalidade: "); gets(fnacionalidade[y]); fflush(stdin); printf("Digite a idade: "); gets(fidade[y]); fflush(stdin); printf("Digite o sexo: "); gets(fsexo[y]); fflush(stdin); system("cls"); y++; } inserirFim(paramcad,nome, endereco,cidade, etado, idade, tresidencial, tcellar, email, qtdfilhos, fnome, fnacionalidade, fidade, fsexo); } if(x==2) { fflush(stdin); char nome[50]; char endereco[100]; char cidade[50]; char estado[30]; char idade[10]; char tresidencial[12]; char tcelular[12]; char email[30]; //Recebe os dados cadastrais do colega printf("\nDigite o nome: "); gets(nome); // inserirFim(&cadastro,tmp); printf("Digite o endereco: "); gets(endereco); printf("Digite a cidade: "); gets(cidade); printf("Digite o estado: "); gets(estado); printf("Digite a idade: "); gets(idade); printf("Digite o telefone residencial: "); gets(tresidencial); printf("Digite o telefone celular: "); gets(tcelular); printf("Digite o email: "); gets(email); system("cls"); cidade cidade cidade inserirFim(paramcad,nome, endereco,cidade, etado, idade, tresidencial, tcellar, email); } if(x!= 1 && x!= 2) { printf("Opcao invalida!\n Escola uma opcao entre 1 e 2"); } } main() { int op=0; int subop=0; cad *cadastro; cadastro=NULL; while(op!=6) { system("cls"); printf("\nMenu Principal\n"); printf("\n1 - Cadastrar um novo colega e/ou filho\n2 - Mostrar os colegas cadastrados\n3 - Excluir um colega e/ou filho\n4 - Localizar os dados de um colega\n5 - Salvar as informacoes em arquivo\n6 - Sair\n"); printf("\n"); scanf("%d",&op); switch (op) { case 1: system("cls"); printf("\nMenu de Cadastramento\n\n1 - Cadastrar um colega\n2 - Cadastrar um filho\n\n"); scanf("%d", & subop); system("cls"); printf("\n"); if(subop==1) { printf("\n"); system("cls"); printf("Preencha os dados cadastrais para seu colega:\n"); recebe(&cadastro); } if (subop==2) { printf("\n"); printf("Preencha os dados cadastrais para seu filhos:\n"); system("pause>>null");//será removido quando todo o programa estiver concluido } if(subop != 1 && subop!=2) { printf("\n"); printf("Opcao invalida\nSelecione 1 ou 2"); system("pause>>null");//será removido quando todo o programa estiver concluido } break; case 2: system("cls"); break; case 3: printf("Menu de Exclusao\n1 - Exlcuir um colega\n2 - Excluir um filho"); scanf("%d", & subop); printf("\n"); if(subop==1) { } if (subop==2) { } if(subop != 1 && subop!=2) { } break; case 4: break; case 5: break; case 6: op=6; break; default: printf("\nOpcao invalida!\nSelecione uma opcao de 1 a 6"); system("pause>>null"); } } }
  16. Hola galera, preciso de uma forcinha Meu professor pediu para escrever em uma pilha os valores multiplos de 5 entre 0 - 75. Mostrar na tela a pilha e eliminar um valor escolhido pelo usuario e ir mostrando a pilha conforme vai excluindo os valores. Exemplo: 1 2 Quero excluir o 2 2 3 3 3 4 4 4 <-- Assim ficaria a pilha no final 5 5 5 #include <iostream> using namespace std; const int MAX=75; int pilha[MAX]; int tope = 0; int pilha_tamanho(){ return tope+1; } bool pilha_vazia(){ return !tope; } bool pilha_cheia() { return tope == MAX; } bool push (int valor){ if (pilha_cheia()) return false; pilha[tope] = valor; tope++; return true; } bool pop(int &valor){ if (pilha_vazia()){ return false; }else{ int valor = pilha[tope-1]; tope--; return true; } } int main() { int valor, i, num; cout<<"Empilhar"<<endl; for (valor=0; valor<=75; valor++){ if ((valor%5)==0){ push(valor); } } for(i=0; i<tope; i++){ cout<<pilha[i]<<endl; } cout<<"\nCual numero desea quitar de la pila: "; cin>>num; while(num==pilha[i]){ cout<<pop(valor)<<endl; } /* Para desempilhar tudo cout<<"Desempilhar"<<endl; while(!pilha_vazia()) { cout<<pop()<<endl; }*/ cout<<"\nTamanho da pilha: "<<pilha_tamanho(); return 0; }
  17. Boa noite, estou com uma duvida no final do codigo, preciso fazer uma saida para mostrar todos os preços digitados e suas caracteristicas. ex: Preço Final: Caracteristicas: 30.600 Completo 20.600 Apenas Direção Hidraulica ____________________________________ Qualquer tipo de ajuda será bem vinda ou ideias. #include <iostream> #include <iomanip> #define TAM 4 using namespace std; int main() { int opc,x; float percentual1,percentual2,ipi,soma1,soma2,carro0; float soma3[TAM],soma4[TAM]; cout << " ||||||||||||||||||||||||| \n "; cout << " |||||PEPPA AUTOMOVEIS|||| \n "; cout << " ||||||||||||||||||||||||| \n "; do { cout << "\n Digite o valor do Carro 0 km"<< endl; cin >> carro0; percentual1 = 2.0 / 100.0;//percentual de cada opçao percentual2 = 3.5 / 100.0;// percentual carro completo ipi = 8.0 / 100.00; soma1 = carro0 + (percentual1 * carro0); soma2 = carro0 + ipi + (percentual2 * carro0); soma3[TAM] = carro0 + (percentual1 * carro0); soma4[TAM] = carro0 + (percentual2 * carro0); system("cls"); cout << "\n Selecione uma opcao para o carro 0 Km" << endl; cout << "(1)\t Trio Eletrico: 2% do valor de fabrica sem o IPI" << endl; cout << "(2)\t Ar Condicionado: 2% do valor de fabrica sem o IPI" << endl; cout << "(3)\t Direcao Hidraulica: 2% do valor de fabrica sem o IPI" << endl; cout << "(4)\t Completo: (trio eletrico, ar condicionado e direção hidraulica)."<< endl; cout << "(0)\t Sair do sistema." << endl; cin >> opc; system("cls"); switch(opc) { case 1: cout << "\n O valor com apenas o Trio Eletrico:\t" << setiosflags (ios::fixed)<< setprecision (3) << soma1 << endl; break; case 2: cout << "\n O valor com apenas o Ar Condicionado:\t" << setiosflags (ios::fixed)<< setprecision (3) << soma1 << endl; break; case 3: cout << "\n O valor com apenas a Direcao Hidraulica:\t" << setiosflags (ios::fixed)<< setprecision (3) << soma1 << endl; break; case 4: cout << "\n Completo:\t" << setiosflags (ios::fixed)<< setprecision (3) << soma2 << endl; break; default:cout << "\n Na opcao 0 sera fornecido uma tabela de comparacao.\n"; } system("pause"); }while(opc > 0 && opc <= 4); system("cls"); cout << "\n\n"; cout << "\n Preços\tOpcao\n"; \\ preciso de ajuda nessa parte, gerar uma tabela com todos os precos gerados e as suas caracteristicas. for (x=0;x<TAM;x++) { cout <<"\n Precos por opcao:"<< setiosflags (ios::fixed) << setprecision (3) << soma3[x]<<"\n"; } system("pause"); }
  18. Boa tarde, Tenho que fazer um programa em C++ que leia os caracteres de meu nome, imprima a pilha e depois imprima o inverso da pilha. O professor passou alguns algoritmos e pediu para fazermos isso, dei uma pesquisada na internet, alguns videos e cheguei no codigo abaixo, mas, tenho alguns erros que não encontro, ou algo de errado que estou fazendo. alguém pode me ajudar? Obs.: com numeros inteiros consegui fazer, mas com char.... #include <iostream> #include <conio.h> #include <stdio.h> #include <stdlib.h> using namespace std; int const MAX=1000; int pilha[MAX]; int tope; int pilha_tamanho(){ return tope+1; } bool pilha_vazia(){ if (tope==-1) return true; else return false; } bool pilha_cheia(){ if (tope==MAX-1) return true; else return false; } bool push (char &nom){ if (pilha_cheia()){ return false; }else{ pilha[tope]=nom; tope++; return true; } } bool pop (char nom){ if (pilha_vazia()){ return false; }else{ nom=pilha[tope]; tope--; return true; } } int main(){ int valor, i; char nom; cout<<"Empilhar"<<endl; push('d'); push('i'); push('o'); push('g'); push('o'); for(i=0; i<5; i++){ cout<<pilha[i]<<endl<<endl; } cout<<"Desempilhar"<<endl; while(pop(nom)){ cout<<valor<<endl<<endl; } cout<<"Tamanho da pilha: "<<pilha_tamanho(); return 0; }
  19. Pessoal, estou projetando um programa que imprime calendarios de qualquer ano digitado pelo usuario em C. Meu algoritmo está 100% pronto, porém não é 100% eficiente, e usa muitas linhas de codigo. Então a minha pergunta é: como imprimir o calendário abaixo com o menor numero de linhas de codigo possível? Calendário no link: https://susy.ic.unicamp.br:9999/si100a/04/dados/arq3.res Obs: Tem que ser exatamente igual. Desde já agradeço.
  20. Boa Noite pessoal, estou desenvolvendo um programa que calcule a compra de 1 carro 0km, mas o que ocorre é que quando eu chego em uma etapa, não consigo continuar, estou marcando em vermelho de onde não consigo que o sistema continue a execução, se o usuário digitar 1, ele deve continuar a execução do código abaixo e se for 2 ele deve parar e sair. #include<cstdlib> #include<iostream> using namespace std; int main(void){ int a,i,sair,cont; float valor,vl1,vl2,vl3,total; char carro; cout<<"\nMonte seu carro\n"; cout<<"\nDigite o valor do veiculo:\n"; cin >>valor; cout<<"\n(--------- Opcionais------------)\n"; cout<<"\n(1-Trio Eletrico)\n"; cout<<"\n(2-Ar Condicionado)\n"; cout<<"\n(3-Direcao Hidraulica)\n"; cout<<"\n(4-Completo)\n"; cout<<"\n(0- Sem Opcoes)\n"; cout<<"\n(Digite o Codigo do Opcional desejado:)\n"; cin >>a; if (a==1) { vl1 =(valor*2)/100 ;total=(valor+vl1) ;} if (a==2) { vl2 =(valor*2)/100 ;total=(valor+vl1+vl2);} if (a==3) { vl2 =(valor*2)/100 ;total=(valor+vl1+vl2+vl3);} if (a==4) { total=valor+vl1+vl2+vl3;} if (a==0) { total=valor;} cout <<"\nDESEJA MAIS OPCIONAIS? [1-S] ou [2-N]?"; cin >>i; if(i==1) cout<<"\n(Digite o Codigo do Opcional desejado:)\n"; cin >>a; if (a==1) { vl1 =(valor*2)/100 ;total=(valor+vl1) ;} if (a==2) { vl2 =(valor*2)/100 ;total=(valor+vl1+vl2);} if (a==3) { vl2 =(valor*2)/100; total=(valor+vl1+vl2+vl3);} if (a==4) { total=valor+((valor*6)/100);} if (a==0) { total=valor;} cout <<"\nDESEJA MAIS OPCIONAIS? [1-S] ou [2-N]?"; cin >>i; if (i==1) cout<<"\n(Digite o Codigo do Opcional desejado:)\n"; cin >>a; if (a==1) { vl1 =(valor*2)/100 ;total=(valor+vl1) ;} if (a==2) { vl2 =(valor*2)/100 ;total=(valor+vl1+vl2);} if (a==3) { vl2 =(valor*2)/100; total=(valor+vl1+vl2+vl3);} if (a==4) { total=valor+((valor*6)/100);} if (a==0) { total=valor;} if(i==2) cout<<"\nTotal Veiculo:R$:"<<total+vl1+vl2; system("pause"); return EXIT_SUCCESS; system("pause"); system("exit"); }
  21. Preciso acrescentar no gabarito abaixo se o aluno foi aprovado ou não, já li sobre o assunto, mas não consegui, alguém pode me ajudar? #include <stdio.h> #include <conio.h> #include <math.h> #include <ctype.h> int main() { char gab[5] = { 'B', 'D', 'A', 'C', 'A' }; char resp[5]; int qtalunos; int nota; int y, i; printf("Informe a quantidade de alunos: "); scanf("%d", &qtalunos); for(i=1; i<=qtalunos;i++) { nota=0; for(y=0;y<5;y++) { printf("Informe a resposta da pergunta %d: ", y+1); scanf("%s", &resp[y]); } for(y=0;y<5;y++) { if(toupper(resp[y])==gab[y]) { nota = nota + 2; } } printf("A nota do aluno %d e: %d\n\n", i, nota); } getch(); }
  22. Tenho esse código de uma agenda pronto em C++, e quero adicionar uma opção para excluir os dados cadastrados, alguém pode me ajudar? #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #include <ctype.h> typedef struct Agenda { char nome[50]; char fone[20]; char fonecelular[20]; char email[80]; }T_agenda; // prototipos void inclusao(void); void Listar(void); void quick_struct(int); void qs_struct(int,int); void ordenar(void); void pesquisar(void); char Validaresp(); static int qtd = 0; T_agenda Tab[100]; FILE *fp; // ================================================================= // ======Incluir dados no arquivo ================================== void inclusao(void){ int total = 0, retorno; char op = 's'; if ((fp = fopen("agenda.db", "a")) == NULL) { printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } while ((total < 100) && (op == 's')) { printf ("Digite o nome: "); gets(Tab[total].nome); printf ("Digite o numero do telefone fixo: "); gets(Tab[total].fone); printf ("Digite o numero do telefone celular: "); gets(Tab[total].fonecelular); printf ("Digite o E-mail: "); gets(Tab[total].email); retorno = fwrite (&Tab[total], sizeof(struct Agenda) ,1,fp); if (retorno == 1) { printf(" \nGravacao ok ! "); } total++; op = Validaresp(); qtd++; } fclose (fp); } //====================================================================== // ======Valida resposta =============================================== char Validaresp() { char op; do { printf(" \nDeseja inserir novos dados? [s ou N] ? " ); op = getch(); printf("\n" ); } while (op != 's' && op != 'n'); return op; } //====================================================================== // ======Organizar em ordem alfabetica ================================= void ordenar(void){ T_agenda vet; int aux,i,j,k,retorno; char *str, *str2, *straux; aux = qtd; // aux recebe a quantidade de contatos inscritos for ( i = 0 ; i < aux ; i++ ){ str = Tab.nome; for ( j = i+1 ; j < aux ; j++ ){ str2 = Tab[j].nome; if ( strcmp ( str, str2 ) > 0 ){ vet = Tab; Tab = Tab[j]; Tab[j] = vet; } } } remove("agenda.db"); if ((fp = fopen("agenda.db", "w+")) == NULL){ printf ("ERRO!\n"); getch(); exit(1); } for ( k = 0 ; k < aux ; k++ ){ retorno = fwrite (&Tab[k], sizeof(struct Agenda) ,1,fp); if (retorno != 1) { printf(" \nERRO ! "); } } fclose(fp); printf("\nLista Ordenada! \n"); getch(); } //====================================================================== // ======Pesquisar contato pelo nome =================================== void pesquisar(void){ int indice = 0, retorno = 1, cont = 0; char nome[80],op; if ((fp = fopen("agenda.db", "r")) == NULL){ printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } printf ("Digite o nome: "); gets(nome); retorno = fread(&Tab[indice], sizeof(struct Agenda), 1, fp); while (retorno == 1){ if (strcmp(nome, Tab[indice].nome) == 0 ){ printf ("\nNome ..: %s\nFone ..: %s\nE-mail ..: %s\n", nome, Tab[indice].fone, Tab[indice].email); cont++; } indice++; retorno = fread(&Tab[indice], sizeof(struct Agenda), 1, fp); } if(cont == 0){ printf("não há contatos com este nome!\n"); } getch(); fclose(fp); } //====================================================================== // ======Pesquisar Telefone ============================================ void pesquisarfone(void){ int indice = 0, retorno = 1, cont = 0; char fone[80],op; if ((fp = fopen("agenda.db", "r")) == NULL){ printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } printf ("Digite o telefone fixo: "); gets(fone); retorno = fread(&Tab[indice], sizeof(struct Agenda), 1, fp); while (retorno == 1){ if (strcmp(fone, Tab[indice].fone)==0){ printf ("\nNome ..: %s\nFone ..: %s\nE-mail ..: %s\n", Tab[indice].nome, Tab[indice].fone, Tab[indice].email); cont++; } indice ++; retorno = fread(&Tab[indice], sizeof(struct Agenda), 1, fp); } if(cont == 0){ printf("não há contatos com este Telefone!\n"); } getch(); fclose(fp); } void pesquisarfonecelular(void){ int indice = 0, retorno = 1, cont = 0; char fone[80],op; if ((fp = fopen("agenda.db", "r")) == NULL){ printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } printf ("Digite o telefone celular: "); gets(fone); retorno = fread(&Tab[indice], sizeof(struct Agenda), 1, fp); while (retorno == 1){ if (strcmp(fone, Tab[indice].fone)==0){ printf ("\nNome ..: %s\nFone ..: %s\nE-mail ..: %s\n", Tab[indice].nome, Tab[indice].fone, Tab[indice].email); cont++; } indice ++; retorno = fread(&Tab[indice], sizeof(struct Agenda), 1, fp); } if(cont == 0){ printf("não há contatos com este Telefone!\n"); } getch(); fclose(fp); } //====================================================================== // ======Pesquisar contato por Email =================================== void pesquisaremail(void){ int indice = 0, retorno = 1, cont =0; char email[80],op; if ((fp = fopen("agenda.db", "r")) == NULL){ printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } printf ("Digite o E-mail: "); gets(email); retorno = fread(&Tab[indice], sizeof(struct Agenda), 1, fp); while (retorno == 1){ if (strcmp(email, Tab[indice].email)==0){ printf ("\nNome ..: %s\nFone ..: %s\nE-mail ..: %s\n", Tab[indice].nome, Tab[indice].fone, Tab[indice].email); cont++; } indice ++; retorno = fread(&Tab[indice], sizeof(struct Agenda), 1, fp); } if(cont == 0){ printf("não há contatos com este Email!\n"); } getch(); fclose(fp); } //====================================================================== // ======Lista os contatos cadastrados ================================= void Listar(void){ int i = 0, retorno; if ((fp = fopen("agenda.db", "r")) == NULL) { printf ("O arquivo da lista não pode ser aberto!\n"); printf ("Insira dados!\n"); getch(); exit(1); } retorno = fread(&Tab, sizeof(struct Agenda), 1, fp); // fread retorna a quantidade de itens ... while ( retorno == 1) { printf("\n Nome ..: %s", Tab.nome); printf("\n Telefone fixo ..: %s", Tab.fone); printf("\n Telefone celular ..: %s", Tab.fonecelular); printf("\n E-mail ..: %s\n", Tab.email); i++; retorno = fread(&Tab, sizeof(struct Agenda), 1, fp); } printf(" \n\n %d Contatos salvos!\n", i); getch(); fclose(fp); } //====================================================================== // ======Menu ========================================================== void menu(void){ char op; int teste; if ((fp = fopen("agenda.db", "r")) != NULL){ qtd = 0; do { teste = fread(&Tab, sizeof(struct Agenda), 1, fp); qtd++; }while ( teste == 1 ); qtd--; } do{ system("cls"); printf("\n(1)Incluir\n(2)Listar\n(3)Ordenar por nome\n(4)Pesquisar por nome\n"); printf("(5)Pesquisar por telefone fixo\n(6)Pesquisar por telefone celular\n(7)Pesquisar por E-mail\n(8)Qualquer outra tecla para sair\n\n"); op = getch(); switch(op){ case '1': inclusao(); break; case '2': Listar(); break; case '3': ordenar(); break; case '4': pesquisar(); break; case '5': pesquisarfone(); break; case '6': pesquisarfonecelular(); break; case '7': pesquisaremail(); break; default: exit(1); } }while (op < '7'); } int main (){ int var; if(var == 27){ exit(1);} menu(); system("pause"); }
  23. #include<iostream> #include<cmath> using namespace std; int main() { float x,y,preço; cout<<"digite o valor do produto: "; cin>>x; cout<<"digite a venda mensal media: "; cin>>y; if((y<500)||(x<30)) { preço=x+(x*0.1); cout<<"o novo valor do produto e: "<<preço<<endl; } if((y>=500&&y<1200)||(x>=30&&x<80)) {preço=x+(x*0.15); cout<<"o novo preço e: "<<preço<<endl; } if((y>=1200)||(x>=80)) {preço=x-(x*0.2); cout<<"o valor do produto foi reduzido para: "<<preço<<endl; } system("pause"); }
  24. Gente eu tenho que fazer um programa que entre com o numero do candidato, registra os votos, e depois faz a média, mas minha estrutura de repetição não para mesmo com o contador. alguém pode me ajudar: #include<stdio.h> #include<stdlib.h> int main(){ //variaveis int numvote,i,cod,c1,c2,c3,c4,nu,br; float rca1,rca2,rca3,rca4,rca5,rca6; i=0; c1=0; c2=0; c3=0; c4-0; nu=0; br=0; printf("Entre com o numero total de votos a serem registrados\n"); scanf("%d,\n", &numvote); while (i<=10){ printf("Entre com o codigo do candidato(1,2,3,4), 5 para nulo e 6 para branco\n"); scanf("%d,\n", &cod); switch(cod){ case '1': c1=c1+1; i=i+1; break; case '2': c2=c2+1; i=i+1; break; case '3': c3=c3+1; i=i+1; break; case '4': c4=c4+1; i=i+1; break; case '5': nu=nu+1; i=i+1; break; case '6': br=br+1; i=i+1; break; } } system ("pause"); rca1=numvote%100+c1; rca2=numvote%100+c2; rca3=numvote%100+c3; rca4=numvote%100+c4; rca5=numvote%100+nu; rca6=numvote%100+br; printf("O numero de votos do candidato 1 foi: %d e a porcentagem foi: %d\n", c1,rca1); } quem puder mostrar o que esta errado por favor, começei a usar c++ a pouco tempo.
×
×
  • Criar Novo...