Olá a todos! Primeira vez no tópico, e com pressa! Desculpem as ca**das.
Estou fazendo um projeto em c++, mais especificamente, um cadastro. De que? Produtos em geral... Nada muito complexo não.
O problema é que eu ainda não consegui arrumar as 2 ultimas funções que faltam pro projeto ficar bem feito. Quais são? Editar e Excluir cadastro.
Meu projeto é este :
#include<iostream>
using namespace std;
/* *****************************************************************
* Projeto: Register *
* Autores: Thiago Rodrigues *
* Guilherme XXXXXXXX *
* 05/12/2009 *
* 2º Periodo Eng.Elétrica - Inatel *
* Prof. Rosana *
* *
* Descrição: *
* Este programa serve para manter *
* registrado os produtos que voce *
* deseja fiscalizar, independentemente *
* do produto. *
* Bom uso. *
*****************************************************************
*/
struct dados
{
char nome[51]; //Nome do produto
char dsc[501]; //Descrição do produto
int qt; //Unidades
int qtv; //Unidades vendidas
int qtd; //Unidades defeituosas
int D; //Dia entrada
int M; //Mês entrada
int A; //Ano entrada
int HR; //Hora entrada
int MIM; //Minutos entrada
int SG; //Segundos entrada
int DS; //Dia saida
int MS; //Mês saida
int AS; //Ano saida
int HRS; //Hora saida
int MIMS; //Minutos saida
int SGS; //Segundos saida
float preço; //Preço do produto
} x;
FILE *arquivo = NULL;
int cont=0;
void cadastrar();
void listar();
void procurar();
void editar();
void excluir();
int main()
{
system("color 80");
int op;
system("date /t");
system("time /t");
arquivo = fopen("Register.txt","r+");
if(arquivo == NULL)
{
cout<<"Arquivo inexistente."<<endl;
cout<<"Criando arquivo..."<<endl;
arquivo = fopen("Register.txt","w+");
if(arquivo == NULL)
{
cout<<"não é possivel criar este arquivo!"<<endl;
exit(1);
}
fseek(arquivo, 0, SEEK_SET);
fwrite(&cont, sizeof(cont), 1, arquivo);
}
else
{
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" Arquivo aberto com sucesso!"<<endl;
fseek(arquivo, 0, SEEK_SET);
fread(&cont, sizeof(cont), 1, arquivo);
}
do{
do{
cout<<" |--------------------------------------|"<<endl;
cout<<" | Menu Register |"<<endl;
cout<<" | |"<<endl;
cout<<" | 1 - Registrar Produto |"<<endl;
cout<<" | 2 - Produtos Registrados |"<<endl;
cout<<" | 3 - Procurar Produto |"<<endl;
cout<<" | 4 - Editar produto |"<<endl;
cout<<" | 5 - Excluir produto |"<<endl;
cout<<" | |"<<endl;
cout<<" | 6 - Sair |"<<endl;
cout<<" |--------------------------------------|"<<endl;
cout<<" "<<endl;
cout<<" Opcao: ";cin>>op;
} while((op<1) || (op>6));
switch(op)
{
case 1:
system("cls");
cadastrar();
break;
case 2:
system("cls");
listar();
break;
case 3:
system("cls");
procurar();
break;
case 4:
system("cls");
editar();
break;
case 5:
system("cls");
excluir();
break;
case 6:
system("cls");
cout<<"Saindo do programa..."<<endl;
break;
default:
system("cls");
cout<<"Digite uma opcao valida"<<endl;
}
system("pause");
system("cls");
} while(op!=4);
fclose(arquivo);
}
void cadastrar()
{
cout<<" -------------------------- Registro --------------------------"<<endl;
cout<<" "<<endl;
cout<<" Digite o nome do produto: ";
cin.ignore();
cin.getline(x.nome, 50);
cout<<" O preço do produto (Use '.' nos centavos): ";
cin>>x.preço;
cout<<" "<<endl;
cout<<" -------------------------- Unidades --------------------------"<<endl;
cout<<" "<<endl;
cout<<" Total: ";
cin>>x.qt;
cout<<" Vendidas: ";
cin>>x.qtv;
cout<<" Defeituosas/Devolvidas: ";
cin>>x.qtd;
cout<<" "<<endl;
cout<<" ----------------------- Data de entrada ----------------------"<<endl;
cout<<" "<<endl;
cout<<" Dia: ";
cin>>x.D;
cout<<" Mes: ";
cin>>x.M;
cout<<" Ano: ";
cin>>x.A;
cout<<" "<<endl;
cout<<" ---------------------------- Hora ----------------------------"<<endl;
cout<<" "<<endl;
cout<<" Hora: ";
cin>>x.HR;
cout<<" Minuto: ";
cin>>x.MIM;
cout<<" Segundo: ";
cin>>x.SG;
cout<<" "<<endl;
cout<<" ----------------------- Data de saida ------------------------"<<endl;
cout<<" "<<endl;
cout<<" Dia: ";
cin>>x.DS;
cout<<" Mes: ";
cin>>x.MS;
cout<<" Ano: ";
cin>>x.AS;
cout<<" "<<endl;
cout<<" ----------------------- Hora de saida ------------------------"<<endl;
cout<<" "<<endl;
cout<<" Hora: ";
cin>>x.HRS;
cout<<" Minuto: ";
cin>>x.MIMS;
cout<<" Segundo: ";
cin>>x.SGS;
cout<<" "<<endl;
cout<<" --------------------------------------------------------------"<<endl;
cout<<" "<<endl;
cout<<" Descricao do produto: "<<endl;
cin.ignore();
cin.getline(x.dsc, 500);
fseek(arquivo, sizeof(cont)+sizeof(dados)*cont, SEEK_SET);
fwrite(&x, sizeof(dados), 1, arquivo);
cont++;
fseek(arquivo, 0, SEEK_SET);
fwrite(&cont, sizeof(cont), 1, arquivo);
}
void listar()
{
int posicao;
for(int i=0; i<cont; i++)
{
posicao = sizeof(cont)+sizeof(dados)*i;
fseek(arquivo, posicao, SEEK_SET);
fread(&x, sizeof(dados), 1, arquivo);
cout<<" |---------------------------------------------------------"<<endl;
cout<<" | Produto: "<<x.nome<<endl;
cout<<" | preço: R$"<<x.preço<<endl;
cout<<" |- "<<endl;
cout<<" | Total (Unidades): "<<x.qt<<endl;
cout<<" | Vendidas (Unidades): "<<x.qtv<<endl;
cout<<" | Defeituosa/Devolvida (Unidades): "<<x.qtd<<endl;
cout<<" |- "<<endl;
cout<<" | Data - entrada: "<<x.D<<"/"<<x.M<<"/"<<x.A<<" --- "<<x.HR<<":"<<x.MIM<<":"<<x.SG<<endl;
cout<<" | Data - saida: "<<x.DS<<"/"<<x.MS<<"/"<<x.AS<<" --- "<<x.HRS<<":"<<x.MIMS<<":"<<x.SGS<<endl;
cout<<" |- "<<endl;
cout<<" | Descricao: "<<endl;
cout<<" | "<<x.dsc<<endl;
cout<<" |---------------------------------------------------------"<<endl;
}
}
void procurar()
{
int posicao;
bool achou=false;
char name[51];
cout<<"Digite o nome do produto: ";
cin.ignore();
cin.getline(name, 50);
for(int i=0; i<cont; i++)
{
posicao = sizeof(cont)+sizeof(dados)*i;
fseek(arquivo, posicao, SEEK_SET);
fread(&x, sizeof(dados), 1, arquivo);
if(strcmpi(x.nome, name)==0)
{
achou=true;
cout<<" |---------------------------------------------------------"<<endl;
cout<<" | Produto: "<<x.nome<<endl;
cout<<" | preço: R$"<<x.preço<<endl;
cout<<" |- "<<endl;
cout<<" | Total (Unidades): "<<x.qt<<endl;
cout<<" | Vendidas (Unidades): "<<x.qtv<<endl;
cout<<" | Defeituosa/Devolvida (Unidades): "<<x.qtd<<endl;
cout<<" |- "<<endl;
cout<<" | Data - entrada: "<<x.D<<"/"<<x.M<<"/"<<x.A<<" --- "<<x.HR<<":"<<x.MIM<<":"<<x.SG<<endl;
cout<<" | Data - saida: "<<x.DS<<"/"<<x.MS<<"/"<<x.AS<<" --- "<<x.HRS<<":"<<x.MIMS<<":"<<x.SGS<<endl;
cout<<" |- "<<endl;
cout<<" | Descricao: "<<endl;
cout<<" | "<<x.dsc<<endl;
cout<<" |---------------------------------------------------------"<<endl;
}
}
if(achou == false)
cout<<"Desculpe, produto não encontrado."<<endl;
}
void editar()
{
//Iagora Jusé?
}
void excluir()
{
//Iagora jusé?
}
Gostaria de ajuda, qualquer tipo de ajuda, pra fazer estas 2 funções, ai sim termino meu projetinho :)
Obrigado pela atenção ai, aguardo respostas!!
EDIT: Tava pensando ... Nas 2 funções terei que procurar o produto, certo? Portanto meio caminho andando, já tenho a função procurar.
Copio a função 'procurar' e colo pra fazer o inicio da função 'editar', quando esta achar o produto, ira fazer a seguinte pergunta... cout<<"Este é o produto que você deseja editar ? ai vem o resto que to com duvida... "digite sim se for, e não se não for" caso resposta seja sim entre em modo de edição (que eu n sei como fazer) caso resposta seja não, faça a seguinte pergunta, deseja procurar denovo ? Se sim, procure, se não, volte ao menu.
Pergunta
Head
Olá a todos! Primeira vez no tópico, e com pressa! Desculpem as ca**das.
Estou fazendo um projeto em c++, mais especificamente, um cadastro. De que? Produtos em geral... Nada muito complexo não.
O problema é que eu ainda não consegui arrumar as 2 ultimas funções que faltam pro projeto ficar bem feito. Quais são? Editar e Excluir cadastro.
Meu projeto é este :
Gostaria de ajuda, qualquer tipo de ajuda, pra fazer estas 2 funções, ai sim termino meu projetinho :)
Obrigado pela atenção ai, aguardo respostas!!
EDIT: Tava pensando ... Nas 2 funções terei que procurar o produto, certo? Portanto meio caminho andando, já tenho a função procurar.
Copio a função 'procurar' e colo pra fazer o inicio da função 'editar', quando esta achar o produto, ira fazer a seguinte pergunta... cout<<"Este é o produto que você deseja editar ? ai vem o resto que to com duvida... "digite sim se for, e não se não for" caso resposta seja sim entre em modo de edição (que eu n sei como fazer) caso resposta seja não, faça a seguinte pergunta, deseja procurar denovo ? Se sim, procure, se não, volte ao menu.
isso serve para função excluir também.
Alguma alma generosa da uma luz ?? Vlwwss XD
Editado por HeadLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.