Advertisement
Mraider12

WOOOOACABAMOSCRL

Jan 19th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <windows.h>
  5. #include <stdio.h>
  6. #include <conio.h>
  7. #include <math.h>
  8.  
  9. # define L 5
  10. # define C 29
  11. int diasemana;
  12. typedef struct BICOMB {
  13. int c[L][C];
  14. float preco;
  15. float LugOcupados;
  16. };
  17. BICOMB semana[7] = { { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  18. { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  19. { 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
  20. { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  21. { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 5, 0 },
  22.  
  23. { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  24. { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  25. { 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
  26. { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  27. { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 5, 0 },
  28.  
  29. { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  30. { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  31. { 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
  32. { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  33. { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 5, 0 },
  34.  
  35. { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  36. { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  37. { 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
  38. { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  39. { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 5, 0 },
  40.  
  41. { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  42. { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  43. { 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
  44. { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  45. { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 5, 0 },
  46.  
  47. { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  48. { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  49. { 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
  50. { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  51. { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 5, 0 },
  52.  
  53. { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  54. { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  55. { 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
  56. { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  57. { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 5, 0 } };
  58.  
  59. BICOMB c2 = { {
  60. { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  61. { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  62. { 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
  63. { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  64. { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 3, 0 };
  65.  
  66.  
  67. void Guardartxt(float pre, int LugLi, float rece, float perc)
  68. {
  69. int i;
  70. int resultado;
  71. char titulo[100];
  72. errno_t err;
  73. FILE *fichTextoEscrita;//cria uma stream que representa o ficheiro em memória RAM
  74. /* esta é a forma C padrão que foi apresentada na aula:
  75. fichTextoEscrita = fopen("GestBICOMB.txt", "wt");
  76. if (fichTextoEscrita == NULL) // Se não conseguiu criar
  77. {
  78. printf("Houve problemas na criação do ficheiro texto\n");
  79. return 0;
  80. }
  81. / mas em Visual Studio 2012 e posterior usar fopen_s e a variável err: */
  82.  
  83. err = fopen_s(&fichTextoEscrita, "GestBICOMB.txt", "wt"); /* (Cria um ficheiro texto em
  84. modo escrita texto "write text" "wt" reescrevendo-o se este já existe */
  85. if (err == 0)
  86. {
  87. printf("O ficheiro 'GestBICOMB.txt' foi atualizado\n");
  88. }
  89. else
  90. {
  91. printf("O ficheiro 'GestBICOMB.txt' não foi atualizado\n");
  92. }
  93.  
  94. strcpy_s(titulo, "Conteudo do Ficheiro GestBICOMB.txt:"); /*função de strigns atribui
  95. "Conteúdo..." a título */
  96. resultado = fputs(titulo, fichTextoEscrita);
  97. resultado = fprintf(fichTextoEscrita,"O preco atual da carruagem dois e : %0.2f", pre);
  98. resultado = fprintf(fichTextoEscrita,"Lugares livres da carruagem dois : %d", LugLi);
  99. resultado = fprintf(fichTextoEscrita,"Receita atual da carruagem dois e : %0.2f", rece);
  100. resultado = fprintf(fichTextoEscrita,"Percentagem atual da carruagem dois e : %0.2f", perc);
  101. if (resultado == EOF) {
  102. printf("Houve erro ao gravar no ficheiro texto\n");
  103. }
  104. else {
  105. fclose(fichTextoEscrita);
  106. printf("\nConsulte o ficheiro de Texto que ficou gravado na pasta do \n Projecto deste programa. \n\n");
  107. }
  108. }
  109. void Lertxt()
  110. {
  111. int i;
  112. int resultado;
  113. char titulo[100];
  114. errno_t err;
  115. FILE *fichTextoLeitura; //cria uma stream que representa o ficheiro em memória RAMem modo leitura texto "write text" "wt" reescrevendo-o se este já existe */
  116.  
  117. /* esta é a forma C padrão que foi apresentada na aula:
  118. fichTextoLeitura = fopen("GestBICOMB.txt", "rt"); /*Abre o ficheiro texto para
  119. leitura "read text" "rt"
  120. if (fichTextoLeitura == NULL) // Se houve erro na abertura
  121. {
  122. printf("Houve problemas na abertura do ficheiro texto\n");
  123. return 0;
  124. }
  125. / mas em Visual Studio 2012 e posterior usar fopen_s e a variável err: */
  126.  
  127. err = fopen_s(&fichTextoLeitura, "GestBICOMB.txt", "rt"); //Cria um ficheiro texto em modo leitura
  128. if (err == 0)
  129. {
  130. printf("O ficheiro 'GestBICOMB.txt' foi atualizado\n");
  131. }
  132. else
  133. {
  134. printf("O ficheiro 'GestBICOMB.txt' não foi atualizado\n");
  135. }
  136.  
  137. while (!feof(fichTextoLeitura)) /* faz a leitura até ao fim do ficheiro "end of
  138. file" */
  139. {
  140. // Lê uma linha (inclusive com o '\n')
  141. if (fgets(titulo, 100, fichTextoLeitura)) /* se for possível ler, em título é
  142. lida uma Linha */
  143. printf("%s", titulo);
  144. }
  145.  
  146.  
  147.  
  148. }
  149.  
  150. void Guardar() {
  151.  
  152. FILE *f; // apontador para ficheiro
  153. errno_t err; // variável para receber códigos de erro
  154. err = fopen_s(&f, "Carruagens.dat", "wb");
  155. fwrite(&c2, sizeof(BICOMB), 1, f);
  156. fclose(f);
  157. printf("\nFoi gravado em Carruagens.dat a informacao da segunda Classe\n");
  158. }
  159.  
  160. void Ler()
  161. {
  162. FILE *f; // apontador para ficheiro
  163. errno_t err; // variável para receber códigos de erro
  164. err = fopen_s(&f, "Carruagens.dat", "rb");
  165. if (err == 2) {
  166. Guardar();
  167. printf("\nEsta é a primeira inicializacao, foi criado o ficheiro Carruagens.dat\n");
  168. err = fopen_s(&f, "Carruagens.dat", "rb");
  169. }
  170. fread(&c2, sizeof(BICOMB), 1, f);
  171. fclose(f);
  172. printf("Foi carregado a informacao da segunda Classe\n\n");
  173. }
  174.  
  175.  
  176. void IgualarPreco(float b) {
  177. int k;
  178. for (k = 0; k < 7; k++) {
  179. semana[k].preco = b;
  180. }
  181. }
  182.  
  183. void seatcheck1(int l, int colu, int v[5][29]) {
  184.  
  185.  
  186.  
  187. if (v[l][2 * colu] == 0)
  188. {
  189. v[l][2 * colu] = 1;
  190. v[l][(2 * colu) - 1] = 1;
  191. printf("O seu lugar foi marcado com sucesso. \n");
  192. semana[diasemana - 1].LugOcupados = semana[diasemana - 1].LugOcupados + 1;
  193.  
  194.  
  195. }
  196. else if (v[l][2 * colu] == 1)
  197. {
  198. printf("\nO lugar escolhido ja esta ocupado.\n");
  199. }
  200. }
  201. void seatcheck2(int li, int colun, int b[5][29]) {
  202.  
  203.  
  204.  
  205. if (b[li][2 * colun] == 0)
  206. {
  207. b[li][2 * colun] = 1;
  208. b[li][(2 * colun) - 1] = 1;
  209. printf("O seu lugar foi marcado com sucesso. \n");
  210. c2.LugOcupados = c2.LugOcupados + 1;
  211.  
  212.  
  213. }
  214. else if (b[li][2 * colun] == 1)
  215. {
  216. printf("\nO lugar escolhido ja esta ocupado.\n");
  217. }
  218. }
  219.  
  220. void draw1(int dsemana)
  221. {
  222. int i, j;
  223. printf("\t 01 02 03 04 05 06 07 08 09 10 11 12 13 14 ");
  224. for (i = 0; i < L; i++)
  225. {
  226. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE);
  227. printf("\n\t ");
  228. for (j = 0; j < C; j++)
  229. {
  230. switch (semana[dsemana - 1].c[i][j])
  231. {
  232. case 0: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE | BACKGROUND_RED | BACKGROUND_GREEN);
  233. break;
  234. case 1: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED);
  235. break;
  236. case 2: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE);
  237. break;
  238. case 3: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_GREEN);
  239. break;
  240. case 4:
  241. printf("A");
  242. break;
  243. case 5:
  244. printf("B");
  245. break;
  246. case 6:
  247. printf(" ");
  248. break;
  249. case 7:
  250. printf("C");
  251. break;
  252. case 8:
  253. printf("D");
  254. break;
  255. }
  256.  
  257.  
  258. printf(" ");
  259. }
  260.  
  261. }
  262. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE);
  263. printf("\n\n");
  264. }
  265.  
  266. void draw2()
  267. {
  268. int i, j;
  269. printf("\t 01 02 03 04 05 06 07 08 09 10 11 12 13 14 ");
  270. for (i = 0; i < L; i++)
  271. {
  272. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE);
  273. printf("\n\t ");
  274. for (j = 0; j < C; j++)
  275. {
  276. switch (c2.c[i][j])
  277. {
  278. case 0: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE | BACKGROUND_RED | BACKGROUND_GREEN);
  279. break;
  280. case 1: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED);
  281. break;
  282. case 2: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE);
  283. break;
  284. case 3: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_GREEN);
  285. break;
  286. case 4:
  287. printf("A");
  288. break;
  289. case 5:
  290. printf("B");
  291. break;
  292. case 6:
  293. printf(" ");
  294. break;
  295. case 7:
  296. printf("C");
  297. break;
  298. case 8:
  299. printf("D");
  300. break;
  301. }
  302.  
  303.  
  304. printf(" ");
  305. }
  306. }
  307.  
  308. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN);
  309. printf("\n\n");
  310. }
  311.  
  312. int main()
  313. {
  314. float Novopreco1;
  315. char b, ll, tryn, ap2;
  316. int ap, classe, col;
  317.  
  318. printf("\t\t\tBICOMB\n\n");
  319. printf("\tGestao de vendas de Bilhetes de Comboio\n");
  320. Ler();
  321. int i, j;
  322.  
  323. printf("\n\n");
  324. printf("\nPreco atual dos bilhetes: \n\tClasse 1: 5.0 Euros\n\tClasse 2: %0.1f Euros\n ", c2.preco);
  325. printf("\nNumero de lugares disponiveis na classe 1: %f",56- c2.LugOcupados);
  326. printf("\nNumero de lugares disponiveis na classe 2: %d",56-c2.LugOcupados);
  327. printf("\nPor Favor utilize os carateres indicados para responder.\n\n");
  328. ALT_PRECO: printf("Antes da marcacao de lugares, deseja alterar o preco dos bilhetes? S/N: \n");
  329. scanf(" %c", &b);
  330. if (b == 'S' || b == 's') {
  331. REPEAT: printf("Pretende alterar o preco da classe 1 ou da classe 2? 1/2: \n");
  332. scanf("%d", &ap);
  333. }
  334. else if (b == 'N' || b == 'n') {
  335. goto INITIATE;
  336. }
  337. else {
  338. printf("Nao inseriu nenhum dos caracteres indicados \n");
  339. goto ALT_PRECO;
  340. }
  341. if (ap == 1) {
  342. printf("Introduza o novo preco para a classe 1: \n");
  343. scanf("%f", &Novopreco1);
  344. IgualarPreco(Novopreco1);
  345. }
  346. else if (ap == 2) {
  347. printf("Introduza o novo preco para a classe 2: \n");
  348. scanf("%f", &c2.preco);
  349. }
  350. else {
  351. printf("Nao inseriu nenhum dos caracteres indicados. Iremos repetir a pergunta. \n");
  352. goto REPEAT;
  353. }
  354. printf("\nPretende alterar novamente o preco? S/N : \n"); scanf(" %c", &ap2);
  355. if (ap2 == 's' || ap2 == 'S') {
  356. goto REPEAT;
  357. }
  358. else if (ap2 == 'n' || ap2 == 'N') {
  359. goto PRECO_ATUAL;
  360. }
  361. else {
  362. printf("Nao inseriu nenhum dos caracteres indicados. Iremos repetir a pergunta. \n ");
  363. goto ALT_PRECO;
  364. }
  365.  
  366.  
  367.  
  368. PRECO_ATUAL:printf("Preco atual dos bilhetes: \n\tClasse 1: %0.1lf Euros \n\tClasse 2: %0.1lf Euros\n", Novopreco1, c2.preco);
  369. Sleep(1000);
  370.  
  371.  
  372. INITIATE: printf("Ira agora iniciar a compra dos bilhetes. Aguarde...\n");
  373. Sleep(2500);
  374.  
  375.  
  376.  
  377. VENDAS:printf("Introduza a classe do lugar desejado: 1/2: ");
  378. scanf("%d", &classe);
  379.  
  380. if (classe == 1) {
  381. printf("Na classe 1 pode comprar o seu bilhete no dia de semana que lhe for mais cómodo.\n");
  382. printf("Indique o dia da semana que pretende:\n 1 - Segunda-Feira\n");
  383. printf("2 - Terca-Feira\n");
  384. printf("3 - Quarta-Feira\n");
  385. printf("4 - Quinta-Feira\n");
  386. printf("5 - Sexta-Feira\n");
  387. printf("6 - Sabado\n");
  388. printf("7 - Domingo\n");
  389. printf("A sua resposta: \n"); scanf("%d", &diasemana);
  390.  
  391.  
  392. draw1(diasemana);
  393.  
  394.  
  395. printf("\nNúmero de lugares livres : %.0f", 56 - semana[diasemana - 1].LugOcupados);
  396. printf("\nPercentagem de bilhetes vendidos: %.2f%%", ((semana[diasemana - 1].LugOcupados * 100) / 56));
  397. printf("\nReceita actual do proprio dia: %.2f Euros", semana[diasemana - 1].preco * semana[diasemana - 1].LugOcupados);
  398.  
  399. FILA1: printf("\n\nIntroduza a letra da fila do lugar: A/B/C/D ");
  400. scanf(" %c", &ll);
  401. if (ll != 'a' && ll != 'A' && ll != 'b' && ll != 'B' && ll != 'c' && ll != 'C' && ll != 'd' && ll != 'D') {
  402. printf("Nao inseriu nenhum dos caracteres indicados. Iremos repetir a pergunta. \n ");
  403. goto FILA1;
  404. }
  405.  
  406. else {
  407. COLUNA1: printf("\n\nIntroduza o numero do lugar: (De 1 a 14) ");
  408. scanf("%d", &col);
  409. if (col >= 1 && col <= 14) {
  410.  
  411.  
  412. if (ll == 'a' || ll == 'A')
  413. {
  414. seatcheck1(0, col, semana[diasemana - 1].c);
  415. }
  416. else if (ll == 'b' || ll == 'B')
  417. {
  418. seatcheck1(1, col, semana[diasemana - 1].c);
  419. }
  420. else if (ll == 'c' || ll == 'C')
  421. {
  422. seatcheck1(3, col, semana[diasemana - 1].c);
  423. }
  424. else if (ll == 'd' || ll == 'D')
  425. {
  426. seatcheck1(4, col, semana[diasemana - 1].c);
  427. }
  428. draw1(diasemana);
  429. goto TRYN;
  430.  
  431.  
  432. }
  433. else {
  434. printf("Nao inseriu nenhum dos caracteres indicados. Iremos repetir a pergunta. \n ");
  435. goto COLUNA1;
  436. }
  437.  
  438.  
  439. }
  440.  
  441.  
  442. }
  443. else if (classe == 2)
  444. {
  445. draw2();
  446.  
  447.  
  448.  
  449.  
  450. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE);
  451. printf("\nNúmero de lugares livres : %.0f", 56 - c2.LugOcupados);
  452. printf("\nPercentagem de bilhetes vendidos: %.2f%%", (c2.LugOcupados * 100) / 56);
  453. printf("\nReceita actual: %.2f Euros", c2.preco * c2.LugOcupados);
  454. FILA2: printf("\n\nIntroduza a letra da fila do lugar: A/B/C/D ");
  455. scanf(" %c", &ll);
  456. if (ll != 'a' && ll != 'A' && ll != 'b' && ll != 'B' && ll != 'c' && ll != 'C' && ll != 'd' && ll != 'D') {
  457. printf("Nao inseriu nenhum dos caracteres indicados. Iremos repetir a pergunta. \n ");
  458. goto FILA2;
  459. }
  460. else {
  461. COLUNA2: printf("\n\nIntroduza o numero do lugar: (De 1 a 14) ");
  462. scanf("%d", &col);
  463. if (col >= 1 && col <= 14) {
  464.  
  465.  
  466. if (ll == 'a' || ll == 'A')
  467. {
  468. seatcheck2(0, col, c2.c);
  469. }
  470. else if (ll == 'b' || ll == 'B')
  471. {
  472. seatcheck2(1, col, c2.c);
  473. }
  474. else if (ll == 'c' || ll == 'C')
  475. {
  476. seatcheck2(3, col, c2.c);
  477. }
  478. else if (ll == 'd' || ll == 'D')
  479. {
  480. seatcheck2(4, col, c2.c);
  481. }
  482. }
  483. else {
  484. printf("Nao inseriu nenhum dos caracteres indicados. Iremos repetir a pergunta. \n ");
  485. goto COLUNA2;
  486. }
  487. }
  488.  
  489. draw2();
  490.  
  491. TRYN: printf("\n\n Deseja marcar outro lugar? S/N: ");
  492. scanf(" %c", &tryn);
  493. if (tryn == 's' || tryn == 'S')
  494. {
  495. Guardar();
  496. Guardartxt(c2.preco, (56 - c2.LugOcupados), (c2.preco * c2.LugOcupados), (c2.LugOcupados * 100) / 56);
  497. goto VENDAS;
  498. }
  499. else if (tryn == 'n' || tryn == 'N')
  500. {
  501. Guardar();
  502. Guardartxt(c2.preco, (56 - c2.LugOcupados), (c2.preco * c2.LugOcupados), (c2.LugOcupados * 100) / 56);
  503. printf("A encerrar...");
  504. Lertxt();
  505. }
  506. else {
  507. printf("Nao inseriu nenhum dos caracteres indicados. Iremos repetir a pergunta. \n");
  508. goto TRYN;
  509. }
  510. }
  511. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement