Error Borland C++ (Thread 1 Stopped)

Dudas sobre el C/C++ en general
Responder
Mensaje
Autor
Martin506
Mensajes: 4
Registrado: 04/03/2018 1:18 pm

Error Borland C++ (Thread 1 Stopped)

#1 Mensaje por Martin506 » 04/03/2018 1:26 pm

No me deja correr el codigo pero si lo compila bien, es al momento de la ejecucion.
Me tira este mensaje en azul:
return replace(0, length(), s, traits::length(s));

Y en un cuadro de dialogo pone Fault: Acces Violation at 0x4026c1
read of address 0x77fffffc
Gracias bros

mollok
Mensajes: 516
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: Error Borland C++ (Thread 1 Stopped)

#2 Mensaje por mollok » 04/03/2018 1:40 pm

Pasa el código fuente. Recuerda usar el botón </> para generar las etiquetas 'code' y copiar el código en medio.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

Martin506
Mensajes: 4
Registrado: 04/03/2018 1:18 pm

Re: Error Borland C++ (Thread 1 Stopped)

#3 Mensaje por Martin506 » 04/03/2018 2:04 pm

Código: Seleccionar todo

#include <iostream>
#include <conio>
#include <stdio>
#include <math>
#include <string>

int main  (){
string nbeb[5];
int opcion1;
int cantbeb[5];
int pbeb [5];
int contador;
nbeb[1]="Botella de Agua";
pbeb[1]=20;
cantbeb[1]=20;
nbeb[2]="Coca-Cola";
pbeb[2]=25;
cantbeb[2]=20;
nbeb[3]="Seven Up";
pbeb[3]=25;
cantbeb[3]=20;
nbeb[4]="Mountain Dew";
pbeb[4]=30;
cantbeb[4]=20;
nbeb[5]="Jugo V8";
pbeb[5]=50;
cantbeb[5]=20;
int efectivo;
int cambio;
int salir;
while (salir!=6)
cout<<"Seleccione Una Opcion"<<endl;
cout<<"1. "<<nbeb[1]<<endl;
cout<<"2. "<<nbeb[2]<<endl;
cout<<"3. "<<nbeb[3]<<endl;
cout<<"4. "<<nbeb[4]<<endl;
cout<<"5. "<<nbeb[5]<<endl;
cout<<"6. Salir del Menu"<<endl;
cin>>opcion1;
switch (opcion1) {
case 1:
cout<<"Su bebida Cuesta Q"<<pbeb[1]<<endl;
cout<<"Cuanto Dara en Efectivo?"<<endl;
cin>>efectivo;
if (efectivo<20 && efectivo<=0) {
cout<<"Ingrese Monto Correcto"<<endl;
}
else {
if (efectivo>pbeb[1]){
cambio=pbeb[1]-efectivo;
cout<<"Su Cambio es Q"<<cambio<<endl;
}
cantbeb[1]=cantbeb[1]-1;
if (cantbeb[1]<=0){
cout<<"No quedan mas "<<nbeb<<" En Stock, Seleccione otra"<<endl;
}
contador=contador+20;
break;
case 2:
cout<<"Su bebida Cuesta Q"<<pbeb[2]<<endl;
cout<<"Cuanto Dara en Efectivo?"<<endl;
cin>>efectivo;
if (efectivo<20 && efectivo<=0) {
cout<<"Ingrese Monto Correcto"<<endl;
}
else {
if (efectivo>pbeb[2]){
cambio=pbeb[2]-efectivo;
cout<<"Su Cambio es Q"<<cambio<<endl;
}
cantbeb[2]=cantbeb[2]-1;
if (cantbeb[2]<=0){
cout<<"No quedan mas "<<nbeb<<" En Stock, Seleccione otra"<<endl;
}
contador=contador+25;
break;
case 3:
cout<<"Su bebida Cuesta Q"<<pbeb[3]<<endl;
cout<<"Cuanto Dara en Efectivo?"<<endl;
cin>>efectivo;
if (efectivo<20 && efectivo<=0) {
cout<<"Ingrese Monto Correcto"<<endl;
}
else {
if (efectivo>pbeb[3]){
cambio=pbeb[3]-efectivo;
cout<<"Su Cambio es Q"<<cambio<<endl;
}
cantbeb[3]=cantbeb[3]-1;
if (cantbeb[3]<=0){
cout<<"No quedan mas "<<nbeb<<" En Stock, Seleccione otra"<<endl;
}
else {
}
contador=contador+25;
break;
case 4:
cout<<"Su bebida Cuesta Q"<<pbeb[4]<<endl;
cout<<"Cuanto Dara en Efectivo?"<<endl;
cin>>efectivo;
if (efectivo<20 && efectivo<=0) {
cout<<"Ingrese Monto Correcto"<<endl;
}
else {
if (efectivo>pbeb[4]){
cambio=pbeb[4]-efectivo;
cout<<"Su Cambio es Q"<<cambio<<endl;
}
cantbeb[4]=cantbeb[4]-1;
if (cantbeb[4]<=0){
cout<<"No quedan mas "<<nbeb<<" En Stock, Seleccione otra"<<endl;
}
else {
}
contador=contador+30;
break;
case 5:
cout<<"Su bebida Cuesta Q"<<pbeb[5]<<endl;
cout<<"Cuanto Dara en Efectivo?"<<endl;
cin>>efectivo;
if (efectivo<20 && efectivo<=0) {
cout<<"Ingrese Monto Correcto"<<endl;
}
else {
if (efectivo>pbeb[5]){
cambio=pbeb[5]-efectivo;
cout<<"Su Cambio es Q"<<cambio<<endl;
}
cantbeb[5]=cantbeb[5]-1;
if (cantbeb[5]<=0){
cout<<"No quedan mas "<<nbeb<<" En Stock, Seleccione otra"<<endl;
}
else {
}
contador=contador+50;
break;
default:
cout<<"Ingrese opcion Correcta"<<endl;
break;
}
cout<<"Desea Salir?"<<endl;
cin>>salir;
}
int ganancias;
ganancias=contador;
cout<<"Sus Ganancias Totales Fueron"<<ganancias<<endl;
getchar();
}
}
}
}
}
EDITADO: El código debe ir entre las etiquetas 'code', botón </>
MODERADOR: mollok

