Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2010, 12:51
otarola
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años, 10 meses
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