elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como implementar clases amigas en este codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como implementar clases amigas en este codigo  (Leído 1,563 veces)
planta12

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Como implementar clases amigas en este codigo
« en: 5 Octubre 2015, 02:56 am »

Hola a todos, gracias por su ayuda y tiempo
como puedo implementar clases amigas y el puntero this en este código, es una agenda también tengo mucho código innecesario y que no utilizo.

Código
  1. #include<iostream>
  2. #include<stdlib.h>
  3. #include<stdio.h>
  4. #include<conio.h>
  5. #include<iomanip>
  6.  
  7. using namespace std;
  8.  
  9. char nombre[500000][500];
  10. int Edad[30];
  11. int Mat[230];
  12. int Tel[30];
  13. int bucle;
  14.  
  15. //Agenda 2
  16. char nombreA1[500000][500];
  17. int EdadA1[30];
  18. int MatA1[230];
  19. int TelA1[30];
  20. int bucleA1,hj;
  21. class Agenda
  22. {
  23. public:
  24. Agenda()
  25. {
  26. cout<<"\n\t->Constructor"<<endl;
  27. }
  28. ~Agenda()
  29. {
  30. cout<<"\n\t->Destructor"<<endl;
  31. }
  32. Agenda &establecehora( int );
  33. void Nombre(char a);
  34. int Matricula(int);
  35. int Edad(int);
  36. int Tel(int);
  37. friend class Agenda1;
  38. void convMayusc(char *s);
  39. void Inicial();
  40. private:
  41. friend void convMayusc(char *s);
  42. int hora;
  43.  
  44. };
  45.  
  46. class Agenda1
  47. {
  48. public:
  49. Agenda1()
  50. {
  51.  
  52. }
  53. void convMayusc(char *s);
  54. void estableceX(Agenda &, int);
  55. }User[10];
  56. void Agenda1::convMayusc(char *s)
  57. {
  58. while(*s != '\0')
  59. {
  60. if(*s >= 'a' && *s <= 'z'){
  61. *s-=32;
  62. }
  63. ++s;
  64. }
  65. }
  66. int Agenda::Matricula(int x)
  67. {
  68. cout<<"#"<<Mat<<endl;
  69. }
  70. void Agenda::convMayusc(char *s)
  71. {
  72. while(*s != '\0')
  73. {
  74. if(*s >= 'a' && *s <= 'z'){
  75. *s-=32;
  76. }
  77. ++s;
  78. }
  79.  
  80.  
  81. }
  82. Agenda &Agenda::establecehora( int h )
  83. {
  84. hj=24;
  85.     hora = ( h >= 0 && h < 50 ) ? h : 0;
  86.     return *this;
  87. }
  88. Agenda h;
  89. void Inicial()
  90. {
  91. for(int i=0;i<bucle;i++)
  92. {
  93. cout<<"\n\tUsuario["<<i+1<<"]"<<endl;
  94. cout<<"\n\t["<<i+1<<"]-Nombre completo ";
  95. gets(nombre[i]);
  96. gets(nombre[i]);
  97. h.convMayusc(nombre[i]);
  98. cout<<"\n\t["<<i+1<<"]-Edad ";
  99. cin>>Edad[i];
  100. cout<<"\n\t["<<i+1<<"]-Matricula ";
  101. cin>>Mat[i];
  102. cout<<"\n\t["<<i+1<<"]-Telefono ";
  103. cin>>Tel[i];
  104. }
  105. }
  106.  
  107. void Mostrar()
  108. {
  109. char c=219;
  110. for( int i=0;i<bucle;i++)
  111. {
  112. cout<<"Nombre:     "<<nombre[i]<<endl;
  113. cout<<"Edad:       "<<Edad[i]<<endl;
  114. cout<<"Matricula: #"<<Mat[i]<<endl;
  115. cout<<"Telefono:   "<<Tel[i]<<endl<<endl;
  116.  
  117. for(int j=0;j<40;j++)
  118. {
  119. cout<<c<<" ";
  120. }
  121. }
  122. }
  123. void newArray()
  124. {
  125. Agenda1 Object;
  126. for(int j=0;j<bucleA1;j++)
  127. {
  128. cout<<"\n\tUsuario["<<j+1<<"]"<<endl;
  129. cout<<"\n\t["<<j+1<<"]-Nombre completo ";
  130. gets(nombreA1[j]);
  131. gets(nombreA1[j]);
  132. Object.convMayusc(nombreA1[j]);
  133. cout<<"\n\t["<<j+1<<"]-Edad ";
  134. cin>>EdadA1[j];
  135. cout<<"\n\t["<<j+1<<"]-Matricula ";
  136. cin>>MatA1[j];
  137. cout<<"\n\t["<<j+1<<"]-Telefono ";
  138. cin>>TelA1[j];
  139. }
  140. }
  141. void newArrayPrint()
  142. {
  143. char c=219;
  144. for(int j=0;j<bucle;j++)
  145. {
  146. cout<<"Nombre:     "<<nombreA1[j]<<endl;
  147. cout<<"Edad:       "<<EdadA1[j]<<endl;
  148. cout<<"Matricula: #"<<MatA1[j]<<endl;
  149. cout<<"Telefono:   "<<TelA1[j]<<endl<<endl;
  150. for(int j=0;j<40;j++)
  151. {
  152. cout<<c<<" ";
  153. }
  154. }
  155. }
  156.  
  157. void Search()
  158. {
  159. int mat1,cont;
  160. cout<<"\n\tIngresa Nombre o Matricula o numero de tel. a buscar ";
  161. cin>>mat1;
  162. for(int i=0;i<bucle;i++)
  163. {
  164. if( mat1==Mat[i] || mat1==Tel[i] || mat1==nombre [i][500] )
  165. {
  166. cout<<"Nombre:     "<<nombre[i]<<endl;
  167. cout<<"Edad:       "<<Edad[i]<<endl;
  168. cout<<"Matricula: #"<<Mat[i]<<endl;
  169. cout<<"Telefono:   "<<Tel[i]<<endl<<endl;
  170. cont++;
  171. }
  172. if( mat1==MatA1[i] || mat1==TelA1[i] || mat1==nombreA1 [i][500] )
  173. {
  174. cout<<"Nombre:     "<<nombreA1[i]<<endl;
  175. cout<<"Edad:       "<<EdadA1[i]<<endl;
  176. cout<<"Matricula: #"<<MatA1[i]<<endl;
  177. cout<<"Telefono:   "<<TelA1[i]<<endl<<endl;
  178. cont++;
  179. }
  180. else if(cont<1)
  181. {
  182. cout<<"\n\tNo se encontaron resultados en la base de datos";
  183. cont=0;
  184. }
  185. }
  186. }
  187.  
  188. void borrar()
  189. {
  190. for(int i=0;i<bucle+bucleA1;i++)
  191. {
  192. int *pointer;
  193. pointer = new int(Edad[i]);
  194. cout<< pointer<<endl;;
  195. delete pointer;
  196. }
  197. }
  198.  
  199.  
  200. int main()
  201. {
  202. Agenda Hora;
  203. int op,cont=1,op2;
  204. do{
  205. Hora.establecehora(hj);
  206.    cout<< setw(70)<<" Semptiembre "<<hj<<" 2015" <<endl;
  207. cout<<"\n\t1-Nueva entrada 2-Ver entradas 3-Salir ";
  208. cin>>op;
  209. cout<<endl;
  210. switch(op)
  211. {
  212. case 1:
  213. cout<<"\n\tCuantas entradas quieres ingresar ";
  214. cin>>bucle;
  215. Inicial();
  216. break;
  217. case 2:
  218. Mostrar();
  219. if(cont==2)
  220. {
  221. newArrayPrint();
  222. }
  223. do{
  224. cout<<"\n\t1-Buscar contacto 2-Nueva entrada 3-Continuar ";
  225. cin>>op2;
  226. switch(op2)
  227. {
  228. case 1:
  229. Search();
  230. break;
  231. case 2:
  232. cont=1;
  233. cont++;
  234. cout<<"\n\tCuantas entradas quieres ingresar ";
  235. cin>>bucleA1;
  236. newArray();
  237. //newArrayPrint();
  238. break;
  239. }
  240. /*getch();
  241. system("cls");*/
  242. }while(op2!=3);
  243. break;
  244. case 3:
  245. borrar();
  246. Mostrar();
  247. cout<<"\n\tSaliendo"<<endl;
  248.  
  249. break;
  250. }
  251. getch();
  252. system("cls");
  253. }while(op!=3);
  254. return 0;
  255. }
  256.  
  257.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines