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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / 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.  
2  Programación / Programación C/C++ / [Ayuda]como puedo poner los tres productos mas vendidos con este codigo en: 17 Mayo 2015, 03:00 am
tengo dificultades para sacar los 3 productos mas vendidos alguien que me de una idea de como hacerlo. Gracias
Código
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<time.h>
  4. #include<conio.h>
  5. #define size 300
  6. void principal();
  7. void Vendido();
  8. void media(int[]);
  9. void mediana(int[]);
  10. void moda(int[],int[]);
  11. void impArr(int[]);
  12. void bubbleSort(int[]);
  13. int frecuencia[15]={0};
  14. int respuestas[size]={0};
  15.  
  16. main()
  17. {
  18. principal();
  19. getch();
  20. system("cls");
  21. Vendido();
  22. getch();
  23. system("cls");
  24. media(respuestas);
  25. getch();
  26. system("cls");
  27. mediana(respuestas);
  28. getch();
  29. system("cls");
  30. moda(frecuencia,respuestas);
  31. }
  32. void principal()
  33. {
  34. printf("\tBienvenido. Inventario PlantaDynamics.");
  35. printf("\n================================================================================");
  36. printf("\n\tProductos disponibles:");
  37. printf("\n\tProductos           Precio (Dolares)\n");
  38.  
  39. printf("\n\t1-Ununseptio 10g.................. 20  $ USD\n");
  40. printf("\n\t2-Grafeno 10g..................... 40  $ USD\n");        
  41. printf("\n\t3-acelerador de particulas........ 100 $ USD\n");
  42. printf("\n\t4-Telescopio catadioptrico........ 95  $ USD\n");
  43. printf("\n\t5-Reloj atommico.................. 100 $ USD\n");
  44. printf("\n\t6-Computadora cuantica............ 999 $ USD\n");
  45.    printf("\n\t7-Impresora 3D milimetrica........ 799 $ USD\n");
  46.    printf("\n\t8-Fotocelda solar ultra eficiente. 99  $ USD\n");
  47.    printf("\n\t9-Nitrogeno liquido 1L............ 20  $ USD\n");
  48. printf("\n\t10-Holograma atomico.............. 299 $ USD\n");  
  49. }
  50. void Vendido()
  51. {
  52. //int respuestas[size]={0};
  53. int i,c1=1;
  54. srand(time(NULL));
  55. for(i=0;i<size;i++)
  56. {
  57. respuestas[i]=1+rand()%10;
  58. }
  59. printf("\n\tProductos vendidos durante la semana por cada 30 bloques");
  60. for(i=0;i<size;i++)
  61. {
  62. if(i%30==0)
  63. {
  64. printf("\n");
  65. printf("--------------------------------------------------------------------------------\n");
  66. }
  67. printf("\t%3d",respuestas[i]);
  68. }
  69. }
  70. void media(int sol[])
  71. {
  72. int j, total=0, temp=0;
  73.  
  74. printf("\n\t Media de Ventas mensuales. PlantaDynamics");
  75. for(j=0;j<size;j++)
  76.    total +=sol[j];
  77.  
  78.    printf("\nLa media es: %d / %d =%.4f\n\n",total, size,(float)total/size);
  79. }
  80. void mediana(int sol[])
  81. {
  82. printf("\n\t Mediana de Ventas mensuales. PlantaDynamics");
  83. printf("\n================================================================================");
  84.  
  85. printf("\n\nLa mediana es el elemento %d del total de %d Ventas . \nPara este inventario la mediana es: %d",size/2,size,sol[size/2]);
  86.  
  87. }
  88.  
  89. void moda(int freq[], int sol[])
  90. {
  91. int rating, j, h, mayor=0, valormoda=0;
  92.  
  93. printf("\n\t Moda de Ventas mensuales. PlantaDynamics");
  94. printf("\n================================================================================");
  95.  
  96. for(rating=1;rating<=9;rating++)
  97. freq[rating]=0;
  98.  
  99. for(j=0;j<size;j++)
  100. ++freq[sol[j]];
  101.  
  102. printf("\nProducto    Frecuencia    Histograma\n");
  103.  
  104. for(rating=1;rating<=10;rating++)
  105. {
  106. printf("%5d%15d      ", rating,freq[rating]);
  107. if(freq[rating]){
  108. mayor=freq[rating];
  109. valormoda=rating;
  110. }
  111.  
  112. for(h=1;h<=freq[rating];h++)
  113. printf("* ");
  114.  
  115. printf("\n");
  116.  
  117. printf("\nLa moda es el valor que se repite con mayor frecuencia.\n Para este cuestionario la moda es %d que se repite %d veces.\n\n\n",valormoda, mayor);
  118.  
  119. }
  120. }
  121. void bubbleSort(int a[])
  122. {
  123. int pasada, j, temp;
  124.  
  125. for(pasada=1; pasada<size;pasada++){
  126. for(j=0;j<=size-2;j++){
  127. if(a[j]>a[j+1]){
  128. temp=a[j];
  129. a[j]=a[j+1];
  130. a[j+1]=temp;
  131. }
  132. }
  133. }
  134.  
  135.  
  136. }
  137. void impArr(int a[]){
  138. int j;
  139.  
  140. for(j=0;j<size;j++){
  141. if(j%20==0)
  142. printf("\n");
  143.  
  144. printf("%2d", a[j]);
  145. }
  146. }
  147.  
  148.  
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines