Você está na página 1de 6

#include #include #include #include #include #include #include #include

<cstdlib> //bibliotecas que sero usadas <iostream> <math.h> <stdio.h> <conio.h> <dos.h> <stdlib.h> <string>

char verifica_status(char Verifica[][3]); long int fatorial(int a); //prottipo da funo fatorial void calcula_triangulos(); //prottipo da funo calcula_triangulos void jogo_da_velha_mod(); //prottipo da funo jogo_da_velha_mod void tempo_voo(); //prottipo da funo tempo_voo int main() //funo principal (menu) { int opcao; do { system("cls"); printf("Menu principal \n\n"); printf("Selecione uma opcao: (Digite o numero e tecle enter) \n\n"); //o pes do menu printf("1. Jogo da Velha \n"); printf("2. Calcula triangulos \n"); printf("3. Tempo de voo \n"); printf("0. Sair \n"); scanf("%d", &opcao); system("cls"); switch(opcao) { case 1: jogo_da_velha_mod(); //chamada da jogo_da_velha_mod no menu getch(); break; case 2: calcula_triangulos(); //chamada da calcula_triangulos no menu getch(); break; case 3: tempo_voo(); //chamada da tempo_voo no menu getch(); break; case 0: printf("Obrigado pela utilizacao do nosso programa!"); //Opo sair do menu getch(); break;

default: printf("Digite uma opcao valida\n"); // impresso quando o usurio s eleciona uma opo que no existe getch(); } } while(opcao); } char verifica_status(char Verifica[][3]) //funo que verifica as condies de vitria da funo jogo_da_velha_mod { int x; if((Verifica[0][0]=='O' && Verifica[0][1]=='O' && Verifica[0][2]=='O')|| //ver ifica cada possibilidade de vitria do jogador O (Verifica[1][0]=='O' && Verifica[1][1]=='O' && Verifica[1][2]=='O')|| (Verifica[2][0]=='O' && Verifica[2][1]=='O' && Verifica[2][2]=='O')|| (Verifica[0][0]=='O' && Verifica[1][0]=='O' && Verifica[2][0]=='O')|| (Verifica[0][1]=='O' && Verifica[1][1]=='O' && Verifica[2][1]=='O')|| (Verifica[0][2]=='O' && Verifica[1][2]=='O' && Verifica[2][2]=='O')) { printf(" >>>>>>>>>>>>>>>>>Jogo Da Velha<<<<<<<<<<<<<<<<< \ n\n (Este jogo da velha e' modificado. Diagonais nao sao aceitas como vitoria).\ n\n\n"); for(x=0;x<3;x++) //imprime a ltima jogada { printf(" %c | %c | %c \n",Verifica[x][0],V erifica[x][1],Verifica[x][2]); if(x<2) { printf(" -----------\n"); } } printf("\n\nJogador O e' o vencedor."); return 'C'; } else if((Verifica[0][0]=='X' && Verifica[0][1]=='X' && Verifica[0][2]=='X')|| //v erifica cada possibilidade de vitria do jogador X (Verifica[1][0]=='X' && Verifica[1][1]=='X' && Verifica[1][2]=='X')|| (Verifica[2][0]=='X' && Verifica[2][1]=='X' && Verifica[2][2]=='X')|| (Verifica[0][0]=='X' && Verifica[1][0]=='X' && Verifica[2][0]=='X')|| (Verifica[0][1]=='X' && Verifica[1][1]=='X' && Verifica[2][1]=='X')|| (Verifica[0][2]=='X' && Verifica[1][2]=='X' && Verifica[2][2]=='X')) { printf(" >>>>>>>>>>>>>>>>>Jogo Da Velha<<<<<<<<<<<<<<<<< \n\n (E ste jogo da velha e' modificado. Diagonais nao sao aceitas como vitoria).\n\n\n" ); for(x=0;x<3;x++) //imprime a ltima jogada { printf(" %c | %c | %c \n",Verifica[x][0],V erifica[x][1],Verifica[x][2]); if(x<2) { printf(" -----------\n"); } } printf("\n\nJogador X e' o vencedor."); return 'C'; }

} long int fatorial(int a) //funo para calcular o fatorial de um nmero (Disponvel na pg ina do DAINF da Prof Myriam) { long int Fat=-1; if(a>=0) { if(a==0) Fat = 1; //fatorial de 0 = 1 else { Fat = a; while(a > 1) { Fat = Fat*(a-1); a--; } } return(Fat); } else return(-1); } void calcula_triangulos() //funo para calcular o nmero de tringulos { int n,p,total; n = 0; p = 0; total = 0; printf("Insira a quantidade de pontos na reta 'r'\n"); scanf(" %i",&n); printf("Insira a quantidade de pontos na reta 's'\n"); scanf(" %i",&p); total = ((fatorial(p)/(fatorial(p-2)*fatorial(2)))*n)+((fatorial(n)/(fatoria l(n-2)*fatorial(2)))*p); //combinaes N e P dois a dois para achar as bases dos trin gulos printf("O total de triangulos formados com os pontos das retas 'r' e 's' e' de %i",total); //multiplicadas por N e P para achar o terceiro vrtice } void jogo_da_velha_mod() //funo para o jogo da velha modificado (Jogo da velha ond e as diagonais no valem como vitria). { char JogoVelha[3][3]; char verifica; int vez=0,a,b; for(a=0;a<3;a++) //inicializa a matriz JogoVelha for(b=0;b<3;b++) JogoVelha[a][b]=' '; while(vez<=9) { printf(" >>>>>>>>>>>>>>>>>Jogo Da Velha<<<<<<<<<<<<<<<<< \n\n (E ste jogo da velha e' modificado. Diagonais nao sao aceitas como vitoria).\n\n\n" ); for(a=0;a<3;a++) { printf(" %c | %c | %c \n",JogoVelha[a][0], JogoVelha[a][1],JogoVelha[a][2]); if(a<2)

{ printf(" } } if(vez%2)printf("Jogador O\n\nLinha: "); else printf("Jogador X\n\nLinha: "); scanf("%d",&a); printf("Coluna: "); scanf("%d",&b); system("cls"); if(JogoVelha[a-1][b-1]==' ') { if(vez%2) JogoVelha[a-1][b-1]='O'; else JogoVelha[a-1][b-1]='X'; vez++; } verifica=verifica_status(JogoVelha); if (verifica=='C') break; else if(vez==9) { printf(" >>>>>>>>>>>>>>>>>Jogo Da Velha<<<<<<<<<<<<<<<<< \n \n (Este jogo da velha e' modificado. Diagonais nao sao aceitas como vitoria).\n \n\n"); for(a=0;a<3;a++) //imprime a ultima jogada { printf(" %c | %c | %c \n",JogoVelha[a] [0],JogoVelha[a][1],JogoVelha[a][2]); if(a<2) { printf(" -----------\n"); } } printf("\n\n Deu velha!"); break; } } } void tempo_voo() //funo tempo de voo (Calcula o tempo de voo entre duas cidades di stintas). { int parar=1; do { int Duracao[3][3]={{0,100,180},{65,0,80},{200,50,0}}; //matriz de durao dos vos char Orig[12],Dest[12]; //vetores das cidades de Origem e de Destino int A,B; A=5; printf("Bem-vindo a nossa companhia aerea. Voce podera fazer conexoes para: -----------\n");

\n\nCuritiba-PR \n\nSantos-SP \n\nSalvador-BA \n\n\nInsira a cidade onde voce es ta'(sem a UF):\n\n"); scanf("%s",&Orig); if (strcmp(Orig,"CURITIBA")== 0 || strcmp(Orig,"curitiba")== 0 || strcmp(Ori g,"Curitiba")== 0) //Compara a Origem com a cidade de Curitiba de 3 formas disti ntas A=0; else if (strcmp(Orig,"SANTOS")== 0 || strcmp(Orig,"santos")== 0 || strcmp(Orig,"S antos")== 0) //Compara a Origem com a cidade de Santos de 3 formas distintas A=1; else if (strcmp(Orig,"SALVADOR")== 0 || strcmp(Orig,"salvador")== 0 || strcmp(Ori g,"Salvador")== 0) //Compara a Origem com a cidade de Salvador de 3 formas disti ntas A=2; else { printf("\n\n\n\n\n\n\n Cidade nao encontrada"); // Imprime uma mensagem se a cidade digitada no estiver no sistema getch(); } if(A!=5) { printf("\nInsira a cidade para onde voce vai (sem a UF):\n\n"); scanf("%s",&Dest); if (strcmp(Orig,Dest)== 0) //Se Origem igual a Destino, o programa r epetido { printf("As duas cidades coincidem. Digite novamente"); getch(); } else if (strcmp(Dest,"CURITIBA")== 0 || strcmp(Dest,"curitiba")== 0 || st rcmp(Dest,"Curitiba")== 0) //Compara o destino com a cidade de Curitiba de 3 for mas distintas { B=0; printf("\nSeu voo tera' duracao de aproximadamente %i minutos.\n\n ",Duracao[A][B]); //Imprime a durao da viagem break; } else if (strcmp(Dest,"SANTOS")== 0 || strcmp(Dest,"santos")== 0 || strcmp (Dest,"Santos")== 0) //Compara o destino com a cidade de Santos de 3 formas dist intas { B=1; printf("\nSeu voo tera' duracao de aproximadamente %i minutos.\n", Duracao[A][B]); //Imprime a durao da viagem break; } else if (strcmp(Dest,"SALVADOR")== 0 || strcmp(Dest,"salvador")== 0 || st rcmp(Dest,"Salvador")== 0) //Compara o destino com a cidade de Salvador de 3 for mas distintas { B=2; printf("\nSeu voo tera' duracao de aproximadamente %i minutos.\n", Duracao[A][B]); //Imprime a durao da viagem

break; } else { printf("\n\n\n\n\n\n\n Cidade nao encon trada"); //Imprime uma mensagem se a cidade digitada no estiver no sistema getch(); } } system("cls"); } while(parar); }

Você também pode gostar