Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Ainz_

C++ Pesquisar usando Fstream e Struct

Recommended Posts

Ola, estou realizando um trabalho para faculdade, e nele preciso criar as funções: Cadastrar, Listar, Pesquisar, Editar e Excluir, isso dentre de um arquivo utilizando Fstream e Struct.

 

Estou aqui para pedir ajuda em como devo montar as funções pesquisar, editar e excluir. Obrigado desde já.

 

Segue o Codigo:

Citação

#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
#include <windows.h>
#include <strings.h>

using namespace std;

fstream file;

struct file {

    string nome;
    int quantidade;
    double preco;
} item;

void cadastrar();

void listar();

void remover();

void procurar();

int main() {

    system("color a");

    file.open("file.txt", ios::in | ios:: out | ios:: binary);
    if(!file.is_open()){
        file.open("file.txt", ios::in | ios::out | ios::trunc | ios::binary);
    }

    int op;

    while(1){
        system("cls");

        cout << "|-----------------|" << endl;
        cout << "|      MENU       |" << endl;
        cout << "|-----------------|" << endl;
        cout << "| 1 -|- Cadastrar |"<< endl;
        cout << "| 2 -|- Remover   |" << endl;
        cout << "| 3 -|- Listar    |" << endl;
        cout << "| 4 -|- Procurar  |" << endl;
        cout << "| 5 -|- Comprar   |" << endl;
        cout << "| 6 -|- Vender    |" << endl;
        cout << "| 7 -|- Editar    |" << endl;
        cout << "| 0 -|- Sair      |" << endl;
        cout << "|-----------------|" << endl;

        do{
            op=0;
            cout << endl << "Digite a opcao desejada: ";
            cin >> op;
            switch(op){
                case 1:
                    cadastrar();
                    break;
                case 2:
                    //remover();
                    break;
                case 3:
                    listar();
                    break;
                case 4:
                    procurar();
                    break;
                case 5:

                case 6:

                case 7:

                case 0:
                    return 0;
                default:
                    system("cls");
                    cout << "OPCAO INVALIDA!" << endl << endl;
                    cout << "1 - Cadastrar"<< endl;
                    cout << "2 - Remover" << endl;
                    cout << "3 - Listar" << endl;
                    cout << "4 - Procurar" << endl;
                    cout << "5 - Comprar" << endl;
                    cout << "6 - Vender" << endl;
                    cout << "7 - Editar" << endl;
                    cout << "0 - Sair" << endl;
            }
        }while(op!=1 && op!=2 && op!=3 && op!=4 && op!=5 && op!=6 && op!=7 && op!=0);
    }

    file.close();

    return 0;
}

void cadastrar(){

    ofstream file;
    file.open("file.txt");

    system("cls");
    file.seekp(0,file.end);

    cout << "Nome: ";
    cin >> item.nome;
    cout << "Quantidade: ";
    cin >> item.quantidade;
    cout << "Preco: ";
    cin >> item.preco;

    file.write((char*)&item, sizeof(item));
}

void listar(){

    system("cls");

    ifstream file;
    file.open("file.txt");

    file.seekg(0,file.beg);

    while(file.read((char*)&item, sizeof(item))){
        cout << "Nome: ";
        cout<< item.nome << endl;
        cout << "Quantidade: ";
        cout << item.quantidade << endl;;
        cout << "Preco: ";
        cout << item.preco << endl << endl;
    }

    file.clear();
    system("pause");
}

/*void remover(){

    string line;
    string deleteline;

    cin >> deleteline;

    while (getline(file,line)){
        line.replace(line.find(deleteline),deleteline.length(),"");
        file << line << endl;
    }

    system("pause");
}*/

void procurar(){

    system("cls");

    ifstream file;
    file.open("file.txt");

    string temp;
    string line;
    string word;

    cout << "Procure pelo nome: ";
    cin >> word;

    while (getline(file, temp))
    {
        line.append(temp);

        system("cls");

        if (line.find(word) != string::npos){
            cout << temp << endl << line << endl << word << endl;
        }
        else cout << "NAO ENCONTRADO!" << endl;
    }

    system("pause");
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×