Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Mi codigo no le funcionan unas partes

Estas en el tema de Mi codigo no le funcionan unas partes en el foro de C/C++ en Foros del Web. #include <iostream> using namespace std; int main(){ while (true){ int option = 0; int i = 0; int j = 0; float pumkimps[1][19]; float price ...
  #1 (permalink)  
Antiguo 04/12/2013, 10:24
 
Fecha de Ingreso: diciembre-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Mi codigo no le funcionan unas partes

#include <iostream>
using namespace std;
int main(){
while (true){
int option = 0;
int i = 0;
int j = 0;
float pumkimps[1][19];
float price = .85;
float total = 0;
float smallest = 10000000000000000;
float biggest = 0;
int dimencion = 0;
float average = 0;


cout << "Pumkimp Patch " << endl;
cout << "Welcome, enter the quantity of pumkings to work with: ";
cin >> dimencion;
cout << "option" << endl;
cout << "1.Add" << endl;
cout << "2.Average" << endl;
cout << "3.Inventoy Cost" << endl;
cout << "4.Biggest" << endl;
cout << "5.Smallest" << endl;
cout << "Su opcion es: ";
cin >> option;



while (option >= 1 && option <= 5)
{

while (option == 1)
{
while (j < 1)
{
while (i < dimencion)
{
cout << "Entre el peso de la calabaza en la posicion: " << j << "," << i << endl;
cin >> pumkimps[j][i];
i++;
}
j++;
}
cout << "Entre otra opcion del menu: ";
cin >> option;
}

while (option == 2)
{
while (j < 1)
{
while (i < dimencion)
{
total = (total + pumkimps[j][i]);
i++;
}
j++;
}
average = (total / dimencion);
cout << "El average de esta cosecha es: " << average << endl;
cout << "Entre otra opcion del menu:";
cin >> option;
}
while (option == 3)
{
while (j < 1)
{
while (i < dimencion)
{
total = (total + pumkimps[j][i]);
i++;
}
j++;
}
total = (total * price);
cout << "El costo del inventario es: " << total << endl;
cout << "Entre otra opcion del menu: ";
cin >> option;
}
while (option == 4)
{
while (j < 1)
{

while (i < dimencion)
{

if (pumkimps[j][i] < smallest)
smallest = pumkimps[j][i];
i++;
}
j++;
}
cout << "La calabaza mas pequena pesa: " << smallest << endl;
cout << "Entre otra opcion del menu: ";
cin >> option;
}
while (option == 5)
{
while (j < 1)
{

while (i < dimencion)
{

if (pumkimps[j][i] > biggest)
biggest = pumkimps[j][i];
i++;
}
j++;
}
cout << "La calabaza mas grande pesa: " << biggest << endl;
cout << "Entre otra opcion del menu: ";
cin >> option;
}
}
cout << "Invalid Command" << endl;
system("pause");

system("cls");
}
system("pause");
return 0;
}
  #2 (permalink)  
Antiguo 04/12/2013, 11:06
Avatar de guzzano  
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 14 años, 4 meses
Puntos: 13
Respuesta: Mi codigo no le funcionan unas partes

Buenas.

Con exactitud, ¿dónde falla el programa?, así se hace más fácil la búsqueda del problema. Por encima veo uno que otro error, como la división, no la compruebas, además del 10000000000000000 que le asignas a float smallest , es demasiado grande, para ver lo máximo de la variable float, puedes consultar en la librería float.h, y el macro FLT_MAX.

Saludos.

Última edición por guzzano; 04/12/2013 a las 11:46
  #3 (permalink)  
Antiguo 04/12/2013, 12:27
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 2 meses
Puntos: 38
Respuesta: Mi codigo no le funcionan unas partes

Usas variables i y j en todos los whiles pero no veo que las vuelvas a poner a 0 para poder usar en el seguinte bucle.
No se si se puede ser eso parte del problema :/
  #4 (permalink)  
Antiguo 04/12/2013, 12:43
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 2 meses
Puntos: 38
Respuesta: Mi codigo no le funcionan unas partes

Aclaro que soy novato así que pongo lo que veo.
No logro entender por que calabazas los has declarado con pumpkins[][] bidimensional :S
para representar calabazas con un calabaza[] unidimensional serviría ¿No?

En todo caso pumpkins[ aquí siempre debería estar un numero fijo ][]

Esa pila de whiles te los podía ahorrar la mitad con un unidimensional XDDD

Para representar calabaza seria algo así

calabaza 1
calabaza 2
calabaza 3
y no
calabaza 1.1
calabaza 1.2
calabaza 1.3 XDDD

Como dije el 1 nunca debería cambiar.
Imaginas que antes del punto es j y después es i queda así calabaza [j].[i], tienes un bucle para cambiar j, eso no te sirve por que envés de j++ debería se j == 0 o j==1
Lo que se incrementa es la i y no la j.
Por eso digo que es absurdo declarar uno bidimensional para eso XD

Última edición por vangodp; 04/12/2013 a las 13:00
  #5 (permalink)  
Antiguo 05/12/2013, 07:36
 
Fecha de Ingreso: diciembre-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Respuesta: Mi codigo no le funcionan unas partes

el problema esta que no puedo calcular el average ni el peso
  #6 (permalink)  
Antiguo 05/12/2013, 18:57
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 2 meses
Puntos: 38
Respuesta: Mi codigo no le funcionan unas partes

Echare un ojo y lo intentare arreglar a mi modo.
Ya veremos que te falla.

Etiquetas: funcionan, int, partes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:18.