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