• Domingo 15 de Diciembre de 2024, 19:07

Autor Tema:  Programa en c++  (Leído 4286 veces)

Alehtokita

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Programa en c++
« en: Viernes 20 de Abril de 2012, 19:01 »
0
tengo este programa, pero no me compila, me sale algo de que "cout y cin" no están declarados.. que me falta?

El enunciado dice:

La compañía manufacturera Monte Real fabrica 10 artículos diferentes y se trabajan tres turnos por día, la compañía necesita obtener un reporte al final del día del total de la producción por artículo y el total  de la producción por turno. Desarrollar un programa que pida al usuario el nombre de cada artículo y la producción que se hizo en cada uno de los tres turnos del día y genere un reporte al final del día mostrado en pantalla de el total de de la producción por artículo, el total de la producción por turno  y el artículo con mayor producción.


#include <iostream>
#include <stdlib.h>
int main()
{   char articulos[10][30];
    int cantidades[3][10];     //3turnos  10 articulos
    for(int i=0;i<10;i++){
     cout<<"Ingrese el nombre del articulo Nº"<<i+1<<" : ";
     cin.getline(articulos,30);
     cout<<"Ingrese la produccion en el primer turno : ";
     cin>>cantidades[0];
     cout<<"Ingrese la produccion en el segundo turno : ";
     cin>>cantidades[1];
     cout<<"Ingrese la produccion en el tercer turno : ";
     cin>>cantidades[2];
     cin.ignore();
    }
    int mayor=0,indmay=0;
    //total de produccion por articulo
    cout<<endl<<endl<<"******* Produccion por articulo ******"<<endl;
     for(int i=0;i<10;i++){
     cout<<"Articulo "<<articulos;
     cout<<" Produccion total: "<<cantidades[0]+cantidades[1]+cantidades[2]<<endl;
     //este if detecta el articulo con mayor produccion, y se usará luego.
     if(mayor<cantidades[0]+cantidades[1]+cantidades[2]){
     mayor=cantidades[0]+cantidades[1]+cantidades[2];
     indmay=i;
     }
    cout<<endl;
    }
       cout<<endl<<endl<<"******* Produccion por turno ******"<<endl;
    //total de produccion por turno
     int suma;
        for(int i=0;i<3;i++){
     cout<<"Turno "<<i+1;
      suma=0;
      for(int j=0;j<10;j++){
        suma=suma+cantidades[j];
      }
     cout<<"Produccion total: "<<suma<<endl;
    cout<<endl;
    }
       cout<<endl<<endl<<"******* Articulo con mayor produccion ******"<<endl;
    //articulo con mayor produccion.
      cout<<"Articulo con mayor produccion: "<<articulos[indmay]<<endl;
      cout<<"Cantidad producida: "<<mayor<<endl;
      system("PAUSE");
      return 0;
}

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Programa en c++
« Respuesta #1 en: Viernes 20 de Abril de 2012, 19:11 »
0
Necesitas poner el namespace en donde se encuentran las clases cin y cout:

Código: [Seleccionar]
#include <iostream>
#include <stdlib.h>

// las clases cin y cout se encuentran dentro del namespace std
using namespace std;

int main()
{

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

Alehtokita

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re:Programa en c++
« Respuesta #2 en: Viernes 20 de Abril de 2012, 22:13 »
0
Gracias! pero ahora salen otra clase de errores:

No entiendo porque no funciona :(  :ayuda:

oa anufacturera2.cpp||In function 'int main()':|
oa anufacturera2.cpp|10|error: no matching function for call to 'std::basic_istream<char, std::char_traits<char> >::getline(char [10][30], int)'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|593|note: candidates are: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::getline(_CharT*, std::streamsize, _CharT) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|405|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::getline(_CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits<char>]|
oa anufacturera2.cpp|12|error: no match for 'operator>>' in 'std::cin >> cantidades[0]'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|119|note: candidates are: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>& (*)(std::basic_istream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|123|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|130|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|166|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|170|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|173|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|177|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|180|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|184|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|188|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|193|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|197|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|202|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|206|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|210|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|214|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|238|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]|
oa anufacturera2.cpp|14|error: no match for 'operator>>' in 'std::cin >> cantidades[1]'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|119|note: candidates are: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>& (*)(std::basic_istream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|123|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|130|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|166|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|170|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|173|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|177|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|180|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|184|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|188|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|193|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|197|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|202|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|206|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|210|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|214|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|238|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]|
oa anufacturera2.cpp|16|error: no match for 'operator>>' in 'std::cin >> cantidades[2]'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|119|note: candidates are: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>& (*)(std::basic_istream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|123|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|130|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|166|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|170|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|173|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|177|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|180|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|184|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|188|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|193|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|197|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|202|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|206|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|210|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|214|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char, _Traits = std::char_traits<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\istream|238|note:                 std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]|
oa anufacturera2.cpp|24|error: invalid operands of types 'int [10]' and 'int [10]' to binary 'operator+'|
oa anufacturera2.cpp|26|error: invalid operands of types 'int [10]' and 'int [10]' to binary 'operator+'|
oa anufacturera2.cpp|27|error: invalid operands of types 'int [10]' and 'int [10]' to binary 'operator+'|
oa anufacturera2.cpp|39|error: invalid conversion from 'int*' to 'int'|
||=== Build finished: 8 errors, 0 warnings ===|

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Programa en c++
« Respuesta #3 en: Sábado 21 de Abril de 2012, 00:44 »
0
Hola de nuevo Alehtokita.

En primer lugar, no es necesario que pongas toda la lista de errores, si en todas es el mismo errro, si te fijas, en todas es el mismo error, solo que en diferente linea, asi que con la primera linea basta.

En segundo lugar, siempre es bueno aclarar con que compilador y sistema operativo estas trabajando, asi se te puede brindar una mejor ayuda.

Bueno, ahora sobre tu problema, estas utilizando los arreglos de manera equivocada, no estas colocando los indices, en el caso de los arreglos de char cuando representan cadenas solo necesitas el primer indice, ya que el segundo indice representa la longitud de la cadena, en el caso de los arreglo de int, si necesitas los dos indices, no solo uno, de lo contrario tambien marcara error. Tambien es mejor que inviertas los indices de tu arreglo cantidades, para que coincida con tu arreglo de articulos.

Dicho eso, solo te pondre los dos pirmeros ejemplos, te queda de tarea hacer el resto de correcciones en tu programa.

Código: [Seleccionar]
#include <iostream>
#include <stdlib.h>

// las clases cin y cout se encunetran dentro del namespace std
using namespace std;

int main()
{   char articulos[10][30];
    // Invierte los indices, para que coincidan con la declaracion de
    // tu arreglo de cadenas
    int cantidades[10][3];     //3turnos  10 articulos
    for(int i=0;i<10;i++){
     cout<<"Ingrese el nombre del articulo Nº"<<i+1<<" : ";
     // Indice del arreglo de cadenas articulos
     // Solo necesitas uno, pues los arreglos de cadenas
     // se manejan como si fueran vectores pero si debes
     // colocar un indice, en tu codigo lo pusiste sin indice
     cin.getline(articulos[i],30);
     cout<<"Ingrese la produccion en el primer turno : ";
     // En este caso dado que son int, si necesitas los dos indices
     // aunque de igual manera en tu codigo solo ponias un indice
     cin>>cantidades[i][0];

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

Alehtokita

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re:Programa en c++
« Respuesta #4 en: Sábado 21 de Abril de 2012, 02:35 »
0
Muchas gracias, pero no he podido corregir la otra parte :S y mi sistema operativo es Windows 7 y compilador de Code::Blocks

droezva

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re:Programa en c++
« Respuesta #5 en: Domingo 22 de Abril de 2012, 01:28 »
0
Efectivamente tiene algunos errores bueno ahí te dejo el código donde encontré los errores en comentario, en teoria ya funciona ;D

Código: C++
  1. #include <iostream.h>    //Error tenias #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.         char articulos[10][30];
  7.         int cantidades[10][3];     // Error Logico int cantidades[3][10]; debe ser int cantidades[10][3];
  8.         for(int i=0;i<10;i++)
  9.         {
  10.                 cout<<"Ingrese el nombre del articulo Nº"<<i+1<<" : ";
  11.                 cin.getline(articulos[i],30); //Error se debia indicar la posision tenias cin.getline(articulos,30);
  12.                 cout<<"Ingrese la produccion en el primer turno : ";
  13.                 cin>>cantidades[i][0];         //Error tenias cantidades[0];
  14.                 cout<<"Ingrese la produccion en el segundo turno : ";
  15.                 cin>>cantidades[i][1];         //Error tenias cantidades[1];
  16.                 cout<<"Ingrese la produccion en el tercer turno : ";
  17.                 cin>>cantidades[i][2];         //Error tenias cantidades[2];
  18.                 cin.ignore();
  19.         }
  20.         int mayor=0,indmay=0;
  21.         //total de produccion por articulo
  22.         cout<<endl<<endl<<"******* Produccion por articulo ******"<<endl;
  23.         for(i=0;i<10;i++){    // aqui habia un error que redeclaraba la variable i esta fue declara en tu anterior for
  24.                 cout<<"Articulo: "<<articulos[i]; // Error Logico indicaba el arreglo no a las posciciones del arreglo  tenias cout<<"Articulo: "<<articulos;
  25.                 cout<<" Produccion total: "<<cantidades[i][0]+cantidades[i][1]+cantidades[i][2]<<endl;
  26.                 //este if detecta el articulo con mayor produccion, y se usará luego.
  27.                 if(mayor<cantidades[i][0]+cantidades[i][1]+cantidades[i][2])
  28.                 {
  29.                         mayor=cantidades[i][0]+cantidades[i][1]+cantidades[i][2];
  30.                         indmay=i;
  31.                 }
  32.                 cout<<endl;
  33.         }
  34.  
  35.         cout<<endl<<endl<<"******* Produccion por turno ******"<<endl;
  36.         //total de produccion por turno
  37.         int suma;
  38.         for(i=0;i<3;i++)
  39.         {
  40.                 cout<<"Turno "<<i+1;
  41.                 suma=0;
  42.                 for(int j=0;j<10;j++)
  43.                 {
  44.                         suma=suma+cantidades[j][i];
  45.                 }
  46.                 cout<<"Produccion total: "<<suma<<endl;
  47.                 cout<<endl;
  48.         }
  49.  
  50.         cout<<endl<<endl<<"******* Articulo con mayor produccion ******"<<endl;
  51.         //articulo con mayor produccion.
  52.         cout<<"Articulo con mayor produccion: "<<articulos[indmay]<<endl;
  53.         cout<<"Cantidad producida: "<<mayor<<endl;
  54.         return 0;
  55. }
  56.  

y de todos modos mejore un poco el codigo espero que te sirva saludos

La idea es que las constantes serviran para ampliar el rango de productos asi como el de los Turnos sin necesidad de modificar el codigo tan solo con cambiar el valor a las constantes.

Código: C++
  1. #include <iostream.h>
  2. #include <conio.h>
  3.  
  4. const MAX = 10;  //Productos
  5. const MAX_T = 3; //Turnos
  6.  
  7. int main()
  8. {
  9.         char articulos[MAX][30];
  10.         int cantidades[MAX][MAX_T], totalXArticulos[MAX], sumaTurnos[MAX_T], indexMayor=0;
  11.         for(int i = 0; i < MAX_T; sumaTurnos[i++]=0); // Inicializar en 0 a sumaTurnos
  12.         for(i = 0; i < MAX; i++)
  13.         {
  14.                 totalXArticulos[i] = 0;
  15.                 cout<<"Ingrese el nombre del articulo Nº "<<i+1<<" : ";
  16.                 cin.getline(articulos[i],30);
  17.                 for(int j = 0; j < MAX_T; j++)
  18.                 {
  19.                         cout<<"Ingrese la produccion del turno "<<j+1<<": ";
  20.                         cin>>cantidades[i][j];
  21.                         sumaTurnos[j] += cantidades[i][j];   // suma[j] = suma[j] + cantidades[i][j];
  22.                         totalXArticulos[i] += cantidades[i][j];
  23.                 }
  24.                 if(totalXArticulos[i] > totalXArticulos[indexMayor])
  25.                         indexMayor = i;
  26.                 cin.ignore();
  27.                 clrscr();
  28.         }      
  29.         cout<<"*******Total de Produccion por articulo ******"<<endl;
  30.         for(i = 0; i < MAX; i++)
  31.                 cout<<"Articulo: "<<articulos[i]<<" ->  Produccion total: "<<totalXArticulos[i]<<endl;
  32.  
  33.         cout<<endl<<endl<<"******* Produccion por turno ******"<<endl;
  34.         for(i = 0; i < MAX_T; i++)
  35.                 cout<<"Turno: "<<i+1<<" -> Produccion total: "<<sumaTurnos[i]<<endl;
  36.  
  37.         cout<<endl<<endl<<"******* Articulo con mayor produccion ******"<<endl;
  38.         cout<<"Articulo con mayor produccion: "<<articulos[indexMayor]<<endl;
  39.         cout<<"Cantidad producida: "<<totalXArticulos[indexMayor]<<endl;
  40.         return 0;
  41. }
  42.  

Saludos