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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa de taquilla de cine. Ayuda porfa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa de taquilla de cine. Ayuda porfa  (Leído 5,044 veces)
JasBarrera

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Programa de taquilla de cine. Ayuda porfa
« en: 6 Mayo 2022, 04:15 am »

Buen dia amigos, miren estoy haciendo una taquilla de cine, el problema que tengo es que al final debe de imprimir el recibo en un archivo de texto, el problema es que el texto aparece en blanco. Les agradecería su ayuda :)
código :
Código
  1. #include <fstream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. #include <iostream>
  6. #include <windows.h>
  7. #include <time.h>
  8. #include <string>
  9.  
  10. int asientos (void);
  11.  
  12. using namespace std;
  13.  
  14. int columna[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9}, Matriz[9][16] = { 0 };
  15. string filas[13] = {" ","1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
  16. int tip, fun;
  17. int i, x, l, j, m, z, r, o, a, y, rf, p;
  18.  
  19. int asientos(void){
  20. int i, x, l, m, z, r, o, a, y;
  21. int columna[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9 }, Matriz[9][16] = { 0 };
  22. string filas[13] = {" ","1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
  23.    int tip, fun;
  24.    sillas:
  25.     cout << "\t Los asientos vacios estan representados con un 0" <<endl;
  26.     cout << "\t Unicamente se pueden seleccionar los asientos vacios" << endl;
  27.     for(i = 0; i < 13; i++){
  28.     cout << "\t" <<filas[i];
  29. }
  30. cout << endl;
  31. for (i = 0; i < 9; i++){
  32. cout <<"\t" <<columna[i];
  33. for(j = 0; j < 12; j++){
  34. cout << "\t" << Matriz[i][j];
  35. }
  36. cout <<endl;
  37. }
  38. cout <<"\t ¿Que asientos desea reservar?(Maximo 10)"<<endl;
  39. Sleep(3000);
  40. cout<< "\t ¿Cuantos asientos quiere?"<<endl;
  41. cin>>l;
  42. if(l > 0 && l <= 10){
  43. for(z = 1; z <= 1; z++){
  44. p++;
  45. Asi:
  46.    cout << "\t ¿Que ubicacion desea?" <<endl;
  47. cout << "\t Filas: "<<endl;
  48. cin>>x;
  49. cout<<endl;
  50. cout << "\t Columnas: "<<endl;
  51. cin>>m;
  52. if(Matriz[x - 1][m - 1] == 0){
  53. if((x > 0 && x <= 9) && (m > 0 && m <= 16)){
  54. for(i = 0; i < 9; i++){
  55. for(j = 0; j < 16; j++){
  56. Matriz[x - 1][m - 1] = 1;
  57. }
  58. }
  59. }
  60. else{
  61. cout <<"\t Este asiento no existe"<<endl;
  62. goto menu1;
  63. }
  64. }
  65. else{
  66. cout << "Este asiento no existe"<<endl;
  67. cout << "Usted desea: "<<endl;
  68. cout << " Volver a escoger el(los) asiento(s)"<<endl;
  69. cout << " Cancelar toda la operacion"<<endl;
  70. cin>>o;
  71. if(0 == 2){
  72. system ("pause");
  73. return 0;
  74. }
  75. else{
  76. goto Asi;
  77. }
  78. }
  79. }
  80. }
  81. else{
  82. cout << "Recuerde que se puede reservar maximo 10 asientos" <<endl;
  83. system("cls");
  84. goto sillas;
  85. }
  86. Sleep(2000);
  87. system("cls");
  88. cout << "Por favor confirme sus asientos" <<endl;
  89. cout << "Los asientos vacios estan representados con un 0"<<endl;
  90.  
  91. for(i = 0; i < 9; i++){
  92. cout << "\t" <<filas[i];
  93.     for(i = 0; i < 9; i++){
  94.    cout << "\t" << Matriz[i][j];
  95. }
  96. cout <<endl;
  97. }
  98. cout << "¿Son correctos sus asientos?"<<endl;
  99. cout << " 1. Si "<<endl;
  100. cout << " 2. No "<<endl;
  101. cin>>r;
  102.  
  103. switch(r){
  104. case 1:{
  105. despedida:
  106. return 0;
  107. system("pause");
  108. break;
  109. }
  110. case 2:{
  111. menu1:
  112. cout << "Usted desea: "<<endl;
  113. cout << " 1. Volver a escoger el(los) asiento(s)"<<endl;
  114. cout << " 2. Cancelar toda la operacion"<<endl;
  115. cin>>o;
  116. system ("cls");
  117. if (o == 1){
  118. goto sillas;
  119. }else{
  120. system("pause");
  121. return 0;
  122. }
  123. break;
  124. }
  125. default:
  126. cout << "Esta opcion es invalida"<<endl;
  127. goto despedida;
  128. return i, x, l, j, m, z, r, o, a, y, tip, fun;
  129. //fin switch
  130.  
  131. }//fin function asientos
  132.  
  133. int main(){
  134. int a,b,c,d;
  135. ofstream resultados;
  136.    ifstream datos;
  137.  
  138.  
  139.  
  140.  
  141.  
  142. menu:
  143. setlocale(LC_CTYPE, "Spanish");
  144. cout << "\t\t Cine Jesus de Veracru " <<endl;
  145. cout << "\t CARTELERA" <<endl;
  146. cout << "======================================================================" <<endl;
  147. cout << "\t 1. Rush: pasion y gloria " <<endl;
  148. cout << "\t 2. Formula 1: Drive to Survive" <<endl;
  149. cout << "\t 3. Meteoro" <<endl;
  150. cout << "======================================================================" <<endl;
  151. cout << " Bienenido a Cine Jesus de veracru  ¿Que pelicula desea ver?"<<endl;
  152. cin>>a;
  153.  
  154. switch (a){
  155. case 1: {
  156. cout << "\t  Rush: pasión y gloria " <<endl;
  157. cout << "\t 1. Sala MacroEX / $50.00 por asiento" <<endl;
  158. cout << "\t 2. Sala  Digital / $35.00 por asiento" <<endl;
  159. cout << " ¿A cual sala desea ingresar?"<<endl;
  160. cin>>tip;
  161. switch (tip){
  162. case 1:{
  163. system ("cls");
  164. cout << "Ha escogido la sala tipo MacroEX" <<endl;
  165. cout << "\t 1) 12:00 PM"<<endl;
  166. cout << "\t 2) 15:30 PM"<<endl;
  167. cout << "\t 3) 18:35 PM"<<endl;
  168. cout << "\t 4) 21:30 PM"<<endl;
  169. cout << "¿A que funcion desea asistir?"<<endl;
  170. cin>>fun;
  171.  
  172. switch(fun){
  173. case 1:{
  174. system("cls");
  175. cout << "Usted ha escogido la funcion de las 12:00"<<endl;
  176. asientos();
  177. cout << "Confirme los datos de su eleccion"<<endl;
  178. cout <<"Nombre de la pelicula: Rush: pasión y gloria"<<endl;
  179. cout <<"Hora de la funcion: 12:00"<<endl;
  180. cout <<"tipo de sala: MacroEX"<<endl;
  181. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  182. cout <<" Si " <<endl;
  183. cout <<" No " <<endl;
  184. cin>>rf;
  185. if(rf == 1){
  186. cout<<" disfrute de la pelicula "<<endl;
  187. Sleep(4000);
  188. goto final;
  189. }else{
  190. cout << "Usted desea: " <<endl;
  191. cout << "\t 1. Volver al menu principal" <<endl;
  192. cout << "\t 2. Cancelar toda la operacion" <<endl;
  193. cin>>o;
  194. system("cls");
  195. if(o == 1){
  196. goto menu;
  197. }else{
  198.  goto final;
  199. }
  200. }
  201. break;
  202. }//fin case1 switch fun
  203. case 2:{
  204. system("cls");
  205. cout << "Usted ha escogido la funcion de las 15:30"<<endl;
  206. asientos();
  207. cout << "Confirme los datos de su eleccion"<<endl;
  208. cout <<"Nombre de la pelicula: Rush: pasión y gloria"<<endl;
  209. cout <<"Hora de la funcion: 15:30"<<endl;
  210. cout <<"tipo de sala: MacroEX"<<endl;
  211. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  212. cout <<" Si " <<endl;
  213. cout <<" No " <<endl;
  214. cin>>rf;
  215. if(rf == 1){
  216. cout<<"Disfrute de la pelicula "<<endl;
  217. Sleep(4000);
  218. goto final;
  219. }else{
  220. cout << "Usted desea: " <<endl;
  221. cout << "\t 1. Volver al menu principal" <<endl;
  222. cout << "\t 2. Cancelar toda la operacion" <<endl;
  223. cin>>o;
  224. system("cls");
  225. if(o == 1){
  226. goto menu;
  227. }else{
  228.  goto final;
  229. }
  230. }
  231. break;
  232. }//fin case2 switch fun
  233. case 3:{
  234. system("cls");
  235. cout << "Usted ha escogido la funcion de las 18:35"<<endl;
  236. asientos();
  237. cout << "Confirme los datos de su eleccion"<<endl;
  238. cout <<"Nombre de la pelicula: Rush: pasión y gloria"<<endl;
  239. cout <<"Hora de la funcion: 18:35"<<endl;
  240. cout <<"tipo de sala: MacroEX"<<endl;
  241. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  242. cout <<" Si " <<endl;
  243. cout <<" No " <<endl;
  244. cin>>rf;
  245. if(rf == 1){
  246. cout<<"Disfrute de la pelicula "<<endl;
  247. Sleep(4000);
  248. goto final;
  249. }else{
  250. cout << "Usted desea: " <<endl;
  251. cout << "\t 1. Volver al menu principal" <<endl;
  252. cout << "\t 2. Cancelar toda la operacion" <<endl;
  253. cin>>o;
  254. system("cls");
  255. if(o == 1){
  256. goto menu;
  257. }else{
  258.  goto final;
  259. }
  260. }
  261. break;
  262. }//fin case3 switch fun
  263. case 4:{
  264. system("cls");
  265. cout << "Usted ha escogido la funcion de las 21:30"<<endl;
  266. asientos();
  267. cout << "Confirme los datos de su eleccion"<<endl;
  268. cout <<"Nombre de la pelicula: Rush: pasión y gloria"<<endl;
  269. cout <<"Hora de la funcion: 21:30"<<endl;
  270. cout <<"tipo de sala: MacroEX"<<endl;
  271. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  272. cout <<" Si " <<endl;
  273. cout <<" No " <<endl;
  274. cin>>rf;
  275. if(rf == 1){
  276. cout<<"Disfrute de la pelicula "<<endl;
  277. Sleep(4000);
  278. goto final;
  279. }else{
  280. cout << "Usted desea: " <<endl;
  281. cout << "\t 1. Volver al menu principal" <<endl;
  282. cout << "\t 2. Cancelar toda la operacion" <<endl;
  283. cin>>o;
  284. system("cls");
  285. if(o == 1){
  286. goto menu;
  287. }else{
  288.  goto final;
  289. }
  290. }
  291. break;
  292. }//fin case4 switch fun
  293. }//fin switch fun
  294. break;
  295. }//fin case1 switch tip
  296. case 2:{
  297. system ("cls");
  298. cout << "Ha escogido la sala tipo Digital" <<endl;
  299. cout << "\t 1) 15:00 PM"<<endl;
  300. cout << "\t 2) 18:30 PM"<<endl;
  301. cout << "¿A que funcion desea asistir?"<<endl;
  302. cin>>fun;
  303.  
  304. switch(fun){
  305. case 1:{
  306. system("cls");
  307. cout << "Usted ha escogido la funcion de las 15:00"<<endl;
  308. asientos();
  309. cout << "Confirme los datos de su eleccion"<<endl;
  310. cout <<"Nombre de la pelicula: Rush: pasión y gloria"<<endl;
  311. cout <<"Hora de la funcion: 15:00"<<endl;
  312. cout <<"tipo de sala: Digital"<<endl;
  313. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 35*p << "$" <<endl;
  314. cout <<" Si " <<endl;
  315. cout <<" No " <<endl;
  316. cin>>rf;
  317. if(rf == 1){
  318. cout<<"Disfrute de la pelicula "<<endl;
  319. Sleep(4000);
  320. goto final;
  321. }else{
  322. cout << "Usted desea: " <<endl;
  323. cout << "\t 1. Volver al menu principal" <<endl;
  324. cout << "\t 2. Cancelar toda la operacion" <<endl;
  325. cin>>o;
  326. system("cls");
  327. if(o == 1){
  328. goto menu;
  329. }else{
  330.  goto final;
  331. }
  332. }
  333. break;
  334. }//fin case1 switch
  335.  
  336. case 2:{
  337. system("cls");
  338. cout << "Usted ha escogido la funcion de las 18:30"<<endl;
  339. asientos();
  340. cout << "Confirme los datos de su eleccion"<<endl;
  341. cout <<"Nombre de la pelicula: Rush: pasión y gloria"<<endl;
  342. cout <<"Hora de la funcion: 18:30"<<endl;
  343. cout <<"tipo de sala: Digital"<<endl;
  344. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 35*p << "$" <<endl;
  345. cout <<" Si " <<endl;
  346. cout <<" No " <<endl;
  347. cin>>rf;
  348. if(rf == 1){
  349. cout<<"Disfrute de la pelicula "<<endl;
  350. Sleep(4000);
  351. goto final;
  352. }else{
  353. cout << "Usted desea: " <<endl;
  354. cout << "\t 1. Volver al menu principal" <<endl;
  355. cout << "\t 2. Cancelar toda la operacion" <<endl;
  356. cin>>o;
  357. system("cls");
  358. if(o == 1){
  359. goto menu;
  360. }else{
  361.  goto final;
  362. }
  363. }
  364. break;
  365. }//fin case2 switch fun
  366.  
  367. break;
  368. }//fin switch fun
  369. }//fin case 2 switch tip
  370. break;
  371. }//fin switch tip
  372. }//fin case1 switch a
  373.  
  374. case 2: {
  375. cout << "\t  Formula 1: Drive to Survive " <<endl;
  376. cout << "\t 1. Sala MacroEX / $50.00 por asiento" <<endl;
  377. cout << "\t 2. Sala  Digital / $35.00 por asiento" <<endl;
  378. cout << " ¿A cual sala desea ingresar?"<<endl;
  379. cin>>tip;
  380. switch (tip){
  381. case 1:{
  382. system ("cls");
  383. cout << "Ha escogido la sala tipo MacroEX" <<endl;
  384. cout << "\t 1) 10:00 AM"<<endl;
  385. cout << "\t 2) 13:30 PM"<<endl;
  386. cout << "\t 3) 15:35 PM"<<endl;
  387. cout << "\t 4) 20:30 PM"<<endl;
  388. cout << "¿A que funcion desea asistir?"<<endl;
  389. cin>>fun;
  390.  
  391. switch(fun){
  392. case 1:{
  393. system("cls");
  394. cout << "Usted ha escogido la funcion de las 10:00"<<endl;
  395. asientos();
  396. cout << "Confirme los datos de su eleccion"<<endl;
  397. cout <<"Nombre de la pelicula: Formula 1: Drive to Survive"<<endl;
  398. cout <<"Hora de la funcion: 10:00"<<endl;
  399. cout <<"tipo de sala: MacroEX"<<endl;
  400. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  401. cout <<" Si " <<endl;
  402. cout <<" No " <<endl;
  403. cin>>rf;
  404. if(rf == 1){
  405. cout<<"Disfrute de la pelicula "<<endl;
  406. Sleep(4000);
  407. goto final;
  408. }else{
  409. cout << "Usted desea: " <<endl;
  410. cout << "\t 1. Volver al menu principal" <<endl;
  411. cout << "\t 2. Cancelar toda la operacion" <<endl;
  412. cin>>o;
  413. system("cls");
  414. if(o == 1){
  415. goto menu;
  416. }else{
  417.  goto final;
  418. }
  419. }
  420. break;
  421. }//fin case1 switch fun
  422. case 2:{
  423. system("cls");
  424. cout << "Usted ha escogido la funcion de las 13:30"<<endl;
  425. asientos();
  426. cout << "Confirme los datos de su eleccion"<<endl;
  427. cout <<"Nombre de la pelicula: Formula 1: Drive to Survive"<<endl;
  428. cout <<"Hora de la funcion: 13:30"<<endl;
  429. cout <<"tipo de sala: MacroEX"<<endl;
  430. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  431. cout <<" Si " <<endl;
  432. cout <<" No " <<endl;
  433. cin>>rf;
  434. if(rf == 1){
  435. cout<<"Disfrute de la pelicula "<<endl;
  436. Sleep(4000);
  437. goto final;
  438. }else{
  439. cout << "Usted desea: " <<endl;
  440. cout << "\t 1. Volver al menu principal" <<endl;
  441. cout << "\t 2. Cancelar toda la operacion" <<endl;
  442. cin>>o;
  443. system("cls");
  444. if(o == 1){
  445. goto menu;
  446. }else{
  447.  goto final;
  448. }
  449. }
  450. break;
  451. }//fin case2 switch fun
  452. case 3:{
  453. system("cls");
  454. cout << "Usted ha escogido la funcion de las 15:35"<<endl;
  455. asientos();
  456. cout << "Confirme los datos de su eleccion"<<endl;
  457. cout <<"Nombre de la pelicula: Formula 1: Drive to Survive"<<endl;
  458. cout <<"Hora de la funcion: 13:35"<<endl;
  459. cout <<"tipo de sala: MacroEX"<<endl;
  460. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  461. cout <<" Si " <<endl;
  462. cout <<" No " <<endl;
  463. cin>>rf;
  464. if(rf == 1){
  465. cout<<"Disfrute de la pelicula "<<endl;
  466. Sleep(4000);
  467. goto final;
  468. }else{
  469. cout << "Usted desea: " <<endl;
  470. cout << "\t 1. Volver al menu principal" <<endl;
  471. cout << "\t 2. Cancelar toda la operacion" <<endl;
  472. cin>>o;
  473. system("cls");
  474. if(o == 1){
  475. goto menu;
  476. }else{
  477.  goto final;
  478. }
  479. }
  480. break;
  481. }//fin case3 switch fun
  482. case 4:{
  483. system("cls");
  484. cout << "Usted ha escogido la funcion de las 20:30"<<endl;
  485. asientos();
  486. cout << "Confirme los datos de su eleccion"<<endl;
  487. cout <<"Nombre de la pelicula: Formula 1: Drive to Survive"<<endl;
  488. cout <<"Hora de la funcion: 20:30"<<endl;
  489. cout <<"tipo de sala: MacroEX"<<endl;
  490. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  491. cout <<" Si " <<endl;
  492. cout <<" No " <<endl;
  493. cin>>rf;
  494. if(rf == 1){
  495. cout<<"Disfrute de la pelicula "<<endl;
  496. Sleep(4000);
  497. goto final;
  498. }else{
  499. cout << "Usted desea: " <<endl;
  500. cout << "\t 1. Volver al menu principal" <<endl;
  501. cout << "\t 2. Cancelar toda la operacion" <<endl;
  502. cin>>o;
  503. system("cls");
  504. if(o == 1){
  505. goto menu;
  506. }else{
  507.  goto final;
  508. }
  509. }
  510. break;
  511. }//fin case4 switch fun
  512. }//fin switch fun
  513. break;
  514. }//fin case1 switch tip
  515. case 2:{
  516. system ("cls");
  517. cout << "Ha escogido la sala tipo Digital" <<endl;
  518. cout << "\t 1) 14:00 PM"<<endl;
  519. cout << "\t 2) 18:30 PM"<<endl;
  520. cout << "¿A que funcion desea asistir?"<<endl;
  521. cin>>fun;
  522.  
  523. switch(fun){
  524. case 1:{
  525. system("cls");
  526. cout << "Usted ha escogido la funcion de las 14:00"<<endl;
  527. asientos();
  528. cout << "Confirme los datos de su eleccion"<<endl;
  529. cout <<"Nombre de la pelicula: La sombra del pasado"<<endl;
  530. cout <<"Hora de la funcion: 14:00"<<endl;
  531. cout <<"tipo de sala: Digital"<<endl;
  532. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 35*p << "$" <<endl;
  533. cout <<" Si " <<endl;
  534. cout <<" No " <<endl;
  535. cin>>rf;
  536. if(rf == 1){
  537. cout<<"Disfrute de la pelicula "<<endl;
  538. Sleep(4000);
  539. goto final;
  540. }else{
  541. cout << "Usted desea: " <<endl;
  542. cout << "\t 1. Volver al menu principal" <<endl;
  543. cout << "\t 2. Cancelar toda la operacion" <<endl;
  544. cin>>o;
  545. system("cls");
  546. if(o == 1){
  547. goto menu;
  548. }else{
  549.  goto final;
  550. }
  551. }
  552. break;
  553. }//fin case1 switch fun
  554.  
  555. case 2:{
  556. system("cls");
  557. cout << "Usted ha escogido la funcion de las 18:30"<<endl;
  558. asientos();
  559. cout << "Confirme los datos de su eleccion"<<endl;
  560. cout <<"Nombre de la pelicula: Formula 1: Drive to Survive"<<endl;
  561. cout <<"Hora de la funcion: 18:30"<<endl;
  562. cout <<"tipo de sala: Digital"<<endl;
  563. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 35*p << "$" <<endl;
  564. cout <<" Si " <<endl;
  565. cout <<" No " <<endl;
  566. cin>>rf;
  567. if(rf == 1){
  568. cout<<"Disfrute de la pelicula "<<endl;
  569. Sleep(4000);
  570. goto final;
  571. }else{
  572. cout << "Usted desea: " <<endl;
  573. cout << "\t 1. Volver al menu principal" <<endl;
  574. cout << "\t 2. Cancelar toda la operacion" <<endl;
  575. cin>>o;
  576. system("cls");
  577. if(o == 1){
  578. goto menu;
  579. }else{
  580.  goto final;
  581. }
  582. }
  583. break;
  584. }//fin case2 switch fun
  585.  
  586. break;
  587. }//fin switch fun
  588. }//fin case 2 switch tip
  589. break;
  590. }//fin switch tip
  591. }//fin case2 switch a
  592.  
  593.  
  594. case 3: {
  595. cout << "\t  Meteoro " <<endl;
  596. cout << "\t 1. Sala MacroEX / $50.00 por asiento" <<endl;
  597. cout << "\t 2. Sala  Digital / $35.00 por asiento" <<endl;
  598. cout << " ¿A cual sala desea ingresar?"<<endl;
  599. cin>>tip;
  600. switch (tip){
  601. case 1:{
  602. system ("cls");
  603. cout << "Ha escogido la sala tipo MacroEX" <<endl;
  604. cout << "\t 1) 12:00 PM"<<endl;
  605. cout << "\t 2) 15:30 PM"<<endl;
  606. cout << "\t 3) 18:35 PM"<<endl;
  607. cout << "\t 4) 21:30 PM"<<endl;
  608. cout << "¿A que funcion desea asistir?"<<endl;
  609. cin>>fun;
  610.  
  611. switch(fun){
  612. case 1:{
  613. system("cls");
  614. cout << "Usted ha escogido la funcion de las 12:00"<<endl;
  615. asientos();
  616. cout << "Confirme los datos de su eleccion"<<endl;
  617. cout <<"Nombre de la pelicula: Meteoro"<<endl;
  618. cout <<"Hora de la funcion: 12:00"<<endl;
  619. cout <<"tipo de sala: MacroEX"<<endl;
  620. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  621. cout <<" Si " <<endl;
  622. cout <<" No " <<endl;
  623. cin>>rf;
  624. if(rf == 1){
  625. cout<<"Disfrute de la pelicula "<<endl;
  626. Sleep(4000);
  627. goto final;
  628. }else{
  629. cout << "Usted desea: " <<endl;
  630. cout << "\t 1. Volver al menu principal" <<endl;
  631. cout << "\t 2. Cancelar toda la operacion" <<endl;
  632. cin>>o;
  633. system("cls");
  634. if(o == 1){
  635. goto menu;
  636. }else{
  637.  goto final;
  638. }
  639. }
  640. break;
  641. }//fin case1 switch
  642. case 2:{
  643. system("cls");
  644. cout << "Usted ha escogido la funcion de las 15:30"<<endl;
  645. asientos();
  646. cout << "Confirme los datos de su eleccion"<<endl;
  647. cout <<"Nombre de la pelicula: Meteoro"<<endl;
  648. cout <<"Hora de la funcion: 15:30"<<endl;
  649. cout <<"tipo de sala: MacroEX"<<endl;
  650. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  651. cout <<" Si " <<endl;
  652. cout <<" No " <<endl;
  653. cin>>rf;
  654. if(rf == 1){
  655. cout<<"Disfrute de la pelicula "<<endl;
  656. Sleep(4000);
  657. goto final;
  658. }else{
  659. cout << "Usted desea: " <<endl;
  660. cout << "\t 1. Volver al menu principal" <<endl;
  661. cout << "\t 2. Cancelar toda la operacion" <<endl;
  662. cin>>o;
  663. system("cls");
  664. if(o == 1){
  665. goto menu;
  666. }else{
  667.  goto final;
  668. }
  669. }
  670. break;
  671. }//fin case2 switch fun
  672. case 3:{
  673. system("cls");
  674. cout << "Usted ha escogido la funcion de las 18:35"<<endl;
  675. asientos();
  676. cout << "Confirme los datos de su eleccion"<<endl;
  677. cout <<"Nombre de la pelicula: Meteoro"<<endl;
  678. cout <<"Hora de la funcion: 18:35"<<endl;
  679. cout <<"tipo de sala: MacroEX"<<endl;
  680. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  681. cout <<" Si " <<endl;
  682. cout <<" No " <<endl;
  683. cin>>rf;
  684. if(rf == 1){
  685. cout<<"Disfrute de la pelicula "<<endl;
  686. Sleep(4000);
  687. goto final;
  688. }else{
  689. cout << "Usted desea: " <<endl;
  690. cout << "\t 1. Volver al menu principal" <<endl;
  691. cout << "\t 2. Cancelar toda la operacion" <<endl;
  692. cin>>o;
  693. system("cls");
  694. if(o == 1){
  695. goto menu;
  696. }else{
  697.  goto final;
  698. }
  699. }
  700. break;
  701. }//fin case3 switch fun
  702. case 4:{
  703. system("cls");
  704. cout << "Usted ha escogido la funcion de las 21:30"<<endl;
  705. asientos();
  706. cout << "Confirme los datos de su eleccion"<<endl;
  707. cout <<"Nombre de la pelicula: Meteoro"<<endl;
  708. cout <<"Hora de la funcion: 21:30"<<endl;
  709. cout <<"tipo de sala: MacroEX"<<endl;
  710. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 50*p << "$" <<endl;
  711. cout <<" Si " <<endl;
  712. cout <<" No " <<endl;
  713. cin>>rf;
  714. if(rf == 1){
  715. cout<<"Disfrute de la pelicula "<<endl;
  716. Sleep(4000);
  717. goto final;
  718. }else{
  719. cout << "Usted desea: " <<endl;
  720. cout << "\t 1. Volver al menu principal" <<endl;
  721. cout << "\t 2. Cancelar toda la operacion" <<endl;
  722. cin>>o;
  723. system("cls");
  724. if(o == 1){
  725. goto menu;
  726. }else{
  727.  goto final;
  728. }
  729. }
  730. break;
  731. }//fin case4 switch fun
  732. }//fin switch fun
  733. break;
  734. }//fin case1 switch tip
  735. case 2:{
  736. system ("cls");
  737. cout << "Ha escogido la sala tipo Digital" <<endl;
  738. cout << "\t 1) 12:00 PM"<<endl;
  739. cout << "\t 2) 19:30 PM"<<endl;
  740. cout << "¿A que funcion desea asistir?"<<endl;
  741. cin>>fun;
  742.  
  743. switch(fun){
  744. case 1:{
  745. system("cls");
  746. cout << "Usted ha escogido la funcion de las 12:00"<<endl;
  747. asientos();
  748. cout << "Confirme los datos de su eleccion"<<endl;
  749. cout <<"Nombre de la pelicula: Meteoro"<<endl;
  750. cout <<"Hora de la funcion: 12:00"<<endl;
  751. cout <<"tipo de sala: Digital"<<endl;
  752. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 35*p << "$" <<endl;
  753. cout <<" Si " <<endl;
  754. cout <<" No " <<endl;
  755. cin>>rf;
  756. if(rf == 1){
  757. cout<<"Disfrute de la pelicula "<<endl;
  758. Sleep(4000);
  759. goto final;
  760. }else{
  761. cout << "Usted desea: " <<endl;
  762. cout << "\t 1. Volver al menu principal" <<endl;
  763. cout << "\t 2. Cancelar toda la operacion" <<endl;
  764. cin>>o;
  765. system("cls");
  766. if(o == 1){
  767. goto menu;
  768. }else{
  769.  goto final;
  770. }
  771. }
  772. break;
  773. }//fin case1 switch fun
  774.  
  775. case 2:{
  776. system("cls");
  777. cout << "Usted ha escogido la funcion de las 19:30"<<endl;
  778. asientos();
  779. cout << "Confirme los datos de su eleccion"<<endl;
  780. cout <<"Nombre de la pelicula: Meteoro"<<endl;
  781. cout <<"Hora de la funcion: 19:30"<<endl;
  782. cout <<"tipo de sala: Digital"<<endl;
  783. cout << "Usted reservo: " <<p <<"asiento(s), por el valor de: " << 35*p << "$" <<endl;
  784. cout <<" Si " <<endl;
  785. cout <<" No " <<endl;
  786. cin>>rf;
  787. if(rf == 1){
  788. cout<<"Disfrute de la pelicula "<<endl;
  789. Sleep(4000);
  790. goto final;
  791. }else{
  792. cout << "Usted desea: " <<endl;
  793. cout << "\t 1. Volver al menu principal" <<endl;
  794. cout << "\t 2. Cancelar toda la operacion" <<endl;
  795. cin>>o;
  796. system("cls");
  797. if(o == 1){
  798. goto menu;
  799. }else{
  800.  goto final;
  801. }
  802. }
  803. break;
  804. }//fin case2 switch fun
  805.  
  806. break;
  807. }//fin switch fun
  808. }//fin case 2 switch tip
  809. break;
  810. }//fin switch tip
  811. }//fin case3 switch a
  812.  
  813. default:
  814. menuop:
  815. cout << "usted selecciono una opcion invalida"<<endl;
  816. cout << " ¿Desea volver al menu?"<<endl;
  817. cout << " 1. Si"<<endl;
  818. cout << " 2. No"<<endl;
  819. cin>>x;
  820. if(x = 1){
  821. goto menu;
  822. }else{
  823. cout << "Excelente dia"<<endl;
  824. goto final;
  825. }
  826.  
  827.  final:
  828.   system("cls");
  829.   system("pause");
  830.   return 0;
  831. }//fin switch a
  832.  
  833. resultados.open ("dato.txt");
  834. resultados<<"El recibo es : "<<fun<<endl;
  835.  
  836. }//fin main

MOD: El código debe ir entre etiquetas de Código GeSHi


« Última modificación: 7 Mayo 2022, 17:57 pm por K-YreX » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Programa de taquilla de cine. Ayuda porfa
« Respuesta #1 en: 7 Mayo 2022, 18:13 pm »

Absolutamente: Caótico
No puedes pretender que alguien se lea un código de +800 líneas, mal organizado, con nombres de variables inapropiados y con saltos (goto)...
No se puede trabajar con un código así.

No sé qué combinaciones estarás probando pero esto sí te lo puedo asegurar: Cada vez que llegues a una de las 37 instrucciones goto final, se acabó. Tu programa va a ir a la etiqueta final (línea 827) y va salir con el return 0; sin llegar a escribir nada en el fichero.
Y estoy prácticamente seguro de que todos los casos acaban yendo por ese camino.

Y más importante que la respuesta, este consejo: si de verdad quieres aprender programación, olvídate de este tipo de programas y empieza a estructurar bien tus códigos.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Programa de taquilla de cine. Ayuda porfa
« Respuesta #2 en: 8 Mayo 2022, 20:38 pm »

Entiendo que estás empezando pero tienes muchisimo código repetido, sobre todo lo referido al volver al menú o salir. Mételo todo eso es una función.
Los menús, esos switch en cascada cuestan muchísimo de manejar. Usa funciones para separar todo eso.
Muchas cosas están totalmente repetidas y solo cambia el nombre de la sala y el título de la película y tal. Lo demás es código repetido. Usa funciones con parámetros. El 90% del código son cosas repetidas. Arregla eso y le echamos un vistazo.
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Programa de taquilla de cine. Ayuda porfa
« Respuesta #3 en: 8 Mayo 2022, 23:32 pm »

Cuando uno empieza puede costar ver las cosas de un modo diferente que como una enorme ensalada... un plato donde se sirve toda la comida.

Mejor si cada plato contiene un solo manjar...
Míralo bajo este prisma:

Tu programa contiene unos datos...
Imagina 5 cines, todos de 10 filas y 15 butacas que proyectan pelis en 3 horarios distintos.
Procede pues crear algún tipo de datos que mantenega ese conjunto...

Al empezar (el aprendiz) no controla las clases, así que ese tipo queda inicialmente descartado. Al empezar el 'tipo de datos de contenedor' reina suele ser el array (y al poco tiempo las estructuras y enumeraciones).
Una forma rápida... sería un array Cines, con dimensiones para 'salas, horarios, filas y butacas'. El orden de tales dimensiones, inicialmente no es tan importante, con la experiencia verás que surge naturalmente.

Los horarios, consíderalos como sesiones: 1,2,3 sean cuales sean sus horarios. Aunque luego ese valor conviene mantenerlo interno, cada sala podría tener su propio horario, y a la hora de imprimir el billete, conviene adjuntar bajo la sesión la hora exacta, asi como el día. Sin embargo la 'sesión' nos permite manejar cómodamente el array.
Una estructura con los datos: sala, sesión (incluye fecha y hora), fila y butaca resulta muy útil, para imprimir cada billete comprado.

Adjunto a cada sala y sesión puede haber asignado un precio por butaca.... o puede ser el mismo precio para todas las salas y sesiones. El precio debe imprimirse con cada billete. Igualmente se asocia con una película (el título de la misma que se proyecta), incluso una duración de la misma, aunque esto último no es obligatorio.

Ahora tu programa podría tener estos métodos:
1 - Crear sesion - (sala, sesión, horario, fecha, precio, pelicula): A la sala para esa sesión puede asignarse un precio por butaca y el título de la película, opcionalmente una duración para la misma y marcar todas las butacas de la sala como libres.
Al inicio del programa un bucle debería invocar la función 'crearSesion', para establecer sus horarios, fecha, etc... a cada sala.
2 - Vender Billete - (sala, sesion, fila, butaca) - Una vez se ha elegido una butaca en una sala y sesión libres, se marca como 'ocupada'. Comprueba además si quedan o no butacas libres. Al datallar esto más abajo se explica.
El array definitivamente puede contener un buleano (o si lo prefieres un int, byte o incluso char), donde 0 es libre y 1 es ocupada. o FALSE y TRUE, sírvete al gusto.
Esta función además de marcar la butaca como vendida, manda imprimir el billete comprado (incluído el precio de la butaca).
3 - Imprimir Billete - (sala sesion, fila, butaca). esta función imprime el billete de una única butaca, indicando la sala, la sesión (+ hora y día), la fila, butaca, precio, titulo y duración.
4 - Butaca ocupada - (sala, sesion, fila butaca) . Esta función preguntaría si la butaca deseada esta libre u ocupada.
5 - Buscar Butacas: (sala, sesion, fila, numbutacas, otrasFilas) . Esta función trata de ver si hay x butacas libres seguidas, en la fila deseada. Si no se encuentran libres esas x butacas libres, y el parámetros 'otrasFilas' es TRUE, está señalando que se busque si se localizan esas butacas libres en otra fila (mirará en el resto de filas mientra no se encuentre en la actual). Devuelve TRUE o FALSE, y por referencia la fila donde se localizan (solo si se encontró).
6 - Comprar billetes (sala, sesión, fila, numButacas). Esta funcion intenta comprar billetes para sala y sesión indicadas, en la fila deseada y la cantidad de butacas solicitadas. Esta función devuelve un buleano, indicando si se pudo comprar o no.
7 - Reservar Asientos. Esta función es la función principal de interacción con el usuario, la que solicita los datos al usuario... y va invocando al resto según se precise...
8 - Cerrar Sesion (sala, sesion). Llegada la hora indicada de inicio de la proyección en la sala (quizás más un margen de por ejemplo 15 minutos), se marca las butacas libres como ocupadas (en este caso no se imprimen billetes vendidos, pero puede imprimirse otro tipo de ticket asociado a la sala). También puede considerarse como sesión cerrada, si se han vendido todas las butacas de la sala, antes del inicio de su proyección.
Puede imprimirse un ticket donde se señale: sala, sesión, butacas vendidas, saldo recaudado.

Básicamente esas son las funciones principales, ahora explicar un poco el 'ritmo' (las dependencias y el flujo entre las funciones)...
0 - Abrir cine. Como se ha indicado más arriba, al empezar el programa, se crean-abren las salas:
Código:
funcion AbrirCine
    Por cada sala
        por cada sesión
            Crear sesion(sala, sesion) //sesion.Indice, sesion.horario, sesion.fecha, sesion.precio, sesion.Pelicula
        siguiente
    siguiente
fin funcion

Ves como a cada sesión ya se asocia una estructura de forma natural?. Un índice, que antes se concebía como el dato 'sesion' es quien lo referencia...
Ya esta abierto el cine, de hecho la función que crea todas las sesiones puede llamarse así ' Abrir salas-cine'.

La función Crear Sesión: pone a FALSE (ó 0), cada butaca de la sala, además establece el número de butacas totales libres, es decir si hay 10 filas y 15 butacas por fila establece: butacasLiberas = (filas * butacasxFila) = 150 (supuesto el mismo número de filas y butacas por fila para cada sala).

Ahora puede Reservar Asientos: Esta es la función princiapal... es como presentarse ante la taquila/ventanilla de ventas y interaccionar con el vendedor. La función tras recabar datos, invocará la función 'buscar butacas'.
Si un usuario elige esa función (reservar asientos), se le piden los datos de elegir sala, sesión, fila y numero de butacas... y se invoca la función 'buscar butacas', si se encuentran libres devuelve TRUE.  Si no se encuentran todas esas butacas se informa al usuario y se le pide si acepta buscarlos en otra filas... si dice que no, se aborta la operación diciéndole que no se encuentran todas esas butacas libres juntas en la fila solicitada... tendrá opción de intentar buscar o bien en otras filas o bien menos butacas en esa fila. Si acepta cambio de filas, se vuelve a intentar la compra pero ahora con el parámetro 'otrasFilas' = TRUE)...  el resultado ya está descrito.
Cuando se encuentran las butacas solicitadas libres, se invoca la función 'comprar billetes'... más abajo se detalla.

La funcion buscar butacas, consulta a la función 'Butaca ocupada', por cada butaca en numbutacas. Solo devuelve TRUE, si todas las butacas buscadas se encuentras libres, si no devuelve false.

La funcion Butaca ocupada, consulta si para la sala y sesión solicitada, se encuentra libre la butaca de la fila solicitada, es decir es una consulta y devuelve TRUE o FALSE (1 o 0).
No hace nada más, es quizás la función más simple pero fundamental de todas. Cuanto más importante es un función, tratar de que sea lo más simple posible, es crucial para el 'buenseguir' del resto de operatoria... no te sientas tentado de integrarla en una función más grande, solo porque ocupe 1-3 líneas de código.

Cuando se invoca la funcion Comprar Billetes (lo cual se hará sólo si 'buscar butacas' dio por resultado TRUE) calcula el importe y solicita el pago. Si se hace el pago total, se devuelve el cambio. En tal caso devuelve TRUE, si no devuelve FALSE. Si no se encuentran los asientos, también devuelve FALSE.
y entonces se invoca por cada butaca ahí, 'vender billete'...

Cuando se invoca la función Vender billete (se invoca desde 'Comprar billetes'), la cuenta de butacas se reduce en 1. Butacaslibres -=1 y comprueba si quedan butacas libres, en caso negativo, cierra la sesión. La venta de 1 billete supone invocar 'imprimir billete'.

Cuando se invoca la función Imprimir Billete, se imprime el billete de una única butaca, indicando la sala, la sesión (+ hora y día), la fila, butaca, precio, titulo y duración. No hace nada más.

Cerrar sesión, es una función que cuando se invoca impide vender más billetes para la sala y sesión actual.
Una sala ha finalizado una película, por tanto libera todas sus butacas, y dicha sesión queda libre para el día seguiente (es decir aumenta en 1 el día, según el mes). Si te complica el calendario y no se exige, elimina la fecha.
Teóricamente al cerrar sesión podría abrirse nueva sesión (invocar la función 'Crear Sesion'), para el día siguiente, esto permite la 'venta anticipada), o puede delegarse esa parte solo para la función 'Crear Sesion'. Cerrar seisón establece butacaslibres = 0, aunque ya tenga ese valor, y puede tener la funcionalidad extra, de imprimir un resumen del uso de la sala, básicamente indicar las butacasa vendidas y el total acumulado por la venta de dichas butacas...

Con toda esta descripción resulta sencillo hacer un pseudocódigo que describa toda la funcionalidad y luego es fácil ir implementando cada función e ir enganchándola (el código de la función que la llama) al resto...

Y eso es todo... Ahora, ¿puedes adaptar tu código para descibir toda esta funcionalidad?. Por simplicidad, puedes evitar las partes que no te hayan solicitado.

« Última modificación: 8 Mayo 2022, 23:57 pm por Serapis » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA!! no veo taquilla 8
Electrónica
DMoLiTi0n 1 2,225 Último mensaje 4 Mayo 2006, 03:34 am
por Hwagm
ejecutar automaticamente un programa de turbo c++? ayuda porfa
Programación C/C++
violet_21 1 3,013 Último mensaje 4 Junio 2010, 20:49 pm
por Horricreu
Porfa ayuda con este programa urgente
Programación C/C++
Konoha 2 2,385 Último mensaje 14 Junio 2012, 17:23 pm
por int_0x40
ayuda un programa basico sencillo porfa
Programación Visual Basic
jenniyjavier 4 2,154 Último mensaje 17 Mayo 2014, 04:15 am
por Cj2009z
ayuda con programa con arreglos porfa
Programación C/C++
ediy elctro 2 2,627 Último mensaje 29 Noviembre 2019, 07:12 am
por ediy elctro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines