Autor
|
Tema: Ayuda porfavorsito con programa en c++ (Leído 2,411 veces)
|
califvv
Desconectado
Mensajes: 11
|
Hola chicos, como estan , espero que bien.. tengo un pequeno problema con un programa que me enviaron en la escuela aca les dejo el enunciado y el codigo que llevo, MI problema es que al compilarlo en la parte que necesito que me diga la cantidad de libros que solicite, me salen un monton de locuras .. si alguien puede ayudarme se lo agradeceria enormemente , Gracias chicos. PROBLEMA NRO 1. En la biblioteca de la universidad, se hacen prestamos de libros que están clasificados en 8 grandes áreas. Se desea : a) Inicializar el arreglo Áreas, b) Leer el arreglo denominado CantLibros. c) Calcular la cantidad total de libros solicitados durante el mes. e) Mostrar un reporte Área y cantidad de libros de cada área solicitados durante el mes. Esto es lo que llevo #include <iostream> #include <iomanip> #include <conio.h> using namespace std; int main() { int i,STotLib, CantLibros[8],Min,Max; // a) Inicializar Area char Area[8][20]={"Literatura","Matematica","Arte","Historia","Geografia","Computacion","Filosofia","Sistemas"}; // b) Leer CantLibros cout<<"Ing. cantidad de libros solicitados:"<<endl; for(i=0;i<8;i=i+1) { cin>>CantLibros ; } // Aqui es la parte de, Ingresar i mostrar el area y la cantidad de libros cout<<"Ingrese indice : ";cin>>i; cout<<Area<<" "<<CantLibros<<endl; getch(); // pausa // d) Calcular el total de libros STotLib = 0; for(i=0;i<8;i=i+1) { STotLib = STotLib + CantLibros; } // d) Mostrar Reporte cout<<setw(20)<<"Area"<<setw(20)<<"Cantidad Libros:"<<endl; cout<<"========================================= "<<endl; for(i=0;i<8;i=i+1) { cout<<setw(20)<<Area<<" "<<setw(10)<<CantLibros<<endl; } cout<<" Total de libros prestados: "<<STotLib<<endl; // e) Calcular el minimo y los indices del minimo Min = CantLibros[0]; for(i=1;i<8;i=i+1) { if ( CantLibros <Min ) Min = CantLibros; } for(i=0;i<8;i=i+1) { if ( CantLibros == Min ) { cout<<i<<" "; } } cout<<endl<<"Minimo = "<<Min<<endl; // f) Encontrar el maximo y en que area se da Max = CantLibros[0]; for(i=1;i<8;i=i+1) { if ( CantLibros > Max ) Max = CantLibros; } for(i=0;i<8;i=i+1) { if ( CantLibros == Max ) { cout<<Area<<" "; } } cout<<endl<<"Maximo = "<<Max<<endl; getch(); return (0); } Muchisimas graciasss
|
|
|
En línea
|
|
|
|
_niu
Desconectado
Mensajes: 34
|
waaaa que feo codigo, por favor, que feo codigo.... horrible.... waaa terrible en todos los sentidos...
STotLib = 0; for(i=0;i<8;i=i+1) { STotLib = STotLib + CantLibros; }
ahi ta el problema CantLibros es UN PUNTERO (: y sumas a STotLib 8 veces el puntero.
|
|
|
En línea
|
|
|
|
califvv
Desconectado
Mensajes: 11
|
Jajaja muchas gracias, lo revisare
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Por favor, vuelve a postear tu código. Para ello usa esta vez las etiquetas GeSHi y eliges C++. Te saldrán dos code y en medio pegas el código. Al no haberlo hecho así aparentemente tienes errores, ya que no salen los [i]
cosa que sí tienes en el código que copio. Y eso que no aparece en el post directo es lo que te corrige _niu , pero que si lo tienes puestos. Pero no funciona el código por algún por error al copiarlo desde un código sin etiquetas. Por eso, vuelve a colgar el código pero entre las etiquetas code de GeSHi, insisto. Por curiosidad te dejo lo que me sale a mí al copiar tu código -pero que está mal por lo de las etiquetas-: #include <iostream> #include <iomanip> #include <conio.h> using namespace std; int main() { int i,STotLib,CantLibros[8],Min,Max; // a) Inicializar Area char Area[8][20]={"Literatura","Matematica","Arte","Historia","Geografia","Computacion","Filosofia","Sistemas"}; // b) Leer CantLibros cout<<"Ing. cantidad de libros solicitados:"<<endl; for(i=0;i<8;i=i+1) cin>>CantLibros[i]; // Aqui es la parte de, Ingresar i mostrar el area y la cantidad de libros cout<<"Ingrese indice : ";cin>>i; cout<<Area[i]<<" "<<CantLibros[i]<<endl; getch(); // pausa // d) Calcular el total de libros STotLib = 0; for(i=0;i<8;i=i+1) STotLib += CantLibros[i]; // d) Mostrar Reporte cout<<setw(20)<<"Area"<<setw(20)<<"Cantidad Libros:"<<endl; cout<<"========================================= "<<endl; for(i=0;i<8;i=i+1) cout<<setw(20)<<Area[i]<<" "<<setw(10)<<CantLibros[i]<<endl; cout<<" Total de libros prestados: "<<STotLib<<endl; // e) Calcular el minimo y los indices del minimo Min = CantLibros[0]; for(i=1;i<8;i=i+1) { if ( CantLibros[i] <Min ) Min = CantLibros[i]; } for(i=0;i<8;i=i+1) { if ( CantLibros[i] == Min ) { cout<<i<<" "; } } cout<<endl<<"Minimo = "<<Min<<endl; // f) Encontrar el maximo y en que area se da Max = CantLibros[0]; for(i=1;i<8;i=i+1) { if ( CantLibros[i] > Max ) Max = CantLibros[i]; } for(i=0;i<8;i=i+1) { if ( CantLibros[i] == Max ) { cout<<Area[i]<<" "; } } cout<<endl<<"Maximo = "<<Max<<endl; getch(); return (0); }
Saluditos!.
|
|
|
En línea
|
|
|
|
flony
Desconectado
Mensajes: 584
|
mira los errores que le encontré al código es que a un arreglo en un bucle for lleva el famoso
porque lo debe contar de o a 7...igual al intentar compilarlo dejo de tener los errores, pero por el rdo. tiene razón _niu...por los rdo. que muestra es un puntero
|
|
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
|
|