Ir para conteúdo
Fórum Script Brasil
  • 0

Não Executa - Urgente


Luiz Felipe Gomes

Pergunta

Eu estava fazendo um código para um PFA da escola e me deparei com o programa não executando, ele compila sem nenhum erro, mas quando tento executar ele trava e o Windows notifica que o mesmo parou de funcionar, não sei se o problema esta no mu computador ou no código preciso disso o mais rápido possível, o trabalho é pra ser entregue amanha, segue em anexo o código:

#include <iostream>
#include <iomanip>

using namespace std;

struct cliente {
    string nome;
    string telefone;
    int limite;
    int ncadastro;
    double saldo;
    string senha;
};

struct data {
    int dia;
    int mes;
    int ano;
};

struct produto {
    string nome;
    string tip;
    int cod;
    double preço;
    int qestoque;
};

struct venda {
    data daata[100];
    string proc[10];
    cliente vcli;
    double vetotal;
    int nvenda;
    string formap;
};
venda vend[100];
cliente cli[100];
produto cardapio[26];
double auxvenda[10], totalv, y, auxlimite, limite, auxtroco,troco,lucro,auxlucro[100],lucrototal,gastos;
int opc,j,codi,qua,x,i,v,w,cp,qp,confi,b,s,opcs,c;
string rvenda,fpagamento,scli,auxprod[10],desejo,pcad;
data dat [100];
int main(){
    opcs=2;
    codi=-1;
    i=0;
    lucro=0;
    cardapio[0].nome="X-Salada";
    cardapio[0].tip="Lanche";
    cardapio[0].cod=1;
    cardapio[0].preço=5.10;
    cardapio[0].qestoque=10;

    cardapio[1].nome="Bauru";
    cardapio[1].tip="Salgado";
    cardapio[1].cod=2;
    cardapio[1].preço=3.30;
    cardapio[1].qestoque=10;

    cardapio[2].nome="X-egg";
    cardapio[2].tip="Lanche";
    cardapio[2].cod=3;
    cardapio[2].preço=5.85;
    cardapio[2].qestoque=10;

    cardapio[3].nome="Misto Quente";
    cardapio[3].tip="Lanche";
    cardapio[3].cod=4;
    cardapio[3].preço=3.00;
    cardapio[3].qestoque=10;

    cardapio[4].nome="Mini Pizza";
    cardapio[4].tip="Salgado";
    cardapio[4].cod=5;
    cardapio[4].preço=3.50;
    cardapio[4].qestoque=10;

    cardapio[5].nome="Salgado Frito";
    cardapio[5].tip="Salgado";
    cardapio[5].cod=6;
    cardapio[5].preço=3.00;
    cardapio[5].qestoque=10;

    cardapio[6].nome="Esfirra Assado";
    cardapio[6].tip="Salgado";
    cardapio[6].cod=7;
    cardapio[6].preço=3.00;
    cardapio[6].qestoque=10;

    cardapio[7].nome="Pão de queijo";
    cardapio[7].tip="Salgado";
    cardapio[7].cod=8;
    cardapio[7].preço=1.70;
    cardapio[7].qestoque=10;

    cardapio[8].nome="Café c/leite Grande";
    cardapio[8].tip="Bebida";
    cardapio[8].cod=9;
    cardapio[8].preço=2.40;
    cardapio[8].qestoque=10;

    cardapio[9].nome="Café c/leite Pequeno";
    cardapio[9].tip="Bebida";
    cardapio[9].cod=10;
    cardapio[9].preço=1.50;
    cardapio[9].qestoque=10;

    cardapio[10].nome="Café Grande";
    cardapio[10].tip="Bebida";
    cardapio[10].cod=11;
    cardapio[10].preço=2.10;
    cardapio[10].qestoque=10;

    cardapio[11].nome="Café Pequeno";
    cardapio[11].tip="Bebida";
    cardapio[11].cod=12;
    cardapio[11].preço=1.25;
    cardapio[11].qestoque=10;

    cardapio[12].nome="Refrigerante";
    cardapio[12].tip="Bebida";
    cardapio[12].cod=13;
    cardapio[12].preço=3.50;
    cardapio[12].qestoque=10;

    cardapio[13].nome="Agua c/s gas";
    cardapio[13].tip="Bebida";
    cardapio[13].cod=14;
    cardapio[13].preço=2.10;
    cardapio[13].qestoque=10;

    cardapio[14].nome="Suco polpa";
    cardapio[14].tip="Bebida";
    cardapio[14].cod=15;
    cardapio[14].preço=3.25;
    cardapio[14].qestoque=10;

    cardapio[15].nome="Agua de Coco";
    cardapio[15].tip="Bebida";
    cardapio[15].cod=16;
    cardapio[15].preço=2.50;
    cardapio[15].qestoque=10;

    cardapio[16].nome="Vitamina";
    cardapio[16].tip="Bebida";
    cardapio[16].cod=17;
    cardapio[16].preço=3.50;
    cardapio[16].qestoque=10;

    cardapio[17].nome="Bolo";
    cardapio[17].tip="Doçe";
    cardapio[17].cod=18;
    cardapio[17].preço=2.50;
    cardapio[17].qestoque=10;

    cardapio[18].nome="Brigadeiro";
    cardapio[18].tip="Doçe";
    cardapio[18].cod=19;
    cardapio[18].preço=1.00;
    cardapio[18].qestoque=10;

    cardapio[19].nome="Brigadeiro c/ Confete";
    cardapio[19].tip="Doçe";
    cardapio[19].cod=20;
    cardapio[19].preço=1.50;
    cardapio[19].qestoque=10;

    cardapio[20].nome="Hamburgão";
    cardapio[20].tip="Salgado";
    cardapio[20].cod=21;
    cardapio[20].preço=4.50;
    cardapio[20].qestoque=10;

    cardapio[21].nome="Empadinha";
    cardapio[21].tip="Salgado";
    cardapio[21].cod=22;
    cardapio[21].preço=4.00;
    cardapio[21].qestoque=10;

    cardapio[22].nome="Saduiche Natural";
    cardapio[22].tip="Lanche";
    cardapio[22].cod=23;
    cardapio[22].preço=4.00;
    cardapio[22].qestoque=10;

    cardapio[23].nome="Cup Cake";
    cardapio[23].tip="Doçe";
    cardapio[23].cod=24;
    cardapio[23].preço=4.00;
    cardapio[23].qestoque=10;

    cardapio[24].nome="X-Frango";
    cardapio[24].tip="Lanche";
    cardapio[24].cod=25;
    cardapio[24].preço=8.00;
    cardapio[24].qestoque=10;

    cardapio[25].nome="Agua c/ Sabor";
    cardapio[25].tip="Bebida";
    cardapio[25].cod=26;
    cardapio[25].preço=4.00;
    cardapio[25].qestoque=10;
    for(w=0;w<100;w++){
        for(j=0;j<10;j++){
            vend[w].proc[j]="Vazio";
                         }
                    }
    for(w=0;w<100;w++){
        vend[w].nvenda=-1;
    }
    for(w=0;w<100;w++){
        auxlucro[w]=0;
    }
    do{
        totalv=0;
        for(w=0;w<100;w++){
            auxvenda[w]=0;
            }
        for(w=0;w<100;w++){
            auxprod[w]="Vazio";
            }
        cout<<"-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl<<"                 - ►<Bem vindo a Cantina>◄ -"<<endl<<"====> 1-> Cadastrar novo cliente <-"<<endl<<endl<<"====> 2-> Acresentar produto(s) ao Estoque <-"<<endl<<endl<<"====> 3-> Aumentar Saldo <-"<<endl<<endl<<"====> 4-> Fazer uma venda <-"<<endl<<endl<<"====> 5-> Editar limite <-"<<endl<<endl<<"====> 6-> Registro de Contas & Calculo de Gastos<-"<<endl<<endl<<"====> 7-> Encerar o Programa <-"<<endl;
        for(j=0;j<26;j++){
                if(cardapio[j].qestoque==0){
                        cout<<endl<<"                 ▲Aviso▲ "<<endl<<"                 O quantidade do produto: "<<cardapio[j].nome<<" chegou a 0"<<endl<<"                 e não sera mais mostrado no cardapio"<<endl<<"                 até que sua quantidade seja acima de 0"<<endl<<endl<<"-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl;
                }
            }
        cout<<"-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl<<"====> Digite o numero da opção desejada: ";
        cin>>opc;
        cout<<"-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl;
        if(opc==1){
        cout<<"Nome: ";
        cin>>cli.nome;
        cout<<"Telefone: ";
        cin>>cli.telefone;
        cout<<"Senha(4 Digitos): ";
        cin>>cli.senha;
        cout<<"Limite do Cliente: ";
        cin>>cli.limite;
        cli.ncadastro=i+1;
        cout<<"Cliente registrado com sucesso!"<<endl<<"Seu numero de Cadastro é: '"<<cli.ncadastro<<"' guardeo pois sera necessario na hora de fazer uma compra"<<endl;
        i++;
        }

        else if(opc==2){
            cout<<"Cod-Nome-Quantidade-Preço-Tipo"<<endl;
            for(j=0;j<26;j++){
                if(cardapio[j].qestoque>>0){
                    cout << std::fixed;
                    cout<<cardapio[j].cod<<"-"<<cardapio[j].nome<<" - "<<cardapio[j].qestoque<<" - "<<std::setprecision(2)<<cardapio[j].preço<<" RS"<<" - "<<cardapio[j].tip<<endl;
                }
            }
            cout<<"Digite o codigo do produto (Se deseja cancelar digite '0'): ";
            cin>>codi;
            if(codi!=0){
                cout<<"Digite a quantidade a acresentar: ";
                cin>>qua;
                cardapio[codi-1].qestoque=cardapio[codi-1].qestoque+qua;
            }
        }

        else if(opc==3){
            cout<<"Digite o numero do cadastro (Se deseja cancelar digite '0'): ";
            cin>>x;
            if(x!=0){
                cout<<cli[x-1].nome<<":"<<endl<<"Digite o valor que seja acresentar ao Saldo: ";
                cin>>y;
                cli[x-1].saldo= cli[x-1].saldo+y;
                cout<<"Valor adicionado com sucesso!"<<endl;
            }
            else{
                cout<<"- Cancelado -"<<endl;
            }
        }

        else if(opc==4){
            v=0;
            cout<<"Insira a data (Dia mes ano): ";
            cin>>dat[v].dia>>dat[v].mes>>dat[v].ano;
            cout<<"Você é cadastrado (Sim/Não)?";
            cin>>pcad;
            if(pcad=="Sim"||pcad=="sim"){
                        do{
                        cout<<"Digite o numero de cadastro do cliente: ";
                        cin>>x;
                        cout<<"Cliente: "<<cli[x-1].nome<<endl<<"Senha: ";
                        cin>>scli;
                                    cout<<x<<cli[x-1].nome<<scli<<cli[x-1].senha;
            }while(scli!=cli[x-1].senha);
            do{
                cout<<"Cardapio: "<<endl<<"Cod-Nome-Quantidade-Preço"<<endl;
                for(j=0;j<26;j++){
                    if(cardapio[j].qestoque>>0){
                        cout << std::fixed;
                        cout<<cardapio[j].cod<<"-"<<cardapio[j].nome<<" - "<<cardapio[j].qestoque<<" - "<<std::setprecision(2)<<cardapio[j].preço<<" RS"<<" - "<<cardapio[j].tip<<endl;
                    }
                                }
                cout<<"Codigo do produto: ";
                cin>>cp;
                cout<<"Quantidade de "<<cardapio[cp-1].nome;
                cin>>qp;
                if(cardapio[cp-1].qestoque>=qp){
                    auxvenda[c]=cardapio[cp-1].preço*qp;
                    auxprod[c]=cardapio[cp-1].nome;
                    cout<<"Se deseja finalizar, digite 'sair'";
                    cin>>rvenda;
                    cardapio[cp-1].qestoque=cardapio[cp-1].qestoque-qp;
                    c++;
                }
                else{
                    cout<<"Quatidade do produto insuficiente no estoque"<<endl;
                }
            }while(rvenda!="sair");

            for(w=0;w<100;w++){
                totalv=totalv+auxvenda[w];
            }
            cout << std::fixed;
            cout<<"Total da Venda: "<<std::setprecision(2)<<totalv<<"RS"<<endl<<"Qual sera a forma de pagamento ?(Saldo/Dinheiro)";
            cin>>fpagamento;

            if(fpagamento=="Saldo"){
                auxlimite= totalv-cli[x-1].limite;
                if(totalv<=cli[x-1].saldo){
                    cli[x-1].saldo= cli[x-1].saldo-totalv;
                    cout << std::fixed;
                    cout<<"Compra finalizada"<<endl<<"Valor: "<<std::setprecision(2)<<totalv<<" RS"<<endl;
                    cout<<"Seu novo saldo é de: "<<std::setprecision(2)<<cli[x-1].saldo<<" RS"<<endl;
                }
                else if(auxlimite<=0){
                    cli[x-1].limite= cli[x-1].limite-totalv;
                    cout<<"Você comprou com seu limite, esta devendo "<<auxlimite*-1<<" RS, para quitar a divida basta adicionar o valor ao saldo"<<endl;
                }
                    else if(auxlimite>=limite){
                        cout<<"▲ Limite insuficien te para se efetuar a compra ▲"<<endl;
                    }
                }
                else if(fpagamento=="Dinheiro"){
                    do{
                    cout<<"Dinheiro entregue pelo cliente: ";
                    cin>>auxtroco;
                    if(auxtroco>=totalv){
                        troco=auxtroco-totalv;
                        cout << std::fixed;
                        cout<<"Troco a ser entregue para: "<<cli[x-1].nome<<" = "<<std::setprecision(2)<<troco<<endl;
                        cout<<"Compra finalizada"<<endl<<"Valor: "<<std::setprecision(2)<<totalv<<"RS"<<endl;
                        b=0;
                        if(troco==0){
                            cli[x-1].saldo=cli[x-1].saldo+0.10;
                        }
                                        }
                    else{
                        cout<<"Dineheiro entregue insuficiente, Tente novamente"<<endl;
                        b=1;
                        }
                    }while(b!=0);
                                               }
            }
            else if(pcad=="Não"||pcad=="não"){
                do{
                cout<<"Cardapio: "<<endl<<"Cod-Nome-Quantidade-Preço"<<endl;
                for(j=0;j<26;j++){
                    if(cardapio[j].qestoque>>0){
                        cout << std::fixed;
                        cout<<cardapio[j].cod<<"-"<<cardapio[j].nome<<" - "<<cardapio[j].qestoque<<" - "<<std::setprecision(2)<<cardapio[j].preço<<" RS"<<" - "<<cardapio[j].tip<<endl;
                    }
                                }
                cout<<"Codigo do produto: ";
                cin>>cp;
                cout<<"Quantidade de "<<cardapio[cp-1].nome;
                cin>>qp;
                if(cardapio[cp-1].qestoque>=qp){
                    auxvenda[c]=cardapio[cp-1].preço*qp;
                    cout<<"Se deseja finalizar, digite 'sair'";
                    cin>>rvenda;
                    cardapio[cp-1].qestoque=cardapio[cp-1].qestoque-qp;
                    c++;
                }
                else{
                    cout<<"Quatidade do produto insuficiente no estoque"<<endl;
                }
            }while(rvenda!="sair");
            for(w=0;w<100;w++){
                totalv=totalv+auxvenda[w];
            }
            cout << std::fixed;
            cout<<"Total da Venda: "<<std::setprecision(2)<<totalv<<"RS"<<endl;
             do{
                    cout<<"Dinheiro entregue pelo cliente: ";
                    cin>>auxtroco;
                    if(auxtroco>=totalv){
                        troco=auxtroco-totalv;
                        cout << std::fixed;
                        cout<<"Troco a ser entregue para: "<<cli[x-1].nome<<" = "<<std::setprecision(2)<<troco<<endl;
                        cout<<"Compra finalizada"<<endl<<"Valor: "<<std::setprecision(2)<<totalv<<"RS"<<endl;
                        b=0;
                        if(troco==0){
                            cli[x-1].saldo=cli[x-1].saldo+0.10;
                        }
                                        }
                    else{
                        cout<<"Dineheiro entregue insuficiente, Tente novamente"<<endl;
                        b=1;
                        }
                    }while(b!=0);
            }//não registrado

                    vend[v].vcli=cli[x-1];
                    vend[v].daata[v]=dat[v];
                    vend[v].vetotal=totalv;
                    vend[v].nvenda=v;
                    vend[v].formap=fpagamento;
                    for(w=0;w<10;w++){
                        if(auxprod[w]!="Vazio"){
                          vend[v].proc[w]=auxprod[w];
                                                }
                    }
                    v++;

        }//if (venda)
        else if(opc==5){
            cout<<"Digite o numero do cadastro(Para cancelar digite '0'): ";
            cin>>x;
            if(x!=0){
                cout<<cli[x-1].nome<<":"<<endl<<"Limite anterior: "<<cli[x-1].limite<<endl<<"Digite o novo limite: ";
                cin>>y;
                cli[x-1].limite=y;
                cout<<"Valor editado com sucesso!"<<endl;
                    }
                        }
        else if(opc==6){
            cout<<"Registros de Vendas: "<<endl;
            for(j=0;j<100;j++){
                if(vend[j].nvenda!=-1){
                cout<<"Numero Da Venda: "<<vend[j].nvenda<<endl<<"Nome: "<<vend[j].vcli.nome<<endl<<"Forma de Pagamento: "<<endl<<"Data: "<<vend[j].daata[j].dia<<"/"<<vend[j].daata[j].mes<<"/"<<vend[j].daata[j].ano<<endl<<"Total da Venda"<<vend[j].vetotal;
                 for(w=0;w<10;w++){
                        if(vend[j].proc[w]!="Vazio"){
                          cout<<"Produto: "<<vend[j].proc[w];
                                                    }
                    }
            auxlucro[j]=vend[j].vetotal;
            }
            }
            for(w=0;w<100;w++){
                lucro=lucro+auxlucro[w];
            }
            cout<<"É de seu desejo que seja calculado o lucro da cantina até agora(Sim/Não) ?";
            cin>>desejo;
            if(desejo=="Sim"||desejo=="sim"){
                cout<<"Para que possa calcular o lucro, insira abaixo as despezas totais até o momento: ";
                cin>>gastos;
                lucrototal=lucro-gastos;
                cout<<"Até o presente momento o lucro conciste em "<<lucrototal<<"RS"<<endl;
            }
            else if(desejo=="Não"||desejo=="não"){
                cout<<"Compreendo, caso mude idéia basta voltar para a opção '6'...";
            }
        }
        else if(opc!=1&&opc!=2&&opc!=3&&opc!=4&&opc!=5&&opc!=6&&opc!=7){
          cout<<"- Opção invalida :( -"<<endl;
        }
    }while(opc!=7);
    cout<<"Encerrando. . . "<<endl<<"Obrigado por usar, volte sempre"<<endl<<"Programa encerado";
    return 0;
}//int main()
 

 

