Programa usando libreria fstream

Iniciado por @ron, 14 Abril 2011, 03:01 AM

0 Miembros y 1 Visitante están viendo este tema.

@ron

El siguiente programa prentende hacer algo como esto:

1 hp 9000
2 dell 1100
3 toshiba 7500
...

Es decir me pedira que escriba: "marca de computadora" y "precio de la computadora" pero de 5 diferentes para comenzar pero seran al final los que yo queria, al pedirmelo se escribira automaticamente en un archivo de texto. Despues de esto mostrara en pantalla lo que esta escrito en el archivo de texto. Para lograr que sea repetitivo la escritura y lectura utilizare while. Este ultimo, la lectura es la que no logro desplegar en pantalla porque no se como realizarlo.

Al inicio pretendida declarar a 1 como int, a hp como char y a 9000 como float o int por si las dudas. Entoncs a 1 le daria el nombre de a1 y a hp b1 y asi sucecivamente para la siguiente linea 2 seria de tipo int a2 asta llegar al 10 y b2 y c2. Yo queria hacer que el a1 a2 a3 fuese con un while para ahorrar instrucciones pero el b1 al ser declarado de tipo char no se como lograr cambiar el nombre o propongan otra manera.

Les dejo el codigo para aversi me pueden ayudar.

Programa creado en Visual Studio 2010
Sobre windows 7 64 bits

**Aclarando para la ultima parte de la lectura es donde estoy batallando

Saludos

// Proyecto3G2-4.cpp: archivo de proyecto principal.

#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include "fstream"

using namespace std;

void main()
{
int a=1; int x; char b[25]; float c;
    ofstream a1("articulos.txt");//para comenzar a crear y escribir
if(!a1){cout<<"Error al crear el flujo";}
while(x < 2) //CAMBIAR EL NUMERO 2 POR 10
{cout<<"Marca de computadora: ";cin>>b;//acepta el introducir valores como sony vaio
cout<<"Precio de la computadora: ";cin>>c;//definida como float por si se llegase a poner decimales
a1 <<a<<" "<<b<<" "<<c;x++;a++;}
a1.close();

ifstream a2("articulos.txt");//comenzar a leer archivo
if(!a2){cout<<"Error al crear el flujo";}
int d; char e[50]; int f;
int y=1;
while (y < 2)
{
a2>>d>>e>>f;
cout<<d<<" "<<e<<" "<<f;y++;
}
a2.close();

getch();
}