mollok
Mensajes: 516
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: Error Borland C++ (Thread 1 Stopped)

#4 Mensaje por mollok » 04/03/2018 2:54 pm

El código no se puede seguir. El problema está dentro de switch. Hay muchos 'else' que no se cierran bien y van anidando código. Después hay otros else que no tienen nada dentro. Te recomiendo separar el código en funciones y hacer que los case vayan llamando esas funciones. Tal y como está no se puede saber como está configurado.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

Martin506
Mensajes: 4
Registrado: 04/03/2018 1:18 pm

Re: Error Borland C++ (Thread 1 Stopped)

#5 Mensaje por Martin506 » 04/03/2018 5:29 pm

Pero incluso ya probe a borrar todo lo del switch y me da el error, no me marca que es solo esa linea azul

Martin506
Mensajes: 4
Registrado: 04/03/2018 1:18 pm

Re: Error Borland C++ (Thread 1 Stopped)

#6 Mensaje por Martin506 » 04/03/2018 5:31 pm

Código: Seleccionar todo

#include <iostream>
#include <conio>
#include <stdio>
#include <math>
#include <string>

int main  (){
string nbeb[5];
int opcion1;
int cantbeb[5];
int pbeb [5];
int contador;
nbeb[1]="Botella de Agua";
pbeb[1]=20;
cantbeb[1]=20;
nbeb[2]="Coca-Cola";
pbeb[2]=25;
cantbeb[2]=20;
nbeb[3]="Seven Up";
pbeb[3]=25;
cantbeb[3]=20;
nbeb[4]="Mountain Dew";
pbeb[4]=30;
cantbeb[4]=20;
nbeb[5]="Jugo V8";
pbeb[5]=50;
cantbeb[5]=20;
int efectivo;
int cambio;
int salir;
while (salir!=6)
cout<<"Seleccione Una Opcion"<<endl;
cout<<"1. "<<nbeb[1]<<endl;
cout<<"2. "<<nbeb[2]<<endl;
cout<<"3. "<<nbeb[3]<<endl;
cout<<"4. "<<nbeb[4]<<endl;
cout<<"5. "<<nbeb[5]<<endl;
cout<<"6. Salir del Menu"<<endl;
cin>>opcion1;
getchar();
}
EDITADO: El código debe ir entre las etiquetas 'code', botón </>
MODERADOR: mollok

mollok
Mensajes: 516
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: Error Borland C++ (Thread 1 Stopped)

#7 Mensaje por mollok » 04/03/2018 11:52 pm

¿Qué sabes de los bucles?
Ese while tiene mal su condición y solo repite el cout de la pregunta.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

daltomi
Mensajes: 354
Registrado: 28/04/2007 7:29 pm
Ubicación: Argentina

Re: Error Borland C++ (Thread 1 Stopped)

#8 Mensaje por daltomi » 05/03/2018 11:00 am

Buenas.
Nota que los índices en los arrays comienzan en 0 y terminan en N-1.

Código: Seleccionar todo

nbeb[0] = ""
...
nbeb[4] = ""

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados