Archivo de Texto en vector
Publicado por Anthony (1 intervención) el 16/07/2016 21:27:41
Buenas, al intentar probar el código se cierra el programa, alguna idea de como arreglarlo ? se que hay algunas inconsistencias pero estoy tratando de que funcione
Source....................................................................................
Leer.cpp.......................................................................
Leer.h.......................................................................................
Source....................................................................................
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "leer.h"
#include <iostream>
using namespace std;
void main()
{
Leer L;
char contenido[1000];
*contenido=L.cargar();
cout<<L.numeros(contenido);
system("pause");
}
Leer.cpp.......................................................................
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include "leer.h"
#include <iostream>
#include <fstream>
using namespace std;
char Leer :: cargar()//cargando el archivo
{
cout << "Arrastre a la pantalla el archivo a analizar" << endl;
cin >> archivo;
system("cls");
ifstream fin(archivo);
if (!fin.fail())
{
int i =0;
while(!fin.eof())
{
fin>>contenido[i];
i++;
}
}
else
{
cout<<"Error al abrir archivo"<<endl;
system ("pause");
}
return *contenido;
}
int Leer :: numeros(char contenido[1000])//determinamos si son numeros
{
for (int i=0;i<1000;i++)
{
if (isdigit(contenido[i]))
{
cnum++;
}
}
return(cnum);
}
int Leer :: palabras(char contenido[1000])//determinando si son palabras
{
for (int i=0;i<sizeof(contenido);i++)
{
if (isspace(contenido[i]))
{
cpalabra++;
}
}
return(cpalabra);
}
int Leer :: letras(char contenido[1000])//determinamos si es letra
{
for (int i=0;i<sizeof(contenido);i++)
{
if (islower(contenido[i])||isupper(contenido[i]))
{
calpha++;
}
}
return(calpha);
}
int Leer :: cespecial(char contenido [1000])//caracteres especiales, puntos comas etc
{
for (int i=0;i<sizeof(contenido);i++)
{
if (!isalpha(contenido[i]))
{
cother++;
if (contenido[i] == ',')
{
ccoma++;
}
if (contenido[i] == '.')
{
cpunto++;
}
if (contenido[i] == ':')
{
cdospuntos++;
}
if (contenido[i] == ';')
{
cpuntoycoma++;
}
}
}
return(cother,ccoma,cpunto,cdospuntos,cpuntoycoma);
}
void Leer :: mostrar()//mostramos en pantalla todos los datos requeridos (esta asi de manera temporal)
{
cout << "numero de comas es :" << ccoma << endl;
cout << "numero de punto es :" << cpunto << endl;
cout << "numero de los dos puntos :" << cdospuntos << endl;
cout << "numero de punto y coma es :" << cpuntoycoma << endl;
cout << "numero de caracteres con espacios en blacos es :" << cpalabra+cnum + cother + calpha-1 << endl;
cout << "la ubicacion del archivo es :" << archivo << endl;
system("pause");
}
Leer.h.......................................................................................
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
#ifndef _LEER_H __LEER_H
#define _LEER_H
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
// Declaración de la clase
typedef class Leer
{
//Atributos
private:
int cpalabra;
int cnum;
int cother;
int cchar;
int ccoma;
int cpunto;
int cpuntoycoma;
int cdospuntos;
int calpha;
char next;
char archivo[1000];
//Métodos
public:
char cargar();
int numeros(char contenido[]);
int palabras(char contenido[]);
int cespecial(char contenido[]);
int letras(char contenido[]);
void mostrar();
char contenido[1000];
}Tleer;
#endif /*__LEER_H */
Valora esta pregunta
0