Dev - C++ - Archivo Externo

 
Vista:
sin imagen de perfil

Archivo Externo

Publicado por Roberto (4 intervenciones) el 10/03/2017 00:07:57
Hola Amigos

Necesito de su ayuda para este programa

Este programa debe leer de un archivo externo los numeros escritos en ese notepad. Y a su vez debe mostrar cuantos son positivos, cuantos son negativos y cuantos son ceros. No domino mucho este tema de archivos externos asi que si me pueden ayudar se los agradezo. Gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
	string n=0;
	int cant_dig = 0;
	int cant_pos = 0;
	int cant_neg = 0;
	int cant_cer = 0;
 
 
	ifstream salida; // external   file
	salida.open("salida.txt", ios::in);
 
	{
	n = n
	if (n > "-1")  cant_neg = +1;
	else if (n == "0")  cant_cer = +1;
	else if (n > "0")  cant_pos = +1;
 
	getline(salida, n);
	salida >> n;
 
	while (!salida.eof())
	{
		cout << n<< endl;
		getline(salida, n);
		salida >> n;
	}
	salida.close();
 
 
 
 
	cout << "La cantidad de numeros negativos es: " << cant_neg << endl;
	cout << "La cantidad de ceros es: " << cant_cer << endl;
	cout << "La cantidad de numeros positivos es: " << cant_pos << endl;
 
	return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Archivo Externo

Publicado por agustin (522 intervenciones) el 10/03/2017 07:53:32
Prueba asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
	string n;
	int num;
	int cant_pos = 0;
	int cant_neg = 0;
	int cant_cer = 0;
 
	ifstream salida; // external   file
	salida.open("salida.txt", ios::in);
 
	{
	while (!salida.eof())
	{
	    getline(salida, n);
            cout << n << endl;
	    num=stoi (n);
	    if (num < 0)  cant_neg++;
	    else if (n == 0)  cant_cer++;
	    else cant_pos++;
	}
	salida.close();
	cout << "La cantidad de numeros negativos es: " << cant_neg << endl;
	cout << "La cantidad de ceros es: " << cant_cer << endl;
	cout << "La cantidad de numeros positivos es: " << cant_pos << endl;
 
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Archivo Externo

Publicado por agustin (522 intervenciones) el 10/03/2017 12:05:13
Mi codigo corregido porque a mi no me reconoce stoi y ademas tenia alguna que otra cosilla no muy fina.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
	string n;
	int num;
	int cant_pos = 0;
	int cant_neg = 0;
	int cant_cer = 0;
	ifstream salida; // external   file
 
	salida.open("salida.txt", ios::in);
    if(!salida.is_open()){
        cout << "No se encuentra el archivo." << endl;
        return -1;
    }
 
	while (!salida.eof())
	{
	    getline(salida, n);
 
        if(!salida.eof() && n.length() > 0){
            cout << n << endl;
	        num=atoi (n.c_str());
 
	        if (num < 0)  cant_neg++;
	        else if (num == 0)  cant_cer++;
	        else cant_pos++;
        }
	}
	salida.close();
	cout << "La cantidad de numeros negativos es: " << cant_neg << endl;
	cout << "La cantidad de ceros es: " << cant_cer << endl;
	cout << "La cantidad de numeros positivos es: " << cant_pos << endl;
    cout << "Pulse intro para salir";
    cin.get();
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Archivo Externo

Publicado por Roberto (4 intervenciones) el 10/03/2017 18:05:50
agustin. Gracias amigo me has salvado la vida. No encontraba el error. Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar