fork download
  1. #include <stdio.h>
  2. #include <string.h> //Biblioteca que incluí para manipular strings com o uso de 'strcpy' e 'strcmp'
  3.  
  4. int main() {
  5.  
  6. //Declaração de variáveis para cadastro dos Países:
  7. char pais1[20], pais2[20];
  8. int populacao1, populacao2;
  9. float area1, area2;
  10. float pib1, pib2;
  11. int numerodePontosTuristicos1, numerodePontosTuristicos2;
  12.  
  13. //Declaração de variáveis para cáculo de Densidade Demográfica
  14. float densidadeDemografica1, densidadeDemografica2;
  15.  
  16. //Cadastro da Carta 1 do País 1:
  17. printf("Digite o nome do País da Carta 1:\n");
  18. fgets(pais1, sizeof(pais1), stdin);
  19.  
  20. printf("Digite a População do País da Carta 1 (ex: 123456789 sem casas decimais):\n");
  21. scanf("%d",&populacao1);
  22.  
  23. printf("Digite a Área do País da Carta 1 (ex: 9999.99 com duas casas decimais):\n");
  24. scanf("%f",&area1);
  25.  
  26. printf("Digite o PIB do País da Carta 1 (ex: 99.99 com duas casas decimais):\n");
  27. scanf("%f",&pib1);
  28.  
  29. printf("Digite o número de pontos turistícos do País da Carta 1:\n");
  30. scanf("%d",&numerodePontosTuristicos1);
  31.  
  32. //Cálculo da densidade demográfica do País da Carta 1:
  33. densidadeDemografica1 = populacao1 / area1;
  34.  
  35. getchar ();
  36.  
  37. //Cadastro da Carta 2 do País 2:
  38. printf("Digite o nome do País da Carta 2:\n");
  39. fgets(pais2, sizeof(pais2), stdin);
  40.  
  41. printf("Digite a População do País da Carta 2 (ex: 123456789 sem casas decimais):\n");
  42. scanf("%d",&populacao2);
  43.  
  44. printf("Digite a Área do País da Carta 2 (ex: 9999.99 com duas casas decimais):\n");
  45. scanf("%f",&area2);
  46.  
  47. printf("Digite o PIB do País da Carta 2 (ex: 99.99 com duas casas decimais):\n");
  48. scanf("%f",&pib2);
  49.  
  50. printf("Digite o número de pontos turistícos do País da Carta 2:\n");
  51. scanf("%d",&numerodePontosTuristicos2);
  52.  
  53. printf("\n");
  54.  
  55. //Cálculo da densidade demográfica do País da Carta 2:
  56. densidadeDemografica2 = populacao2 / area2;
  57.  
  58. //variáveis para a impelmentação do Mênu:
  59. char atributoString1[40], atributoString2[40];
  60. int atributoEscolhido1, atributoEscolhido2;
  61. char atributoTexto1[40] = "1.População";
  62. char atributoTexto2[40] = "2.Área";
  63. char atributoTexto3[40] = "3.PIB";
  64. char atributoTexto4[40] = "4.Número de Pontos Turísticos";
  65. char atributoTexto5[40] = "5.Densidade Demográfica";
  66.  
  67. //variáveis para continuar a usar a string "atributoTextoX" mesmo depois que o valor dela for apagado:
  68.  
  69. char atributoTexto1Vers2[40];
  70. char atributoTexto2Vers2[40];
  71. char atributoTexto3Vers2[40];
  72. char atributoTexto4Vers2[40];
  73. char atributoTexto5Vers2[40];
  74.  
  75. //variáveis para soma dos atributos escolhidos:
  76. int somaPopArea1, somaPopArea2;
  77. int somaPopPib1, somaPopPib2;
  78. int somaPopNPT1, somaPopNPT2;
  79. int somaPopDens1, somaPopDens2;
  80. int somaAreaPib1, somaAreaPib2;
  81. int somaAreaNPT1, somaAreaNPT2;
  82. int somaAreaDens1, somaAreaDens2;
  83. int somaPibNPT1, somaPibNPT2;
  84. int somaPibDens1, somaPibDens2;
  85. int somaNPTDens1, somaNPTDens2;
  86.  
  87. somaPopArea1 = (populacao1 + area1);
  88. somaPopArea2 = (populacao2 + area2);
  89. somaPopPib1 = (populacao1 + pib1);
  90. somaPopPib2 = (populacao2 + pib2);
  91. somaPopNPT1 = (populacao1 + numerodePontosTuristicos1);
  92. somaPopNPT2 = (populacao2 + numerodePontosTuristicos2);
  93. somaPopDens1 = (populacao1 + densidadeDemografica1);
  94. somaPopDens2 = (populacao2 + densidadeDemografica2);
  95. somaAreaPib1 = (area1 + pib1);
  96. somaAreaPib2 = (area2 + pib2);
  97. somaAreaNPT1 = (area1 + numerodePontosTuristicos1);
  98. somaAreaNPT2 = (area2 + numerodePontosTuristicos2);
  99. somaAreaDens1 = (area1 + densidadeDemografica1);
  100. somaAreaDens2 = (area2 + densidadeDemografica2);
  101. somaPibNPT1 = (pib1 + numerodePontosTuristicos1);
  102. somaPibNPT2 = (pib2 + numerodePontosTuristicos2);
  103. somaPibDens1 = (pib1 + densidadeDemografica1);
  104. somaPibDens2 = (pib2 + densidadeDemografica2);
  105. somaNPTDens1 = (numerodePontosTuristicos1 + densidadeDemografica1);
  106. somaNPTDens2 = (numerodePontosTuristicos2 + densidadeDemografica2);
  107.  
  108. //Mênu do Jogo:
  109. //(1º Menu)
  110. printf("*** Jogo do Super Trunfo Países ***\n");
  111. printf("Escolha o 1º atributo:\n");
  112. printf("%s\n",atributoTexto1);
  113. printf("%s\n",atributoTexto2);
  114. printf("%s\n",atributoTexto3);
  115. printf("%s\n",atributoTexto4);
  116. printf("%s\n",atributoTexto5);
  117. printf("Escolha: ");
  118. scanf("%d",&atributoEscolhido1);
  119.  
  120. /*
  121.   Aqui eu pesquisei e utilizei algumas funções em C além do que é ensinado
  122.   pelo professor neste nível de aprendizado.
  123.   Aqui a função strcpy() é usada para substituir ou copiar o texto ou valor
  124.   da string que é a opção escolhida por uma string vazia (""),
  125.   removendo a string caso a opção seja escolhida pelo jogador.
  126.   Ou seja a função strcpy() é uma função da linguagem em C que
  127.   serve para copiar o conteúdo de uma string para outra.(nesse caso para uma
  128.   string vazia ("")). Mas antes eu também utilizo strcpy() para salvar o valor de
  129.   "atributoTextoX" em "atributoString1"(uma variável que criei para exibir mais
  130.   á frente qual opção o jogador escolheu), faço isso pra garantir que o valor
  131.   da opção de texto apagada seja salva em outra variável antes de ser apagada:
  132.   */
  133.  
  134. /*
  135.   Switch para remover a opção escolhida e com lógica implementada para decidir o páis vencedor em cada
  136.   um dos atributos. Aqui foi usada a estrutura de ternário para implementar a lógica.
  137.   */
  138.  
  139. switch (atributoEscolhido1) {
  140. case 1:
  141. strcpy(atributoTexto1Vers2,atributoTexto1);
  142. strcpy(atributoString1,atributoTexto1);
  143. printf("%s VS %s", pais1, pais2);
  144. printf("Você escolheu o atributo: %s\n", atributoString1);
  145. printf("%s : %d / %s : %d\n",pais1, populacao1, pais2, populacao2);
  146. populacao1 > populacao2 ? printf("O País %s da Carta 1 venceu no atributo 1.População!\n", pais1)
  147. : printf("O País %s da Carta 2 venceu no atributo 1.População!\n", pais2);
  148. strcpy(atributoTexto1, "");
  149. printf("\n");
  150. break;
  151. case 2:
  152. strcpy(atributoTexto2Vers2,atributoTexto2);
  153. strcpy(atributoString1,atributoTexto2);
  154. printf("%s VS %s", pais1, pais2);
  155. printf("Você escolheu o atributo: %s\n", atributoString1);
  156. printf("%s : %.2f km² / %s : %.2f km²\n",pais1, area1, pais2, area2);
  157. area1 > area2 ? printf("O Pís %s da Carta 1 venceu no atributo 2.Área!\n", pais1)
  158. : printf("O País%s da Carta 2 venceu no atributo 2.Área!\n", pais2);
  159. strcpy(atributoTexto2, "");
  160. printf("\n");
  161. break;
  162. case 3:
  163. strcpy(atributoTexto3Vers2,atributoTexto3);
  164. strcpy(atributoString1,atributoTexto3);
  165. printf("%s VS %s", pais1, pais2);
  166. printf("Você escolheu o atributo: %s\n", atributoString1);
  167. printf("%s : US$ %.2f trilhões / %s : US$ %.2f trilhões\n",pais1, pib1, pais2, pib2);
  168. pib1 > pib2 ? printf("O País %s da Carta 1 venceu no atributo 3.PIB!\n", pais1)
  169. : printf("O País %s da Carta 2 venceu no atributo 3.PIB!\n", pais2);
  170. strcpy(atributoTexto3, "");
  171. printf("\n");
  172. break;
  173. case 4:
  174. strcpy(atributoTexto4Vers2,atributoTexto4);
  175. strcpy(atributoString1,atributoTexto4);
  176. printf("%s VS %s", pais1, pais2);
  177. printf("Você escolheu o atributo: %s\n", atributoString1);
  178. printf("%s : %d / %s : %d\n",pais1, numerodePontosTuristicos1, pais2, numerodePontosTuristicos2);
  179. numerodePontosTuristicos1 > numerodePontosTuristicos2 ?
  180. printf("O País %s da Carta 1 venceu no atributo 4.Número de Pontos Turísticos!\n", pais1)
  181. : printf("O País %s da Carta 2 venceu no atributo 4.Número de Pontos Turísticos!\n", pais2);
  182. strcpy(atributoTexto4, "");
  183. printf("\n");
  184. break;
  185. case 5:
  186. strcpy(atributoTexto5Vers2,atributoTexto5);
  187. strcpy(atributoString1,atributoTexto5);
  188. printf("%s VS %s", pais1, pais2);
  189. printf("Você escolheu o atributo: %s\n", atributoString1);
  190. printf("%s : %.2f hab/km² / %s : %.2f hab/km²\n",pais1, densidadeDemografica1, pais2, densidadeDemografica2);
  191. densidadeDemografica1 < densidadeDemografica2 ?
  192. printf("O País %s da Carta 1 venceu no atributo 5.Densidade Demográfica!\n", pais1)
  193. : printf("O País %s da Carta 2 venceu no atributo 5.Densidade DEmográfica!\n", pais2);
  194. strcpy(atributoTexto5, "");
  195. printf("\n");
  196. break;
  197. default:
  198. printf("Opção inválida!\n");
  199. break;
  200. }
  201.  
  202. //Menu 2º após a escolha. Aqui o jogador irá escolher o 2º atributo:
  203. printf("Escolha o 2º atributo: \n");
  204.  
  205. /*
  206.   Aqui vemos mais uma função em C fora a parte que eu pesquisei. A função "strcmp()"
  207.   Essa função serve para comparar duas strings.
  208.   Aqui ela verifica se a string está vazia antes de imprimir
  209.   Se a string vazia tiver ou seja retornar valor diferente de zero (!= 0),
  210.   ela será impressa pois significa que ela não está vazia e poderá aparecer
  211.   impressa no 2º Menu. Isso garante que a oopção que já foi escolhida pelo
  212.   jogador no 1º Menu e que foi removida, não apareça no 2º Menu:
  213.   */
  214.  
  215. if (strcmp(atributoTexto1, "") != 0) {
  216. printf("%s\n", atributoTexto1);
  217. }
  218. if (strcmp(atributoTexto2, "") != 0) {
  219. printf("%s\n", atributoTexto2);
  220. }
  221. if (strcmp(atributoTexto3, "") != 0) {
  222. printf("%s\n", atributoTexto3);
  223. }
  224. if (strcmp(atributoTexto4, "") != 0) {
  225. printf("%s\n", atributoTexto4);
  226. }
  227. if (strcmp(atributoTexto5, "") != 0) {
  228. printf("%s\n", atributoTexto5);
  229. }
  230.  
  231. printf("Escolha: ");
  232. scanf("%d",&atributoEscolhido2);
  233. printf("\n");
  234.  
  235. switch (atributoEscolhido2)
  236. {
  237. case 1:
  238. if (atributoEscolhido1 == atributoEscolhido2) {
  239. printf("Opção Inválida! Você escolheu o mesmo atributo!\n");
  240. } else {
  241. strcpy(atributoString2, atributoTexto1);
  242. printf("%s VS %s\n", pais1, pais2);
  243. printf("Você escolheu o atributo: %s\n", atributoString2);
  244. printf("%s : %d / %s : %d\n",pais1, populacao1, pais2, populacao2);
  245. populacao1 < populacao2 ? printf("O País %s da Carta 2 venceu no atributo 1.População!\n", pais2)
  246. : printf("O País %s da Carta 1 venceu no atributo 1.População!\n", pais1);
  247. printf("\n");
  248. }
  249. break;
  250. case 2:
  251. if (atributoEscolhido1 == atributoEscolhido2) {
  252. printf("Opção Inválida! Você escolheu o mesmo atributo!\n");
  253. } else {
  254. strcpy(atributoString2, atributoTexto2);
  255. printf("%s VS %s", pais1, pais2);
  256. printf("Você escolheu o atributo: %s\n", atributoString2);
  257. printf("%s : %.2f km² / %s : %.2f km²\n",pais1, area1, pais2, area2);
  258. area1 < area2 ? printf("O País %s da Carta 2 venceu no atributo 2.Área!\n", pais2)
  259. : printf("O País %s da Carta 1 venceu no atributo 2.Área!\n", pais1);
  260. printf("\n");
  261. }
  262. break;
  263. case 3:
  264. if (atributoEscolhido1 == atributoEscolhido2) {
  265. printf("Opção Inválida! Você escolheu o mesmo atributo!\n");
  266. } else {
  267. strcpy(atributoString2, atributoTexto3);
  268. printf("%s VS %s", pais1, pais2);
  269. printf("Você escolheu o atributo: %s\n", atributoString2);
  270. printf("%s : US$ %.2f trilhões / %s : US$ %.2f trilhões\n",pais1, pib1, pais2, pib2);
  271. pib1 < pib2 ? printf("O País %s da Carta 2 venceu no atributo 3.PIB!\n", pais2)
  272. : printf("O País %s da Carta 1 venceu no atributo 3.PIB!\n", pais1);
  273. printf("\n");
  274. }
  275. break;
  276. case 4:
  277. if (atributoEscolhido1 == atributoEscolhido2) {
  278. printf("Opção Inválida! Você escolheu o mesmo atributo!\n");
  279. } else {
  280. strcpy(atributoString2, atributoTexto4);
  281. printf("%s VS %s", pais1, pais2);
  282. printf("Você escolheu o atributo: %s\n", atributoString2);
  283. printf("%s : %d / %s : %d\n",pais1, numerodePontosTuristicos1, pais2, numerodePontosTuristicos2);
  284. numerodePontosTuristicos1 > numerodePontosTuristicos2 ?
  285. printf("O País %s da Carta 2 venceu no atributo 4.Número de Pontos Turísticos!\n", pais2)
  286. : printf("O País %s da Carta 1 venceu no atributo 4.Número de Pontos Turísticos!\n", pais1);
  287. printf("\n");
  288. }
  289. break;
  290. case 5:
  291. if (atributoEscolhido1 == atributoEscolhido2) {
  292. printf("Opção Inválida! Você escolheu o mesmo atributo!\n");
  293. } else {
  294. strcpy(atributoString2, atributoTexto5);
  295. printf("%s VS %s", pais1, pais2);
  296. printf("Você escolheu o atributo: %s\n", atributoString2);
  297. printf("%s : %.2f hab/km² / %s : %.2f hab/km²\n",pais1, populacao1, pais2, populacao2);
  298. densidadeDemografica1 > densidadeDemografica2 ?
  299. printf("O País %s da Carta 2 venceu no atributo 5.Densidade Demográfica!\n", pais2)
  300. : printf(" País %s da Carta 1 venceu no atributo 5.Densidade Demográfica!\n", pais1);
  301. printf("\n");
  302. }
  303. default:
  304. printf("Opção Inválida!");
  305. }
  306.  
  307. if(strcmp(atributoString1,atributoTexto1Vers2) == 0 && strcmp(atributoString2,atributoTexto2) == 0
  308. || strcmp(atributoString1,atributoTexto2Vers2) == 0 && strcmp(atributoString2,atributoTexto1) == 0) {
  309. if(somaPopArea1 > somaPopArea2) {
  310. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  311. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  312. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  313. printf("%s : %d / %s : %d\n",pais1, somaPopArea1, pais2, somaPopArea2);
  314. printf("A Carta 1 do País %s Venceu!\n",pais1);
  315. printf("### FIM DE JOGO! ###");
  316. } else {
  317. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  318. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  319. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  320. printf("%s : %d / %s : %d\n",pais1, somaPopArea1, pais2, somaPopArea2);
  321. printf("A Carta 2 do País %s Venceu!\n",pais2);
  322. printf("### FIM DE JOGO! ###");
  323. }
  324. } else if(strcmp(atributoString1,atributoTexto2Vers2) == 0 && strcmp(atributoString2,atributoTexto3) == 0
  325. || strcmp(atributoString1,atributoTexto3Vers2) == 0 && strcmp(atributoString2,atributoTexto2) == 0) {
  326. if(somaAreaPib1 > somaAreaPib2) {
  327. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  328. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  329. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  330. printf("%s : %d / %s : %d\n",pais1, somaAreaPib1, pais2, somaAreaPib2);
  331. printf("A Carta 1 do País %s Venceu!\n",pais1);
  332. printf("### FIM DE JOGO! ###");
  333. } else {
  334. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  335. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  336. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  337. printf("%s : %d / %s : %d\n",pais1, somaAreaPib1, pais2, somaAreaPib2);
  338. printf("A Carta 2 do País %s Venceu!\n",pais2);
  339. printf("### FIM DE JOGO! ###");
  340. }
  341. } else if(strcmp(atributoString1,atributoTexto3Vers2) == 0 && strcmp(atributoString2,atributoTexto4) == 0
  342. || strcmp(atributoString1,atributoTexto4Vers2) == 0 && strcmp(atributoString2,atributoTexto3) == 0) {
  343. if(somaPibNPT1 > somaPibNPT2) {
  344. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  345. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  346. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  347. printf("%s : %d / %s : %d\n",pais1, somaPibNPT1, pais2, somaPibNPT2);
  348. printf("A Carta 1 do País %s Venceu!\n",pais1);
  349. printf("### FIM DE JOGO! ###");
  350. } else {
  351. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  352. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  353. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  354. printf("%s : %d / %s : %d\n",pais1, somaPibNPT1, pais2, somaPibNPT2);
  355. printf("A Carta 2 do País %s Venceu!\n",pais2);
  356. printf("### FIM DE JOGO! ###");
  357. }
  358. } else if(strcmp(atributoString1,atributoTexto4Vers2) == 0 && strcmp(atributoString2,atributoTexto5) == 0
  359. || strcmp(atributoString1,atributoTexto5Vers2) == 0 && strcmp(atributoString2,atributoTexto4) == 0 ) {
  360. if(somaNPTDens1 > somaNPTDens2) {
  361. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  362. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  363. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  364. printf("%s : %d / %s : %d\n",pais1, somaNPTDens1, pais2, somaNPTDens2);
  365. printf("A Carta 1 do País %s Venceu!\n",pais1);
  366. printf("### FIM DE JOGO! ###");
  367. } else {
  368. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  369. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  370. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  371. printf("%s : %d / %s : %d\n",pais1, somaNPTDens1, pais2, somaNPTDens2);
  372. printf("A Carta 2 do País %s Venceu!\n",pais2);
  373. printf("### FIM DE JOGO! ###");
  374. }
  375. } else if(strcmp(atributoString1,atributoTexto1Vers2) == 0 && strcmp(atributoString2,atributoTexto3) == 0
  376. || strcmp(atributoString1,atributoTexto3Vers2) == 0 && strcmp(atributoString2,atributoTexto1) == 0 ) {
  377. if(somaPopPib1 > somaPopPib2) {
  378. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  379. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  380. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  381. printf("%s : %d / %s : %d\n",pais1, somaPopPib1, pais2, somaPopPib2);
  382. printf("A Carta 1 do País %s Venceu!\n",pais1);
  383. printf("### FIM DE JOGO! ###");
  384. } else {
  385. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  386. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  387. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  388. printf("%s : %d / %s : %d\n",pais1, somaPopPib1, pais2, somaPopPib2);
  389. printf("A Carta 2 do País %s Venceu!\n",pais2);
  390. printf("### FIM DE JOGO! ###");
  391. }
  392. } else if(strcmp(atributoString1,atributoTexto1Vers2) == 0 && strcmp(atributoString2,atributoTexto4) == 0
  393. || strcmp(atributoString1,atributoTexto4Vers2) == 0 && strcmp(atributoString2,atributoTexto1) == 0 ) {
  394. if(somaPopNPT1 > somaPopNPT2) {
  395. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  396. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  397. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  398. printf("%s : %d / %s : %d\n",pais1, somaPopNPT1, pais2, somaPopNPT2);
  399. printf("A Carta 1 do País %s Venceu!\n",pais1);
  400. printf("### FIM DE JOGO! ###");
  401. } else {
  402. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  403. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  404. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  405. printf("%s : %d / %s : %d\n",pais1, somaPopNPT1, pais2, somaPopNPT2);
  406. printf("A Carta 2 do País %s Venceu!\n",pais2);
  407. printf("### FIM DE JOGO! ###");
  408. }
  409. } else if(strcmp(atributoString1,atributoTexto1Vers2) == 0 && strcmp(atributoString2,atributoTexto5) == 0
  410. || strcmp(atributoString1,atributoTexto5Vers2) == 0 && strcmp(atributoString2,atributoTexto1) == 0 ) {
  411. if(somaPopDens1 > somaPopDens2) {
  412. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  413. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  414. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  415. printf("%s : %d / %s : %d\n",pais1, somaPopDens1, pais2, somaPopDens2);
  416. printf("A Carta 1 do País %s Venceu!\n",pais1);
  417. printf("### FIM DE JOGO! ###");
  418. } else {
  419. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  420. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  421. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  422. printf("%s : %d / %s : %d\n",pais1, somaPopDens1, pais2, somaPopDens2);
  423. printf("A Carta 2 do País %s Venceu!\n",pais2);
  424. printf("### FIM DE JOGO! ###");
  425. }
  426. } else if(strcmp(atributoString1,atributoTexto2Vers2) == 0 && strcmp(atributoString2,atributoTexto4) == 0
  427. || strcmp(atributoString1,atributoTexto4Vers2) == 0 && strcmp(atributoString2,atributoTexto2) == 0 ) {
  428. if(somaAreaNPT1 > somaAreaNPT2) {
  429. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  430. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  431. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  432. printf("%s : %d / %s : %d\n",pais1, somaAreaNPT1, pais2, somaAreaNPT2);
  433. printf("A Carta 1 do País %s Venceu!\n",pais1);
  434. printf("### FIM DE JOGO! ###");
  435. } else {
  436. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  437. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  438. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  439. printf("%s : %d / %s : %d\n",pais1, somaAreaNPT1, pais2, somaAreaNPT2);
  440. printf("A Carta 2 do País %s Venceu!\n",pais2);
  441. printf("### FIM DE JOGO! ###");
  442. }
  443. } else if(strcmp(atributoString1,atributoTexto2Vers2) == 0 && strcmp(atributoString2,atributoTexto5) == 0
  444. || strcmp(atributoString1,atributoTexto5Vers2) == 0 && strcmp(atributoString2,atributoTexto2) == 0 ) {
  445. if(somaAreaDens1 > somaAreaDens2) {
  446. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  447. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  448. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  449. printf("%s : %d / %s : %d\n",pais1, somaAreaDens1, pais2, somaAreaDens2);
  450. printf("A Carta 1 do País %s Venceu!\n",pais1);
  451. printf("### FIM DE JOGO! ###");
  452. } else {
  453. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  454. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  455. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  456. printf("%s : %d / %s : %d\n",pais1, somaAreaDens1, pais2, somaAreaDens2);
  457. printf("A Carta 2 do País %s Venceu!\n",pais2);
  458. printf("### FIM DE JOGO! ###");
  459. }
  460. } else if(strcmp(atributoString1,atributoTexto3Vers2) == 0 && strcmp(atributoString2,atributoTexto5) == 0
  461. || strcmp(atributoString1,atributoTexto5Vers2) == 0 && strcmp(atributoString2,atributoTexto3) == 0 ) {
  462. if(somaPibDens1 > somaPibDens2) {
  463. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  464. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  465. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  466. printf("%s : %d / %s : %d\n",pais1, somaPibDens1, pais2, somaPibDens2);
  467. printf("A Carta 1 do País %s Venceu!\n",pais1);
  468. printf("### FIM DE JOGO! ###");
  469. } else {
  470. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  471. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  472. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  473. printf("%s : %d / %s : %d\n",pais1, somaPibDens1, pais2, somaPibDens2);
  474. printf("A Carta 2 do País %s Venceu!\n",pais2);
  475. printf("### FIM DE JOGO! ###");
  476. }
  477. } else if(strcmp(atributoString1,atributoTexto4Vers2) == 0 && strcmp(atributoString2,atributoTexto5) == 0
  478. || strcmp(atributoString1,atributoTexto5Vers2) == 0 && strcmp(atributoString2,atributoTexto4) == 0 ) {
  479. if(somaNPTDens1 > somaNPTDens2) {
  480. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  481. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  482. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  483. printf("%s : %d / %s : %d\n",pais1, somaNPTDens1, pais2, somaNPTDens2);
  484. printf("A Carta 1 do País %s Venceu!\n",pais1);
  485. printf("### FIM DE JOGO! ###");
  486. } else {
  487. printf("*** Soma dos Atributos escolhidos de cada carta ***\n\n");
  488. printf("Carta 1 / %s: %s + %s\n",pais1,atributoString1,atributoString2);
  489. printf("Carta 2 / %s: %s + %s\n",pais2,atributoString1,atributoString2);
  490. printf("%s : %d / %s : %d\n",pais1, somaNPTDens1, pais2, somaNPTDens2);
  491. printf("A Carta 2 do País %s Venceu!\n",pais2);
  492. printf("### FIM DE JOGO! ###");
  493. }
  494. }
  495.  
  496. return 0;
  497.  
  498. }
  499.  
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
Digite o nome do País da Carta 1:
Digite a População do País da Carta 1 (ex: 123456789 sem casas decimais):
Digite a Área do País da Carta 1 (ex: 9999.99 com duas casas decimais):
Digite o PIB do País da Carta 1 (ex: 99.99 com duas casas decimais):
Digite o número de pontos turistícos do País da Carta 1:
Digite o nome do País da Carta 2:
Digite a População do País da Carta 2 (ex: 123456789 sem casas decimais):
Digite a Área do País da Carta 2 (ex: 9999.99 com duas casas decimais):
Digite o PIB do País da Carta 2 (ex: 99.99 com duas casas decimais):
Digite o número de pontos turistícos do País da Carta 2:

*** Jogo do Super Trunfo Países ***
Escolha o 1º atributo:
1.População
2.Área
3.PIB
4.Número de Pontos Turísticos
5.Densidade Demográfica
Escolha: Opção inválida!
Escolha o 2º atributo: 
1.População
2.Área
3.PIB
4.Número de Pontos Turísticos
5.Densidade Demográfica
Escolha: 
Opção Inválida!