zero00
(usa Debian)
Enviado em 18/11/2016 - 19:37h
// em C, C++
#include <locale.h>
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
using namespace std;
int aux;
int g=1, y, flag, w[99];
int sm, i, r, num;
int flagc, pide, yc;
int ge=1;
char dig10, dig11, cadcpf[11];
class compra{
char emp[20], prod[10], pag[10],cnpj[14];
int quant, ide, i;
public:
void cadastrarc();
void removerc();
void listarc();
void editarc();
};
compra c[99];
void compra::cadastrarc(){
i=0;
system("cls");
cout<<endl<<"DIGITE O NOME DA EMPRESA: "<<endl;
cin>>emp;
do{
w[g]=1;
int sm, i, r, num, mult;
char dig13, dig14;
cout<<"CNJP:"<<endl;
cin>>cnpj;
// calcula o 1o. digito verificador do CNPJ
sm = 0; mult = 2;
for (i=11; i>=0; i--) {
num = cnpj[i] - 48; // transforma o caracter '0' no inteiro 0
sm = sm + (num * mult); // (48 eh a posição de '0' na tabela ASCII)
mult = mult + 1;
if (mult == 10)
mult = 2;
}
r = sm % 11;
if ((r == 0) || (r == 1))
dig13 = '0';
else
dig13 = (11 - r) + 48;
// calcula o 2o. digito verificador do CNPJ
sm = 0; mult = 2;
for (i=12; i>=0; i--) {
num = cnpj[i] - 48;
sm = sm + (num * mult);
mult = mult + 1;
if (mult == 10)
mult = 2;
}
r = sm % 11;
if ((r == 0) || (r == 1))
dig14 = '0';
else
dig14 = (11 - r) + 48;
// compara os dígitos calculados com os dígitos informados
if ((dig13 == cnpj[12]) && (dig14 == cnpj[13])){
printf("---O CNPJ INFORMADO E VALIDO.---\n");
w[g]-=2;
}else{
printf("---O CNPJ INFORMADO E INVALIDO.---\n\n");
w[g]+=1;
}
}while(w[g]>=1);
cout<<endl<<"DIGITE O PRODUTO: "<<endl;
cin>>prod;
cout<<endl<<"DIGITE A QUANTIDADE EM UNIDADES: "<<endl;
cin>>quant;
cout<<"\nFORMA DE PAGAMENTO (A vista/prazo): A ";
cin>>pag;
ide=ge;
ge++;
cout<<endl<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl;
system("pause");
system("cls");
flagc = 1;
}
void compra::listarc()
{
if(ide==0)
{
system ("cls");
cout<<"Lista vazia"<<endl;
goto end;
system ("pause");
}else {
printf("Empresa: %s \n", emp);
printf("CNPJ: %s \n", cnpj);
printf("Produto: %s \n", prod);
printf("Quantidade: %d \n", quant);
printf("Pagamento: A %s \n", pag);
printf("ID: %d\n", ide);
printf ("_____________________________\n");
}
flagc = 1;
end:;
};
void compra::editarc(){
i=1;
if (ide==0){
system("cls");
cout<<"lista vazia"<<endl;
goto end;
}else{
system("cls");
printf("CNPJ: %s",cnpj);
cout<<endl<<"DIGITE O NOME DA EMPRESA: "<<endl;
cin>>emp;
cout<<endl<<"DIGITE O PRODUTO: "<<endl;
cin>>prod;
cout<<endl<<"DIGITE A QUANTIDADE EM UNIDADES: "<<endl;
cin>>quant;
cout<<"FORMA DE PAGAMENTO (A vista/prazo): A ";
cin>>pag;
}
cout<<endl<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl;
system("pause");
goto end;
system("cls");
flagc = 1;
end:;
}
void compra::removerc()
{
emp[0]=0;
cnpj[0]=0;
prod[0]=0;
pag[0]=0;
quant=0;
ide=0;
i=0;
};
class pessoa
{
char nome [50], valor[10], cpf[11], cpf1[11];
int tel, idade, id;// np;
public:
void cadastrar();
void remover();
void listar();
void editar();
void pesquisar();
};
pessoa p[99];
void pessoa::cadastrar()
{
int i=1;
system("cls");
cout<<"DIGITE O NOME DA PESSOA PARA CADASTRO: "<<endl;
cin>>nome;
cout<<endl<<"DIGITE A IDADE: "<<endl;
cin>>idade;
cout<<endl<<"DIGITE A PROFISSAO DESTE: "<<endl;
cin>>valor;
do{
w[g]=0;
cpf[11]=cpf1[11];
cout<<endl<<"INFORME O CPF:\n "<<endl;
cin>>cpf;
for (i=0; i<9; i++) {
num = cpf[i] - 48;
sm = sm + (num * (10 - i));
}
r = 11 - (sm % 11);
if ((r == 10) || (r == 11))
dig10 = '0';
else
dig10 = r + 48;
sm = 0;
for (i=0; i<10; i++) {
num = cpf[i] - 48;
sm = sm + (num * (11 - i));
}
r = 11 - (sm % 11);
if ((r == 10) || (r == 11))
dig11 = '0';
else
dig11 = r + 48;
if ((dig10 == cpf[9]) && (dig11 == cpf[10])){
printf("\n ---CPF VALIDO---\n");
w[g]-=2;
}else{
printf("\n ---CPF INVALIDO---\n");
w[g]+=1;
}
}while(w[g]>=1);
do{
cout<<endl<<"DIGITE O CODIGO DE AREA E O NUMERO DO TELEFONE: "<<endl;
cin>>tel;
if((tel < 100000000) || (tel > 9999999990)){
cout<<"\nNUMERO INVALIDO!";
}
}while(tel < 100000000 || tel > 9999999990);
{
printf("\n\nAPERTE QUALQUER TECLA PARA VOLTAR AO MENU\n");
}
id=g;
g++;
cpf1[11]=cpf[11];
system("cls");
};
void pessoa::listar()
{
if(id==0)
{
system ("cls");
cout<<"Lista vazia"<<endl;
goto end;
system ("pause");
}else {
printf("Nome: %s \n", nome);
printf("Idade: %d anos\n", idade);
printf("Profissao: %s\n", valor);
printf("Telefone: %d \n", tel);
printf("CPF: %s \n", cpf);
printf("ID: %d\n", id);
printf ("_____________________________\n");
}
end:;
};
void pessoa::remover()
{
strcpy(nome,"");
idade=0;
valor[0]=0;
tel=0;
cpf[0]=0;
id=0;
g=1;
};
void pessoa::pesquisar()
{
if (id!=y)
{
flag = 0;
}else {
printf("Nome: %s \n", nome);
printf("Idade: %d anos\n", idade);
printf("Profissao: %s\n", valor);
printf("Telefone: %d \n", tel);
printf("CPF: %s \n", cpf);
printf("ID: %d\n", id);
printf ("_____________________________\n");
flag = 1;
}
}
void pessoa::editar(){
if (id!=y)
flag=0;
else {
flag=1;
cout<<endl<<"DIGITE O NOME DA PESSOA PARA CADASTRO: "<<endl;
cin>>nome;
cout<<endl<<"DIGITE A IDADE: "<<endl;
cin>>idade;
cout<<endl<<"DIGITE A PROFISSAO DESTE: "<<endl;
cin>>valor;
do{
cout<<endl<<"DIGITE O CODIGO DE AREA E O NUMERO DO TELEFONE: "<<endl;
cin>>tel;
if((tel < 100000000) || (tel > 9999999990)){
cout<<"\nNUMERO INVALIDO!";
}
}while(tel < 100000000 || tel > 9999999990);
{
printf("\n\nAPERTE QUALQUER TECLA PARA VOLTAR AO MENU\n");
}
printf ("ID: [%d]",id);
}
}
int main (void){
int operacao;
int r=0, re;
int x=0,i=0,m=0, z=0, n=0;
int resp2,resp3,resp4;
menu:
system ("cls");
cout<<endl<<"-----CADASTRO DE PESSOAS-----"<<endl;
cout<<"[1] CADASTRAR "<<endl;
cout<<"[2] LISTAR "<<endl;
cout<<"[3] EDITAR "<<endl;
cout<<"[4] BUSCAR "<<endl;
cout<<endl<<endl<<endl<<"-----CADASTRO DE COMPRAS-----"<<endl;
cout<<"[5] CADASTRAR "<<endl;
cout<<"[6] LISTAR"<<endl;
cout<<"[7] EDITAR"<<endl;
cout<<"[8] BUSCAR"<<endl<<endl<<endl;
cout<<"------------------------";
cout<<endl<<"[9] RESETAR"<<endl;
cout<<"[0] SAIR"<<endl;
cout<<endl<<"SELECIONE UMA DAS OPCOES: ";
scanf ("%d",&resp2);
//CADASTRAR
switch(resp2){
case 1: {
x=m;
do{
system ("cls");
p[x].cadastrar();
x++;
cout<<endl<<"Deseja continuar cadastrando?"<<endl<<"SIM [1]"<<endl<<"NAO [0]"<<endl<<"Resposta: ";
cin>>r;
cout<<endl;
}while (r!=0);
m=x;
//lISTAGEM OBRIGATÓRIA::
system ("cls");
cout<<"----- LISTA -----"<<endl;
for(i=0; i<m; i++)
{
p[i].listar();
}
cout<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl<<endl<<endl<<endl<<endl;
system ("pause");
goto menu;
break;
}
//LISTAR
case 2: {
system ("cls");
cout<<"----- LISTA -----"<<endl<<endl<<endl;
for(i=0; i<x; i++)
{
p[i].listar();
}
cout<<"PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl<<endl<<endl<<endl;
system ("pause");
goto menu;
break;
}
//CADASTRAR COMPRA
case 5: {
z=n;
do{
system ("cls");
c[z].cadastrarc();
z++;
cout<<endl<<"Deseja cadastrar outra compra?"<<endl<<"SIM [1]"<<endl<<"NAO [0]"<<endl<<"Resposta: ";
cin>>re;
cout<<endl;
}while (re!=0);
n=z;
//lISTAGEM OBRIGATÓRIA::
system ("cls");
cout<<"----- LISTA DE COMPRAS -----"<<endl;
for(i=0;i<n;i++)
{
c[i].listarc();
}
cout<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl<<endl<<endl<<endl<<endl;
system ("pause");
goto menu;
break;
}
case 6: {
//LISTAR COMPRA
system ("cls");
cout<<"----- LISTA COMPRA -----"<<endl<<endl<<endl;
for(i=0;i<z;i++)
{
c[i].listarc();
}
cout<<"PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl<<endl<<endl<<endl;
system ("pause");
goto menu;
break;
}
case 7:{
//EDITAR COMPRA
system("cls");
pesquisarIDE:
cout<<"DIGITE O ID QUE DESEJA ALTERAR"<<endl;
cin>>yc;
c[yc-1].editarc();
if (flagc<=0,flagc>=yc){
system ("cls");
cout<<endl<<"ID NAO ENCONTRADO"<<endl;
cout<<"PRESSIONE QUALQUER TECLA PARA VOLTAR"<<endl<<endl<<endl<<endl;
system ("pause");
goto pesquisarIDE;
} else {
system ("cls");
cout<<"----- LISTA -----"<<endl;
for(i=0;i<z;i++)
{
c[y-1].listarc();
cout<<"PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl;
system ("pause");
goto menu;
}
}
break;
}
//BUSCAR compra
case 8:{
system ("cls");
cout<<"DIGITE O ID QUE DESEJA BUSCAR: "<<endl;
cin>>yc;
c[yc-1].listarc();
if (flagc == 0){
system ("cls");
cout<<"ID NAO ENCONTRADO"<<endl;
cout<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl;
system ("pause");
goto menu;
}else{
}
cout<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl;
system ("pause");
goto menu;
break;
}
//EDITAR
case 3:{
system ("cls");
pesquisarID:
cout<<"DIGITE O ID QUE DESEJA ALTERAR: "<<endl;
cin>>y;
p[y-1].editar();
if (flag == 0){
system ("cls");
cout<<endl<<"ID NAO ENCONTRADO"<<endl;
cout<<"PRECIONE QUALQUER TECLA PARA VOLTAR"<<endl<<endl<<endl<<endl;
system ("pause");
goto pesquisarID;
}
else {
system ("cls");
cout<<"----- LISTA -----"<<endl;
for(i=0;i<x;i++){
p[y-1].listar();
cout<<"PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl;
system ("pause");
goto menu;
}
}
}
//BUSCAR
case 4:{
system ("cls");
cout<<"DIGITE O ID QUE DESEJA BUSCAR: "<<endl;
cin>>y;
p[y-1].pesquisar();
if (flag == 0){
system ("cls");
cout<<"ID NAO ENCONTRADO"<<endl;
cout<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl;
system ("pause");
goto menu;
}else{
}
cout<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl;
system ("pause");
goto menu;
break;
}
//REMOVER
case 9:{
reset:
system ("cls");
cout<<"CONFIRMA O RESET DO PROGRAMA"<<endl<<"SIM [1]"<<endl<<"NAO [2]"<<endl<<" "<<endl;
cin>>resp3;
if (resp3 == 1){
system ("cls");
cout<<endl<<"REGISTROS EXCLUIDOS COM SUCESSO!"<<endl<<endl;
if(x>z){
for(i=0;i<x;i++){
p[i].remover();
c[i].removerc();
}
}else{ for(i=0;i<z;i++){
p[i].remover();
c[i].removerc();
}
}
cout<<endl<<endl<<"APERTE QUALQUER TECLA PARA VOLTAR AO MENU"<<endl<<endl<<endl<<endl<<endl<<endl;
system ("pause");
system ("cls");
goto menu;
}
if(resp3 == 2) {
goto menu;
}else{
system("cls");
cout<<endl<<"OPERACAO INVALIDA"<<endl;
system ("pause");
goto reset;
}
break;
}
//SAIR
case 0:{
system ("pause");
return (0);
break;
}
default:
cout<<endl<<"OPERACAO INVALIDA"<<endl;
system ("pause");
system ("cls");
goto menu;
}
}