Como pasar este programa a una clase
Publicado por Oscar Antonio (3 intervenciones) el 03/01/2017 15:35:05
Tengo el siguiente programa echo con struct, pero necesito hacerlo con clases, es para llevar el control de los relojes que entran en una relojeria; hay que listar los tipos de reloj, imprimir los reloj con igual hora de rotos, en el caso 4 los recepcionados entre un segmento de hora determinado, en el caso 5 cuantos relojes se recepcionaron de cada tipo y el caso 6 una lista ordenada descendente de las horas de llegadas de cada reloj
FAVOR ALGUIEN ME DA UNA MANO
FAVOR ALGUIEN ME DA UNA MANO
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
//---------------------------------------------------------------------------
struct relojeria {
string nombre; //nombre del dueño del reloj
char MReloj[10]; // marca del reloj
int tr; // tipo de reloj
float HoraR; // hora del reloj cdo se rompió
float HoraLl; //hora de llegada a la relojeria
} cliente[50];
float B[50];
void printTR(int); // imprime el tipo de reloj
void idemHora(int);
void printSegmento(int);
void TipoReloj(int);
void inarreglo(int); //introduce en un arreglo las horas de llegadas de los relojes
void ordena(int); // ordena descendente las horas de llegadas de los relojes
void imprimeLOD(int); // imprime a lista
int main () //*********PROGRMA PRINCIPAL**************//
{
int i, opc;
int c=0;
do { /* Inicio del ciclo que imprime el menú*/
cout << "\n MENU \n******************************************\n* *\n";
cout << "* Que operacion desea realizar? *\n* 1 = Insertar datos *\n* 2 = Tipos de Reloj *\n";
cout << "* 3 = Reloj roto con igual Hora *\n* 4 = Recepcionados entre las... *\n";
cout << "* 5 = Total por tipo de reloj *\n* 6 = List. de hora desc (Reloj pulsera) *\n* 0 = Salir *\n";
cout << "* *\n******************************************\n";
cin >> opc;
switch (opc) {
case 1: //Insertar datos
if(c >= 50) // Verifica si hay espacio
cout << "LA RELOJERIA ESTA EN INVENTARIO" << endl;
else {
cout << "Ingresa los datos del Reloj" << endl;
cout << "Nombre del Cliente: "; cin >> cliente[c].nombre;
cout << "Marca: "; cin >> cliente[c].MReloj;
cout << "Tipo: (1)-Pulsera, (2)-Despertador, (3)-Pared => "; cin >> cliente[c].tr;
cout << "Hora de rotura [h.m]: "; cin >> cliente[c].HoraR;
cout << "Hora de llegada [h.m]: "; cin >> cliente[c].HoraLl;
c++;
system("PAUSE"); cout << endl;
}
break;
case 2: //Tipos de Reloj
printTR(c);
system("PAUSE");
break;
case 3: // Reloj roto con igual Hora
idemHora(c);
break;
case 4: // Recepcionados entre dos horas dadas
printSegmento(c);
break;
case 5: //Total por tipo de reloj
TipoReloj(c);
break;
case 6: // Hora de los Reloj pulsera descendente
int i, j; i=j=0;
inarreglo(c); // meter en un registro la hora del reloj cdo se rompió
ordena(c); // lista ordenada descendente mediante algoritmo burbuja
imprimeLOD(c); // Imprime esa lista
break;
case 0: // Caso salir, no hace nada
cout << "Finalizando programa" << endl;
break;
default: // Otra opcion: no válida
cout << "Opcion desconocida!" << endl;
break;
}
} while (opc !=0 ); // El ciclo do-while se repite mientras la opción no sea salir (6)
return 0;
} //***********************FINALIZA PROGRMA PRINCIPAL********************************//
//--------------------------case 2----------------------------------------------
void printTR(int f) {
int i=0;
while(i < f) {
if (cliente[i].tr != 0) cout << "tipo>"<< cliente[i].tr<< endl;
i++;
}
}
//--------------------------case 3----------------------------------------------
void idemHora(int d) {
int k; k=1;
for(int j = 0; j < d-1; j++) {
for(k = k+j; k < d; k++) {
if (cliente[j].HoraR == cliente[k].HoraR)
cout << "El reloj de "<< cliente[j].nombre << " tiene la misma hora ( " << cliente[j].HoraR << " ) que el reloj de " << cliente[k].nombre << endl;
}
k= j+1;
}
}
//--------------------------case 4----------------------------------------------
void printSegmento(int d) {
int cant, i; float h1, h2; cant= i= 0;
cout << "Entre la hora inical=> "; cin >> h1;
cout << "Entre la hora final=> "; cin >> h2;
while(i < d ) {
if (cliente[i].HoraLl >= h1 && cliente[i].HoraLl <= h2) cant++;
i++;
}
cout <<"Se recepcionaron en ese segmento de hora: " << cant << " Reloj(es)"<< endl;
}
//-------------------------case 5----------------------------------------------
void TipoReloj(int d) {
int i, cp, cd, cpa; i= cp= cd= cpa= 0;
while(i <= d) {
if (cliente[i].tr == 1) cp++;
else if (cliente[i].tr == 2) cd++;
else if (cliente[i].tr == 3) cpa++;
i++ ;
}
cout << "Reloj Pulsera=> " << cp << endl;
cout << "Reloj Despertador=> " << cd << endl;
cout << "Reloj Pared=> " << cpa << endl;
}
//-------------------------case 6----------------------------------------------
void inarreglo(int d) {
int i, j; i=j=0;
while(i < d ) {
if (cliente[i].tr == 1 ) {
B[j]= cliente[i].HoraR; //cout << "Nombre: " << cliente[i].nombre << " Hora: " << B[j] << endl;
i++; j++;
}
else i++;
}
}
void ordena( int e) { // Método de ordenación mediante burbuja
int temp;
for ( int m = 0; m < e ; m++ ) {
for ( int n = 0; n <= e; n++ ) {
if ( B[n] < B[n + 1] ) {
temp = B[n]; //cout << "temp= " << temp << endl;
B[n] = B[n + 1]; //cout << "Bn= "<< B[n] << endl;
B[n + 1] = temp; //cout << "Bn+1= " << B[n+1] << endl;
}
}
}
}
void imprimeLOD( int d ) {
cout << "Listado descendente: ";
for ( int i = 0; i < d; i++ ) {
cout << B[i] << " ";
}
cout << endl;
}
Valora esta pregunta
0