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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / help con mi vector e.e en: 17 Marzo 2016, 04:22 am
buenas noches a la comunidad como el asunto dice necesito una ayuda con mi vector e.e ya que tengo que hacer que cuando pase a llamar la funcion muestra 2 si dice que los datos son incorrectos te mandaria denuevo a la muestra (la idea con el vector reiniciado) pero es todo lo contrario xD intente con una funcion aparte para reiniciar pero creo que anda mal formulada espero que me ayuden e.e
e aqui el codigo

Código
  1. #include <iostream>
  2. #include <math.h>
  3. #include <stdio.h>
  4. #include <cstdlib>
  5. #include <windows.h>
  6. using namespace std;
  7.  
  8. int opcion;
  9. int opcionM;
  10. int opcionM2;
  11. int finca[4];
  12. int x;
  13. int repeticion;
  14. int total_de_produccion;
  15. int mayor;
  16. float promedio;
  17. float porcentaje;
  18. float porcentaje1;
  19. float porcentaje2;
  20. float porcentaje3;
  21. void inicio ();
  22. void muestra ();
  23. void muestra2 ();
  24. void captura ();
  25. void proceso ();
  26. void resultado();
  27. void reinicio ();
  28. void salida ();
  29.  
  30. void inicio (){
  31. do{
  32. char opcion;
  33.  
  34. printf("%60s","BIENVENIDO AL PROGRAMA\n\n");
  35. printf("%76s","en dicho programa calcularemos produccion de fincas\n\n");
  36. printf("%80s","dependiendo de su promedio,mayor productor y porcentaje del productor\n\n");
  37. printf("%60s","Desea continuar al menu?\n");
  38. printf("%65s","si = 1         no = 2       \n");
  39. scanf("%c",&opcion);
  40.  
  41. switch (opcion)
  42. {case '1': muestra(); break;
  43. case '2': resultado();break;
  44. default:
  45. printf("%60s","DATO INVALIDO INTENTE DENUEVO! \n");
  46.  
  47. system ("pause");
  48. system("cls");
  49. break;
  50. }
  51.  
  52. }while(opcion);
  53. }
  54. void muestra(){
  55. do{
  56. char opcionM;
  57. system("cls");
  58. printf("\n");
  59. printf("%66s","Datos de la Aplicacion\n\n");
  60. for(int i =0;i<=3;i++){
  61. printf("%20s%d%20s%d%1s","Finca ",i+1,"\t\t",finca[i],"\n");
  62. }
  63. printf("%68s","< 1: Ingresar / 2: Procesar / 3:Salir>\n\n");
  64. printf("%55s","Opcion: ");
  65. scanf("%s",&opcionM);
  66. switch (opcionM)
  67. {case '1': captura(); break;
  68. case '2': proceso();break;
  69. case '3': resultado();break;
  70. default:
  71. printf("%60s","DATO INVALIDO INTENTE DENUEVO! \n");
  72. system ("pause");
  73. system("cls");
  74. break;
  75. }
  76. }while(opcionM);
  77. }
  78.  
  79. void muestra2(){
  80. do{
  81. char opcionM2;
  82. system("cls");
  83. printf("\n");
  84. printf("%66s","Datos de la Aplicacion\n\n");
  85. for(int i =0;i<=3;i++){
  86. printf("%20s%d%20s%d%1s","Finca ",i+1,"\t\t",finca[i],"\n");
  87. }
  88. printf("%68s","< 1: Datos Correctos?  / 2: Datos Incorrectos >\n\n");
  89. printf("%55s","Opcion: ");
  90. scanf("%s",&opcionM2);
  91. switch (opcionM2)
  92. {case '1': resultado();break;
  93. case '2': muestra ();break;
  94. default:
  95. printf("%60s","DATO INVALIDO INTENTE DENUEVO! \n");
  96. system ("pause");
  97. system("cls");
  98. break;
  99. }
  100.  
  101. }while(opcionM2);
  102. }
  103.  
  104. void captura(){
  105.    x=x+1;  
  106. if(x==1)
  107. for(int i =0;i<=3;){
  108. bool equivocado=true;
  109. do{
  110. equivocado=false;
  111. cout<<"Introduzca la produccion de la Finca "<<i+1<<" entre 400 hasta 2500: "<<endl;
  112. scanf("%d",&finca[i]);
  113. if(finca[i] <= 2500 && finca[i] >= 400){
  114. equivocado=false;
  115. return muestra();
  116. i++;
  117. }else{
  118. equivocado=true;cout<<"ERROR INSERTE DENUEVO LA PRODUCCION ENTRE 400 A 2500 "<<endl;
  119. system("pause");
  120. }
  121.  
  122. }while(equivocado);
  123. }
  124. if(x==2)
  125. for(int i =1;i<=3;){
  126. bool equivocado=true;
  127. do{
  128. equivocado=false;
  129. cout<<"Introduzca la produccion de la Finca "<<i+1<<" entre 400 hasta 2500: "<<endl;
  130. scanf("%d",&finca[i]);
  131. if(finca[i] <= 2500 && finca[i] >= 400){
  132. equivocado=false;
  133. return muestra();
  134. i++;
  135. }else{
  136. equivocado=true;cout<<"ERROR INSERTE DENUEVO LA PRODUCCION ENTRE 400 A 2500 "<<endl;
  137. system("pause");
  138. }
  139.  
  140. }while(equivocado);
  141. }
  142. if(x==3)
  143. for(int i =2;i<=3;){
  144. bool equivocado=true;
  145. do{
  146. equivocado=false;
  147. cout<<"Introduzca la produccion de la Finca "<<i+1<<" entre 400 hasta 2500: "<<endl;
  148. scanf("%d",&finca[i]);
  149. if(finca[i] <= 2500 && finca[i] >= 400){
  150. equivocado=false;
  151. return muestra();
  152. i++;
  153. }else{
  154. equivocado=true;cout<<"ERROR INSERTE DENUEVO LA PRODUCCION ENTRE 400 A 2500 "<<endl;
  155. system("pause");
  156. }
  157.  
  158. }while(equivocado);
  159. }
  160.  
  161. if(x==4)
  162. for(int i =3;i<=3;){
  163. bool equivocado=true;
  164. do{
  165. equivocado=false;
  166. cout<<"Introduzca la produccion de la Finca "<<i+1<<" entre 400 hasta 2500: "<<endl;
  167. scanf("%d",&finca[i]);
  168. if(finca[i] <= 2500 && finca[i] >= 400){
  169. equivocado=false;
  170. return muestra();
  171. }else{
  172. equivocado=true;cout<<"ERROR INSERTE DENUEVO LA PRODUCCION ENTRE 400 A 2500 "<<endl;
  173. system("pause");
  174. }
  175.  
  176. }while(equivocado);
  177. }
  178.  
  179. }
  180. void proceso(){
  181. for(int i =0;i<=3;i++){
  182. finca[i] > mayor;
  183. mayor = finca[i];
  184. }
  185. total_de_produccion=finca[0]+finca[1]+finca[2]+finca[3];
  186. promedio= total_de_produccion/4;
  187. porcentaje=finca[0]*100/total_de_produccion;
  188. porcentaje1=finca[1]*100/total_de_produccion;
  189. porcentaje2=finca[2]*100/total_de_produccion;
  190. porcentaje3=finca[3]*100/total_de_produccion;
  191. return(muestra2());
  192. return(resultado());
  193. }
  194. void reinicio (){
  195. finca[0]=0;
  196. finca[1]=0;
  197. finca[2]=0;
  198. finca[3]=0;
  199. return muestra2 ();
  200. }
  201. void resultado(){
  202. system("cls");
  203. printf("%66s","Datos de la Aplicacion\n\n");
  204. printf("%20s%25s%d%1s","ProduccionTotal: ","\t",total_de_produccion,"\n");
  205. printf("%20s%25s%d%11s","Mayor Productor: ","\t",mayor,"\n");
  206. printf("%20s%25s%0.0f%1s","Promedio: ","\t",promedio,"\n");
  207. printf("%20s%5s%0.0f%1s","porcentaje del productor 1: ","\t",porcentaje,"%\n");
  208. printf("%20s%5s%0.0f%1s","porcentaje del productor 2: ","\t",porcentaje1,"%\n");
  209. printf("%20s%5s%0.0f%1s","porcentaje del productor 3: ","\t",porcentaje2,"%\n");
  210. printf("%20s%5s%0.0f%1s","porcentaje del productor 4: ","\t",porcentaje3,"%\n");
  211. system("pause");
  212.    salida();
  213. }
  214. void salida(){
  215. system("cls");
  216. printf("%69s","= Gracias por utilizar el programa hasta luego = " "\n");
  217. system ("pause");
  218. exit (0);
  219. }
  220.  
  221. int main(){
  222. inicio();
  223. captura();
  224. muestra();
  225. muestra2();
  226. proceso();
  227. resultado();
  228. reinicio();
  229. salida();
  230. }[/ode]
  231.  
  232.  
  233. [color=brown][b]Mod: Los códigos deben ir en etiquetas GeSHi[/b][/color]
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines