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

problema con codigo

Estas en el tema de problema con codigo en el foro de C/C++ en Foros del Web. Buenas pues resulta que tengo que presentar un proyecto pero desde hace dias tengo problemas, el proyecto tiene ir en un archivo, el problema es ...
  #1 (permalink)  
Antiguo 05/05/2010, 12:51
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
problema con codigo

Buenas pues resulta que tengo que presentar un proyecto pero desde hace dias tengo problemas, el proyecto tiene ir en un archivo, el problema es que por mas que he tratado siempre se me encicla al momento de utilizar un ingreso de una oracion y no se que lo causa alguien podria ayudarme este es el codigo
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <fstream>
#include <iomanip>

using std::string;
using namespace std;

int obtenerseleccion();
int abrirArchivo(char *);
int crearArchivo(char *);
int ingresoDato(char *);

char *inventario = "inventario.txt";
char *encabezado = "encabezado.txt";
char *detalle = "detalle.txt";
enum menu{ingresari=1,modificari,eliminari,ingresarp,mo dificarp,eliminarp,fin};// par funcion switch de inicio
int main ()
{
int seleccion;
while (seleccion != fin){
seleccion = obtenerseleccion();

switch (seleccion)
{
case ingresari:
crearArchivo(inventario);
ingresoDato(inventario);
// abrirArchivo(char *);

break;

case modificari:
crearArchivo(inventario);
break;

case eliminari:
crearArchivo(inventario);
break;

case ingresarp:
crearArchivo(inventario);
break;

case modificarp:
crearArchivo(inventario);
break;

case eliminarp:
crearArchivo(inventario);
break;
system ("pause");

} // fin switch menu

} //fin while
system ("pause");
return (0);
}// fin main

// seleccionar switch
int obtenerseleccion()
{
int solicitud;
// mostrar opciones
cout << "1 ingresar al inventario"<< endl
<< "2 Modificar el inventario"<< endl
<< "3 Eliminar del Inventario" << endl
<< "4 Ingresar pedido" << endl
<< "5 Modificar Pedido" << endl
<< "6 Eliminar Pedido" <<endl
<< "7 Salir";

// introducir opcion

cout<< "\n-";
cin >> solicitud;

while ( (solicitud >=ingresari) && (solicitud<=fin))
return solicitud;
}// fin funcion obtener seleccion

int crearArchivo( char *nombrearchivo)
{

ofstream archivo("inventario.txt",ios::app);

if(archivo.bad()) {
cout << "Error al tratar de crear archivo";
cin.get();
return 1;

}// fin if

char indicador='S';
while ((indicador=='S')||(indicador == 's' ))
{
int codigopi,numeroi;
char descripcioni[50];
double altoi, largoi, anchoi, costoi;
cout <<"ingrese el codigo de la herramienta\n";
cin>>codigopi;
cout <<"ingrese el numero de piezas\n";
cin>>numeroi;
cout <<"descripcion de la pieza\n";
cin.getline( descripcioni,50);
for(int i=0;strlen(descripcioni) < 50;i++)
{
strcat(descripcioni," ");

}
cout <<"definicion:"<< descripcioni<<endl;
cin.ignore();

cout<< "ingrese el alto\n";
cin>>altoi;
cout<<"ingrese el largo\n" ;
cin>>largoi;
cout<<"ingrese el ancho\n" ;
cin>>anchoi;
cout<<"ingrese el costo\n" ;
cin>>costoi;
archivo <<setw(8)<<codigopi<<setw(4)<<numeroi<<setw(50)<<d escripcioni<<endl<< setw(8)<<altoi<<setw(8)<<largoi<<setw(8)<< anchoi<<setw(12)<<costoi<<endl;
cout << "Si desea otro registro presione s\n"
<< "- ";
cin>> indicador;

}//fin for
archivo.close();
system("pause");
}//fin funcion creararchivo


int ingresoDato(char *nombrearchivo)
{
ifstream archivo("inventario.txt",ios::in);

if(archivo.bad()) {
cout << "Error al tratar de crear archivo";
cin.get();
return 1;
}// fin if
int codigopi,numeroi;
char descripcioni[50];
double altoi, largoi, anchoi, costoi;


while(!archivo.eof())
{
archivo >>setw(8)>>codigopi>>setw(4)>>numeroi>>setw(50)>>d escripcioni>>setw(8)>> altoi>>setw(8)>>largoi>> setw(8)>>anchoi>>setw(12)>>costoi;
cout <<setw(16)<<codigopi<<setw(4)<<numeroi<<setw(50)<< descripcioni<< setw(8)<<altoi<<setw(8)<<largoi<<setw(8)<< anchoi<<setw(12)<<costoi<<endl;
}
archivo.close();
}//fin funcion ingreso dato
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 10:08.