OBS: Eu já desativei o Windows defender e o Firewall, não utilizo de antvirus ou semelhantes.

Windows: 8

Programa: Codeblocks

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá @Luiz Felipe Gomes  Identei seu código usando esse site:

https://www.tutorialspoint.com/online_c_formatter.htm

E ficou assim:

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

struct cliente {
    string nome;
    string telefone;
    int limite;
    int ncadastro;
    double saldo;
    string senha;
};

struct data {
    int dia;
    int mes;
    int ano;
};

struct produto {
    string nome;
    string tip;
    int cod;
    double preço;
    int qestoque;
};

struct venda {
    data daata[100];
    string proc[10];
    cliente vcli;
    double vetotal;
    int nvenda;
    string formap;
};
venda vend[100];
cliente cli[100];
produto cardapio[26];
double auxvenda[10], totalv, y, auxlimite, limite, auxtroco,troco,lucro,auxlucro[100],lucrototal,gastos;
int opc,j,codi,qua,x,i,v,w,cp,qp,confi,b,s,opcs,c;
string rvenda,fpagamento,scli,auxprod[10],desejo,pcad;
data dat [100];
int main() {
    opcs=2;
    codi=-1;
    i=0;
    lucro=0;
    cardapio[0].nome="X-Salada";
    cardapio[0].tip="Lanche";
    cardapio[0].cod=1;
    cardapio[0].preço=5.10;
    cardapio[0].qestoque=10;

    cardapio[1].nome="Bauru";
    cardapio[1].tip="Salgado";
    cardapio[1].cod=2;
    cardapio[1].preço=3.30;
    cardapio[1].qestoque=10;

    cardapio[2].nome="X-egg";
    cardapio[2].tip="Lanche";
    cardapio[2].cod=3;
    cardapio[2].preço=5.85;
    cardapio[2].qestoque=10;

    cardapio[3].nome="Misto Quente";
    cardapio[3].tip="Lanche";
    cardapio[3].cod=4;
    cardapio[3].preço=3.00;
    cardapio[3].qestoque=10;

    cardapio[4].nome="Mini Pizza";
    cardapio[4].tip="Salgado";
    cardapio[4].cod=5;
    cardapio[4].preço=3.50;
    cardapio[4].qestoque=10;

    cardapio[5].nome="Salgado Frito";
    cardapio[5].tip="Salgado";
    cardapio[5].cod=6;
    cardapio[5].preço=3.00;
    cardapio[5].qestoque=10;

    cardapio[6].nome="Esfirra Assado";
    cardapio[6].tip="Salgado";
    cardapio[6].cod=7;
    cardapio[6].preço=3.00;
    cardapio[6].qestoque=10;

    cardapio[7].nome="Pão de queijo";
    cardapio[7].tip="Salgado";
    cardapio[7].cod=8;
    cardapio[7].preço=1.70;
    cardapio[7].qestoque=10;

    cardapio[8].nome="Café c/leite Grande";
    cardapio[8].tip="Bebida";
    cardapio[8].cod=9;
    cardapio[8].preço=2.40;
    cardapio[8].qestoque=10;

    cardapio[9].nome="Café c/leite Pequeno";
    cardapio[9].tip="Bebida";
    cardapio[9].cod=10;
    cardapio[9].preço=1.50;
    cardapio[9].qestoque=10;

    cardapio[10].nome="Café Grande";
    cardapio[10].tip="Bebida";
    cardapio[10].cod=11;
    cardapio[10].preço=2.10;
    cardapio[10].qestoque=10;

    cardapio[11].nome="Café Pequeno";
    cardapio[11].tip="Bebida";
    cardapio[11].cod=12;
    cardapio[11].preço=1.25;
    cardapio[11].qestoque=10;

    cardapio[12].nome="Refrigerante";
    cardapio[12].tip="Bebida";
    cardapio[12].cod=13;
    cardapio[12].preço=3.50;
    cardapio[12].qestoque=10;

    cardapio[13].nome="Agua c/s gas";
    cardapio[13].tip="Bebida";
    cardapio[13].cod=14;
    cardapio[13].preço=2.10;
    cardapio[13].qestoque=10;

    cardapio[14].nome="Suco polpa";
    cardapio[14].tip="Bebida";
    cardapio[14].cod=15;
    cardapio[14].preço=3.25;
    cardapio[14].qestoque=10;

    cardapio[15].nome="Agua de Coco";
    cardapio[15].tip="Bebida";
    cardapio[15].cod=16;
    cardapio[15].preço=2.50;
    cardapio[15].qestoque=10;

    cardapio[16].nome="Vitamina";
    cardapio[16].tip="Bebida";
    cardapio[16].cod=17;
    cardapio[16].preço=3.50;
    cardapio[16].qestoque=10;

    cardapio[17].nome="Bolo";
    cardapio[17].tip="Doçe";
    cardapio[17].cod=18;
    cardapio[17].preço=2.50;
    cardapio[17].qestoque=10;

    cardapio[18].nome="Brigadeiro";
    cardapio[18].tip="Doçe";
    cardapio[18].cod=19;
    cardapio[18].preço=1.00;
    cardapio[18].qestoque=10;

    cardapio[19].nome="Brigadeiro c/ Confete";
    cardapio[19].tip="Doçe";
    cardapio[19].cod=20;
    cardapio[19].preço=1.50;
    cardapio[19].qestoque=10;

    cardapio[20].nome="Hamburgão";
    cardapio[20].tip="Salgado";
    cardapio[20].cod=21;
    cardapio[20].preço=4.50;
    cardapio[20].qestoque=10;

    cardapio[21].nome="Empadinha";
    cardapio[21].tip="Salgado";
    cardapio[21].cod=22;
    cardapio[21].preço=4.00;
    cardapio[21].qestoque=10;

    cardapio[22].nome="Saduiche Natural";
    cardapio[22].tip="Lanche";
    cardapio[22].cod=23;
    cardapio[22].preço=4.00;
    cardapio[22].qestoque=10;

    cardapio[23].nome="Cup Cake";
    cardapio[23].tip="Doçe";
    cardapio[23].cod=24;
    cardapio[23].preço=4.00;
    cardapio[23].qestoque=10;

    cardapio[24].nome="X-Frango";
    cardapio[24].tip="Lanche";
    cardapio[24].cod=25;
    cardapio[24].preço=8.00;
    cardapio[24].qestoque=10;

    cardapio[25].nome="Agua c/ Sabor";
    cardapio[25].tip="Bebida";
    cardapio[25].cod=26;
    cardapio[25].preço=4.00;
    cardapio[25].qestoque=10;
    for(w=0; w<100; w++) {
        for(j=0; j<10; j++) {
            vend[w].proc[j]="Vazio";
        }
    }
    for(w=0; w<100; w++) {
        vend[w].nvenda=-1;
    }
    for(w=0; w<100; w++) {
        auxlucro[w]=0;
    }
    do {
        totalv=0;
        for(w=0; w<100; w++) {
            auxvenda[w]=0;
        }
        for(w=0; w<100; w++) {
            auxprod[w]="Vazio";
        }
        cout<<"-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl<<"                 - ►<Bem vindo a Cantina>◄ -"<<endl<<"====> 1-> Cadastrar novo cliente <-"<<endl<<endl<<"====> 2-> Acresentar produto(s) ao Estoque <-"<<endl<<endl<<"====> 3-> Aumentar Saldo <-"<<endl<<endl<<"====> 4-> Fazer uma venda <-"<<endl<<endl<<"====> 5-> Editar limite <-"<<endl<<endl<<"====> 6-> Registro de Contas & Calculo de Gastos<-"<<endl<<endl<<"====> 7-> Encerar o Programa <-"<<endl;
        for(j=0; j<26; j++) {
            if(cardapio[j].qestoque==0) {
                cout<<endl<<"                 ▲Aviso▲ "<<endl<<"                 O quantidade do produto: "<<cardapio[j].nome<<" chegou a 0"<<endl<<"                 e não sera mais mostrado no cardapio"<<endl<<"                 até que sua quantidade seja acima de 0"<<endl<<endl<<"-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl;
            }
        }
        cout<<"-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl<<"====> Digite o numero da opção desejada: ";
        cin>>opc;
        cout<<"-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl;
        if(opc==1) {
            cout<<"Nome: ";
            getline(cin, cli[i].nome); // ***** AQUI TERIA QUE AJUSTAR OS ÍNDICES E PARA LER UMA STRING EM C++ É O GETLINE
            cout<<"Telefone: ";
            getline(cin, cli[i].telefone);
            cout<<"Senha(4 Digitos): ";
            getline(cin, cli[i].senha);
            cout<<"Limite do Cliente: ";
            cin>>cli[i].limite;
            cli[i].ncadastro=i+1;
            cout<<"Cliente registrado com sucesso!"<<endl<<"Seu numero de Cadastro é: '"<<cli[i].ncadastro<<"' guardeo pois sera necessario na hora de fazer uma compra"<<endl;
            i++;
        }

        else if(opc==2) {
            cout<<"Cod-Nome-Quantidade-Preço-Tipo"<<endl;
            for(j=0; j<26; j++) {
                if(cardapio[j].qestoque>>0) {
                    cout << std::fixed;
                    cout<<cardapio[j].cod<<"-"<<cardapio[j].nome<<" - "<<cardapio[j].qestoque<<" - "<<std::setprecision(2)<<cardapio[j].preço<<" RS"<<" - "<<cardapio[j].tip<<endl;
                }
            }
            cout<<"Digite o codigo do produto (Se deseja cancelar digite '0'): ";
            cin>>codi;
            if(codi!=0) {
                cout<<"Digite a quantidade a acresentar: ";
                cin>>qua;
                cardapio[codi-1].qestoque=cardapio[codi-1].qestoque+qua;
            }
        }

        else if(opc==3) {
            cout<<"Digite o numero do cadastro (Se deseja cancelar digite '0'): ";
            cin>>x;
            if(x!=0) {
                cout<<cli[x-1].nome<<":"<<endl<<"Digite o valor que seja acresentar ao Saldo: ";
                cin>>y;
                cli[x-1].saldo= cli[x-1].saldo+y;
                cout<<"Valor adicionado com sucesso!"<<endl;
            }
            else {
                cout<<"- Cancelado -"<<endl;
            }
        }

        else if(opc==4) {
            v=0;
            cout<<"Insira a data (Dia mes ano): ";
            cin>>dat[v].dia>>dat[v].mes>>dat[v].ano;
            cout<<"Você é cadastrado (Sim/Não)?";
            cin>>pcad;
            if(pcad=="Sim"||pcad=="sim") {
                do {
                    cout<<"Digite o numero de cadastro do cliente: ";
                    cin>>x;
                    cout<<"Cliente: "<<cli[x-1].nome<<endl<<"Senha: ";
                    cin>>scli;
                    cout<<x<<cli[x-1].nome<<scli<<cli[x-1].senha;
                } while(scli!=cli[x-1].senha);
                do {
                    cout<<"Cardapio: "<<endl<<"Cod-Nome-Quantidade-Preço"<<endl;
                    for(j=0; j<26; j++) {
                        if(cardapio[j].qestoque>>0) {
                            cout << std::fixed;
                            cout<<cardapio[j].cod<<"-"<<cardapio[j].nome<<" - "<<cardapio[j].qestoque<<" - "<<std::setprecision(2)<<cardapio[j].preço<<" RS"<<" - "<<cardapio[j].tip<<endl;
                        }
                    }
                    cout<<"Codigo do produto: ";
                    cin>>cp;
                    cout<<"Quantidade de "<<cardapio[cp-1].nome;
                    cin>>qp;
                    if(cardapio[cp-1].qestoque>=qp) {
                        auxvenda[c]=cardapio[cp-1].preço*qp;
                        auxprod[c]=cardapio[cp-1].nome;
                        cout<<"Se deseja finalizar, digite 'sair'";
                        cin>>rvenda;
                        cardapio[cp-1].qestoque=cardapio[cp-1].qestoque-qp;
                        c++;
                    }
                    else {
                        cout<<"Quatidade do produto insuficiente no estoque"<<endl;
                    }
                } while(rvenda!="sair");

                for(w=0; w<100; w++) {
                    totalv=totalv+auxvenda[w];
                }
                cout << std::fixed;
                cout<<"Total da Venda: "<<std::setprecision(2)<<totalv<<"RS"<<endl<<"Qual sera a forma de pagamento ?(Saldo/Dinheiro)";
                cin>>fpagamento;

                if(fpagamento=="Saldo") {
                    auxlimite= totalv-cli[x-1].limite;
                    if(totalv<=cli[x-1].saldo) {
                        cli[x-1].saldo= cli[x-1].saldo-totalv;
                        cout << std::fixed;
                        cout<<"Compra finalizada"<<endl<<"Valor: "<<std::setprecision(2)<<totalv<<" RS"<<endl;
                        cout<<"Seu novo saldo é de: "<<std::setprecision(2)<<cli[x-1].saldo<<" RS"<<endl;
                    }
                    else if(auxlimite<=0) {
                        cli[x-1].limite= cli[x-1].limite-totalv;
                        cout<<"Você comprou com seu limite, esta devendo "<<auxlimite*-1<<" RS, para quitar a divida basta adicionar o valor ao saldo"<<endl;
                    }
                    else if(auxlimite>=limite) {
                        cout<<"▲ Limite insuficien te para se efetuar a compra ▲"<<endl;
                    }
                }
                else if(fpagamento=="Dinheiro") {
                    do {
                        cout<<"Dinheiro entregue pelo cliente: ";
                        cin>>auxtroco;
                        if(auxtroco>=totalv) {
                            troco=auxtroco-totalv;
                            cout << std::fixed;
                            cout<<"Troco a ser entregue para: "<<cli[x-1].nome<<" = "<<std::setprecision(2)<<troco<<endl;
                            cout<<"Compra finalizada"<<endl<<"Valor: "<<std::setprecision(2)<<totalv<<"RS"<<endl;
                            b=0;
                            if(troco==0) {
                                cli[x-1].saldo=cli[x-1].saldo+0.10;
                            }
                        }
                        else {
                            cout<<"Dineheiro entregue insuficiente, Tente novamente"<<endl;
                            b=1;
                        }
                    } while(b!=0);
                }
            }
            else if(pcad=="Não"||pcad=="não") {
                do {
                    cout<<"Cardapio: "<<endl<<"Cod-Nome-Quantidade-Preço"<<endl;
                    for(j=0; j<26; j++) {
                        if(cardapio[j].qestoque>>0) {
                            cout << std::fixed;
                            cout<<cardapio[j].cod<<"-"<<cardapio[j].nome<<" - "<<cardapio[j].qestoque<<" - "<<std::setprecision(2)<<cardapio[j].preço<<" RS"<<" - "<<cardapio[j].tip<<endl;
                        }
                    }
                    cout<<"Codigo do produto: ";
                    cin>>cp;
                    cout<<"Quantidade de "<<cardapio[cp-1].nome;
                    cin>>qp;
                    if(cardapio[cp-1].qestoque>=qp) {
                        auxvenda[c]=cardapio[cp-1].preço*qp;
                        cout<<"Se deseja finalizar, digite 'sair'";
                        cin>>rvenda;
                        cardapio[cp-1].qestoque=cardapio[cp-1].qestoque-qp;
                        c++;
                    }
                    else {
                        cout<<"Quatidade do produto insuficiente no estoque"<<endl;
                    }
                } while(rvenda!="sair");
                for(w=0; w<100; w++) {
                    totalv=totalv+auxvenda[w];
                }
                cout << std::fixed;
                cout<<"Total da Venda: "<<std::setprecision(2)<<totalv<<"RS"<<endl;
                do {
                    cout<<"Dinheiro entregue pelo cliente: ";
                    cin>>auxtroco;
                    if(auxtroco>=totalv) {
                        troco=auxtroco-totalv;
                        cout << std::fixed;
                        cout<<"Troco a ser entregue para: "<<cli[x-1].nome<<" = "<<std::setprecision(2)<<troco<<endl;
                        cout<<"Compra finalizada"<<endl<<"Valor: "<<std::setprecision(2)<<totalv<<"RS"<<endl;
                        b=0;
                        if(troco==0) {
                            cli[x-1].saldo=cli[x-1].saldo+0.10;
                        }
                    }
                    else {
                        cout<<"Dineheiro entregue insuficiente, Tente novamente"<<endl;
                        b=1;
                    }
                } while(b!=0);
            }//não registrado

            vend[v].vcli=cli[x-1];
            vend[v].daata[v]=dat[v];
            vend[v].vetotal=totalv;
            vend[v].nvenda=v;
            vend[v].formap=fpagamento;
            for(w=0; w<10; w++) {
                if(auxprod[w]!="Vazio") {
                    vend[v].proc[w]=auxprod[w];
                }
            }
            v++;

        }//if (venda)
        else if(opc==5) {
            cout<<"Digite o numero do cadastro(Para cancelar digite '0'): ";
            cin>>x;
            if(x!=0) {
                cout<<cli[x-1].nome<<":"<<endl<<"Limite anterior: "<<cli[x-1].limite<<endl<<"Digite o novo limite: ";
                cin>>y;
                cli[x-1].limite=y;
                cout<<"Valor editado com sucesso!"<<endl;
            }
        }
        else if(opc==6) {
            cout<<"Registros de Vendas: "<<endl;
            for(j=0; j<100; j++) {
                if(vend[j].nvenda!=-1) {
                    cout<<"Numero Da Venda: "<<vend[j].nvenda<<endl<<"Nome: "<<vend[j].vcli.nome<<endl<<"Forma de Pagamento: "<<endl<<"Data: "<<vend[j].daata[j].dia<<"/"<<vend[j].daata[j].mes<<"/"<<vend[j].daata[j].ano<<endl<<"Total da Venda"<<vend[j].vetotal;
                    for(w=0; w<10; w++) {
                        if(vend[j].proc[w]!="Vazio") {
                            cout<<"Produto: "<<vend[j].proc[w];
                        }
                    }
                    auxlucro[j]=vend[j].vetotal;
                }
            }
            for(w=0; w<100; w++) {
                lucro=lucro+auxlucro[w];
            }
            cout<<"É de seu desejo que seja calculado o lucro da cantina até agora(Sim/Não) ?";
            cin>>desejo;
            if(desejo=="Sim"||desejo=="sim") {
                cout<<"Para que possa calcular o lucro, insira abaixo as despezas totais até o momento: ";
                cin>>gastos;
                lucrototal=lucro-gastos;
                cout<<"Até o presente momento o lucro conciste em "<<lucrototal<<"RS"<<endl;
            }
            else if(desejo=="Não"||desejo=="não") {
                cout<<"Compreendo, caso mude idéia basta voltar para a opção '6'...";
            }
        }
        else if(opc!=1&&opc!=2&&opc!=3&&opc!=4&&opc!=5&&opc!=6&&opc!=7) {
            cout<<"- Opção invalida :( -"<<endl;
        }
    } while(opc!=7);
    cout<<"Encerrando. . . "<<endl<<"Obrigado por usar, volte sempre"<<endl<<"Programa encerado";
    return 0;
}//int main()

OBS IMPORTANTE:  Nunca use acentuação em nomes de variáveis, tal como preço (seria preço)

O código está rodando aqui no Code Blocks e estou usando o Linux

Testa aí para ver se tá tudo ok. 

Não procurei ajustar a lógica no código, apenas fiz o mesmo rodar aqui

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...