Dynamic Things Posted November 15, 2016 at 08:51 AM Share Posted November 15, 2016 at 08:51 AM Boas pessoal, hoje venho disponibilizar mais um matéria de estudo para quem anda a começar em C, este protejo foi feito por mim a pedido de um trabalho para avaliação, este programa permite ver equipas existentes, ver informações das equipas, Adicionar equipas novas, e pesquisar as equipas. O programa vai buscar informações a ficheiros txt que estão no disco "C:" na pasta Equipas, assim sendo "C:\\Equipas\\ficheiro.txt" Código do programa assim como a listas das equipas: /* Name: Tabela da Liga Copyright: TMoore Tutorials Author: Dynamic Things Date: 09/11/16 11:53 EMail: [email protected]<script data-cfhash='f9e31' type="text/javascript">/* */</script> Description: This project was create by Dynamic Things, for more info http://dynamicthings.top/*/#include <stdio.h>#include <windows.h>#include <conio.h>#include <locale.h>#include <string.h>#define equipa 1/*Pagina de abertura*/void inicio(){ system("color 2F"); printf("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t A melhor forma de trabalhar é trabalhar"); printf("\n\t\t\tcom alguém mais preguiçoso que tu,o preguiçoso procura sempre"); printf("\n\t\t\t\t a forma mais rapida de resolver o problema."); printf("\n\n\t\t\t\t\t\tBy Dynamic Things"); Sleep (5000);}/*Fim da Pagina de abertura*//*Opção 1*//*Linhas de cabeçalho*/void estilo(){ system("cls"); system("color 3F");}void topofundo(){ printf(":"); for (int i=1;i<=80;i++) printf("-"); printf(":");}void meiotopo(){ for (int i=1;i<=1;i++) printf("**\t\t\t\t TABELA DA LIGA\t\t\t\t**\n"); }void meiotopo2(){ for (int i=1;i<=1;i++) printf("**\t\t\t\t MENU PRINCIPAL\t\t\t\t**\n"); }void meiotopo3(){ for (int i=1;i<=1;i++) printf("*\t\t\t\t\t\t\t\t\t\t *\n*\t\t\t\t\t\t\t\t\t\t *\n*\t\t\t\t\t\t\t\t\t\t *\n*\t[1] Ver Classificações\t\t [3] Adicionar Equipa\t\t\t *\n"); printf("*\t[2] Pesquisar Equipas\t\t [0] Sair\t\t\t\t *\n*\t\t\t\t\t\t\t\t\t\t *\n*\t\t\t\t\t\t\t\t\t\t *\n*\t\t\t\t\t\t\t\t\t\t *\n"); }/*Fim das Linhas de cabeçalho*//*Cabeçalho das classificaçoes*/void classificacoes(){ for (int i=1;i<=1;i++) printf("**\t\t\t CLASSIFICAÇÕES DA LIGA\t\t\t\t**\n"); }/*Fim do Cabeçalho das classificaçoes*//*Fim Opção 1*//*Opção 2*/void pesquisar_Equipas_topo(){ for (int i=1;i<=1;i++) printf("**\t\t\t\tPESQUISAR EQUIPAS\t\t\t\t**\n"); }/*Fim Opção 2*//*Opção 3*/void adicionar_Equipas_topo(){ for (int i=1;i<=1;i++) printf("**\t\t\t ADICIONAR EQUIPA NOVA\t\t\t\t**\n"); }/*Fim Opção 3*//*Sair do programa*/bool sair;/*Struct das equipas*/struct equipas{ char nome[100],presidente[100],treinador[100],GuardaRedes[100],central1[100],central2[100],lateralesquerdo[100],lateraldireito[100],mediocentro1[100],mediocentro2[100],MedioOfencivo[100],avancado1[100],avancado2[100]; char suplente1[100],suplente2[100],suplente3[100],suplente4[100],suplente5[100]; char reserva1[100],reserva2[100],reserva3[100],reserva4[100]; int campeonato,tacadeportugal,supertaca,tacadaliga;};/*Fim Struct das equipas*//*Inicio do Main*/main(){ //Ativa a possibilidade de escrever com pontuações de acordo com o acordo ortográfico portugues setlocale(LC_ALL,"portuguese"); //Variaveis: char ch,Einicial,Pverificacao,Vinfo,Tinfo,Evoltar/*,codigo[15]*/,linha[500],caminho[50],pesquisar[50],pesquisar2[50],pesquisar3[50],VPesquisar; FILE *ficheiro; //Estrutura inicial inicio(); //goto inicial (principal) inicio: system("mode 110,55");//Este codigo permite redimensionar a janela do programa. estilo(); topofundo(); putchar('\n'); meiotopo(); topofundo(); putchar('\n'); meiotopo2(); topofundo(); putchar('\n'); topofundo(); putchar('\n'); meiotopo3(); topofundo(); //Pergunta Inicial printf("\n\tQue operação pretende realizar?: "); Einicial = getche(); //Switch da escolha inicial switch(Einicial) { case '1': classificacoes: system("cls"); system("color 5F"); putchar(); topofundo(); putchar(); classificacoes(); topofundo(); putchar(); topofundo(); putchar(); ficheiro = fopen("c:\\Equipas\\EquipasDaLiga.txt","r"); while ((ch= fgetc(ficheiro))!=EOF) printf("%c",ch); fclose(ficheiro); putchar(); topofundo(); printf("\n\nPode ver informações dos 4 primeiros clubes, digitando: [1],[2],[3] ou [4], [0]Sair: "); Vinfo = getche(); switch(Vinfo) { case '1': printf("\n\nPode escolher de forma pretende ver as informações do SL Benfica ([T]exto, [L]inha de comandos, [0]Sair): "); Tinfo = getche(); switch(Tinfo) { case 't': case 'T': system("c:\\Equipas\\Benfica.txt"); tentarPC: printf("\n\tPretende voltar as classificações ou ao menu principal ([C]lassificações ou [P]rincipal [0]Sair)?: "); Evoltar = getche(); switch(Evoltar) { case 'c': case 'C': goto classificacoes; break; case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(3000); goto tentarPC; break; } break; case 'l': case 'L': system("color 4F"); system("cls"); putchar('\n'); ficheiro = fopen("c:\\Equipas\\Benfica.txt","r"); while ((ch= fgetc(ficheiro))!=EOF) printf("%c",ch); fclose(ficheiro); tentarB: printf("\n\tPretende voltar as classificações ou ao menu principal ([C]lassificações ou [P]rincipal [0]Sair)?: "); Evoltar = getche(); switch(Evoltar) { case 'c': case 'C': goto classificacoes; break; case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(3000); goto tentarB; break; } break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tIrá voltar ao menu inicial...\n\tPor favor aguarde alguns segundos..."); Sleep(3000); goto inicio; break; } break; case '2': printf("\n\nPode escolher de forma pretende ver as informações do FC Porto ([T]exto, [L]inha de comandos, [0]Sair): "); Tinfo = getche(); switch(Tinfo) { case 't': case 'T': system("c:\\Equipas\\Porto.txt"); tentarPC2: printf("\n\tPretende voltar as classificações ou ao menu principal ([C]lassificações ou [P]rincipal [0]Sair)?: "); Evoltar = getche(); switch(Evoltar) { case 'c': case 'C': goto classificacoes; break; case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(3000); goto tentarPC2; break; } break; case 'l': case 'L': system("color 1F"); system("cls"); putchar(); ficheiro = fopen("c:\\Equipas\\Porto.txt","r"); while ((ch= fgetc(ficheiro))!=EOF) printf("%c",ch); fclose(ficheiro); tentarP: printf("\n\tPretende voltar as classificações ou ao menu principal ([C]lassificações ou [P]rincipal [0]Sair)?: "); Evoltar = getche(); switch(Evoltar) { case 'c': case 'C': goto classificacoes; break; case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(3000); goto tentarP; break; } break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tIrá voltar ao menu inicial...\n\tPor favor aguarde alguns segundos..."); Sleep(3000); goto inicio; break; } break; case '3': printf("\n\nPode escolher de forma pretende ver as informações do SC Braga ([T]exto, [L]inha de comandos, [0]Sair): "); Tinfo = getche(); switch(Tinfo) { case 't': case 'T': system("c:\\Equipas\\Braga.txt"); tentarPC3: printf("\n\tPretende voltar as classificações ou ao menu principal ([C]lassificações ou [P]rincipal [0]Sair)?: "); Evoltar = getche(); switch(Evoltar) { case 'c': case 'C': goto classificacoes; break; case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(3000); goto tentarPC3; break; } break; case 'l': case 'L': system("color 4F"); system("cls"); putchar(); ficheiro = fopen("c:\\Equipas\\Braga.txt","r"); while ((ch= fgetc(ficheiro))!=EOF) printf("%c",ch); fclose(ficheiro); tentarSB: printf("\n\tPretende voltar as classificações ou ao menu principal ([C]lassificações ou [P]rincipal [0]Sair)?: "); Evoltar = getche(); switch(Evoltar) { case 'c': case 'C': goto classificacoes; break; case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(3000); goto tentarSB; break; } break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tIrá voltar ao menu inicial...\n\tPor favor aguarde alguns segundos..."); Sleep(3000); goto inicio; break; } break; case '4': printf("\n\nPode escolher de forma pretende ver as informações do Sporting CP ([T]exto, [L]inha de comandos, [0]Sair): "); Tinfo = getche(); switch(Tinfo) { case 't': case 'T': system("c:\\Equipas\\Sporting.txt"); tentarPC4: printf("\n\tPretende voltar as classificações ou ao menu principal ([C]lassificações ou [P]rincipal [0]Sair)?: "); Evoltar = getche(); switch(Evoltar) { case 'c': case 'C': goto classificacoes; break; case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(3000); goto tentarPC4; break; } break; case 'l': case 'L': system("color 2F"); system("cls"); putchar(); ficheiro = fopen("c:\\Equipas\\Sporting.txt","r"); while ((ch= fgetc(ficheiro))!=EOF) printf("%c",ch); fclose(ficheiro); tentarS: printf("\n\tPretende voltar as classificações ou ao menu principal ([C]lassificações ou [P]rincipal [0]Sair)?: "); Evoltar = getche(); switch(Evoltar) { case 'c': case 'C': goto classificacoes; break; case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(3000); goto tentarS; break; } break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tIrá voltar ao menu inicial...\n\tPor favor aguarde alguns segundos..."); Sleep(3000); goto inicio; break; } break; case '0': goto sair; break; default: printf("\n\n\tEstá opção não é valida!\n\tIrá voltar ao menu inicial...\n\tPor favor aguarde alguns segundos..."); Sleep(3000); goto inicio; break; } break; case '2': do { system("cls"); system("color 1F"); topofundo(); putchar(); pesquisar_Equipas_topo(); topofundo(); putchar(); topofundo(); //Ver as equipas disponiveis para pesquisa strcpy(pesquisar, "c:\\Equipas\\"); printf("\n\nDe momento nem todas as equipas estão prontas a dar informações\nAqui podes ver as equipas das quais pode obter informações extra:\n\n"); ficheiro = fopen("c:\\Equipas\\EquipasDaLiga.txt","r"); while ((ch= fgetc(ficheiro))!=EOF) printf("%c",ch); fclose(ficheiro); putchar('\n'); printf("Intoduza a equipa que pretende obter informações: "); gets(pesquisar2); strcpy(pesquisar3, ".txt"); strcat(pesquisar, pesquisar2); strcat(pesquisar, pesquisar3); ficheiro = fopen(pesquisar,"r"); if(ficheiro == NULL) { printf("Opção invalida, a equipa que pretende informações não existe!\n [ENTER]Para continuar!"); getchar(); system("cls"); } fclose(ficheiro); } while(ficheiro == NULL); cima: system("cls"); topofundo(); putchar(); pesquisar_Equipas_topo(); topofundo(); putchar(); topofundo(); printf("\n\nPode escolher de forma pretende ver as informações ([T]exto, [L]inha de comandos, [0]Sair): "); VPesquisar=getche(); switch(VPesquisar) { case 'l': case 'L': ficheiro = fopen(pesquisar, "r"); system("cls"); while ((ch= fgetc(ficheiro))!=EOF) printf("%c",ch); fclose(ficheiro); putchar(); printf("\n\n[ENTER]Para continuar!"); getchar(); break; case 't': case 'T': system("cls"); system(pesquisar); putchar(); printf("\n\n[ENTER]Para continuar!"); getchar(); break; case '0': goto sair; default: system("cls"); goto cima; break; } VPesquisar=0; system("cls"); voltaratentar: printf("\n\tPretende voltar ao menu principal ou sair do programa? ([P]rincipal ou [0]Sair)?: "); VPesquisar = getche(); switch(VPesquisar) { case 'p': case 'P': goto inicio; break; case '0': goto sair; break; default: system("cls"); printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos e tente novamente...\n"); Sleep(1000); goto voltaratentar; break; } break; case '3': system("cls"); system("color 6F"); topofundo(); putchar(); adicionar_Equipas_topo(); topofundo(); putchar(); topofundo(); struct equipas nova[equipa]; for(int x=0;x<equipa;x++) { ficheiro = fopen("c:\\Equipas\\EquipasDaLiga.txt","a+"); printf("\nInsira o nome da equipa: ", x+1);//Nome do clube gets(nova[x].nome); strcpy(linha, "\n*--------------------------------------------------------------------------------*\n*\t[New]"); fprintf(ficheiro, "%s %s *", linha, nova[x].nome), fclose(ficheiro);//fim nome do clube //começa nova equipa strcpy(caminho, "c:\\Equipas\\"); strcat(caminho, nova[x].nome); strcat(caminho, ".txt"); ficheiro = fopen(caminho, "w"); /*################################# EQUIPA TECNICA ##################################*/ printf("\nInsira o nome do Presidente do clube: ", x+1);//Presidente gets(nova[x].presidente); strcpy(linha, " ################################# EQUIPA TECNICA ##################################\n\n PRESIDENTE:\n "); fprintf(ficheiro, "%s %s", linha, nova[x].presidente);//Fim Presidente printf("\nInsira o nome do Treinador do clube: ", x+1);//Treinador gets(nova[x].treinador); strcpy(linha, "\n \n TREINADOR:\n "); fprintf(ficheiro, "%s %s", linha, nova[x].treinador);//Fim treinador /*################################# FIM EQUIPA TECNICA ##################################*/ /*################################## 11 INICIAL #####################################*/ printf("\nInsira o nome do Guarda Redes do clube: ", x+1);//Guarda Redes gets(nova[x].GuardaRedes); strcpy(linha, "\n \n ################################## 11 INICIAL #####################################\n\n "); fprintf(ficheiro, "%s %s[GR]", linha, nova[x].GuardaRedes);//Fim Guarda Redes printf("\nInsira o nome do Defesa Central do clube: ", x+1);//Defesa Central gets(nova[x].central1); strcpy(linha, "\n \n "); fprintf(ficheiro, "%s %s[DC]", linha, nova[x].central1);//Fim Defesa Central printf("\nInsira o nome do Defesa Central do clube: ", x+1);//Defesa Central gets(nova[x].central2); strcpy(linha, " "); fprintf(ficheiro, "%s %s[DC]", linha, nova[x].central2);//Fim Defesa Central printf("\nInsira o nome do Lateral Esquerdo do clube: ", x+1);//Lateral Esquerdo gets(nova[x].lateralesquerdo); strcpy(linha, "\n "); fprintf(ficheiro, "%s %s[DL]", linha, nova[x].lateralesquerdo);//Fim Lateral Esquerdo printf("\nInsira o nome do Lateral Direito do clube: ", x+1);//Lateral Direito gets(nova[x].lateraldireito); strcpy(linha, " "); fprintf(ficheiro, "%s %s[DL]", linha, nova[x].lateraldireito);//Fim Lateral Direito printf("\nInsira o nome do Medio Centro do clube: ", x+1);//Medio Centro gets(nova[x].mediocentro1); strcpy(linha, "\n \n \n "); fprintf(ficheiro, "%s %s[MC]", linha, nova[x].mediocentro1);//Fim Medio Centro printf("\nInsira o nome do Medio Centro do clube: ", x+1);//Medio Centro gets(nova[x].mediocentro2); strcpy(linha, " "); fprintf(ficheiro, "%s %s[MC]", linha, nova[x].mediocentro2);//Fim Medio Centro printf("\nInsira o nome do Medio Ofencivo do clube: ", x+1);//Medio Ofencivo gets(nova[x].MedioOfencivo); strcpy(linha, "\n \n "); fprintf(ficheiro, "%s %s[MO]", linha, nova[x].MedioOfencivo);//Fim Medio Ofencivo printf("\nInsira o nome do Avançado do clube: ", x+1);//Avançado gets(nova[x].avancado1); strcpy(linha, "\n \n \n "); fprintf(ficheiro, "%s %s[AT]", linha, nova[x].avancado1);//Fim Avançado printf("\nInsira o nome do Avançado do clube: ", x+1);//Avançado gets(nova[x].avancado2); strcpy(linha, " "); fprintf(ficheiro, "%s %s[AT]", linha, nova[x].avancado2);//Fim Avançado /*################################## Fim dos 11 INICIAL #####################################*/ /*################################## SUPLENTES #####################################*/ printf("\nInsira o nome do Suplente do clube: ", x+1);//Suplente1 gets(nova[x].suplente1); strcpy(linha, "\n \n ################################ SUPLENTES ######################################\n \n "); fprintf(ficheiro, "%s %s[GR]", linha, nova[x].suplente1);//Fim Suplente1 printf("\nInsira o nome do Suplente do clube: ", x+1);//Suplente2 gets(nova[x].suplente2); strcpy(linha, ", "); fprintf(ficheiro, "%s %s[DL]", linha, nova[x].suplente2);//Fim Suplente2 printf("\nInsira o nome do Suplente do clube: ", x+1);//Suplente3 gets(nova[x].suplente3); strcpy(linha, ", "); fprintf(ficheiro, "%s %s[DC]", linha, nova[x].suplente3);//Fim Suplente3 printf("\nInsira o nome do Suplente do clube: ", x+1);//Suplente4 gets(nova[x].suplente4); strcpy(linha, ", "); fprintf(ficheiro, "%s %s[MC]", linha, nova[x].suplente4);//Fim Suplente4 printf("\nInsira o nome do Suplente do clube: ", x+1);//Suplente5 gets(nova[x].suplente5); strcpy(linha, ", "); fprintf(ficheiro, "%s %s[AT]", linha, nova[x].suplente5);//Fim Suplente5 printf("\nInsira o nome do Reserva do clube: ", x+1);//Reserva gets(nova[x].reserva1); strcpy(linha, "\n \n ################################ RESERVAS #######################################\n \n "); fprintf(ficheiro, "%s %s", linha, nova[x].reserva1);//Fim Reserva printf("\nInsira o nome do Reserva do clube: ", x+1);//Reserva gets(nova[x].reserva2); strcpy(linha, ", "); fprintf(ficheiro, "%s %s", linha, nova[x].reserva2);//Fim Reserva printf("\nInsira o nome do Reserva do clube: ", x+1);//Reserva gets(nova[x].reserva3); strcpy(linha, ", "); fprintf(ficheiro, "%s %s", linha, nova[x].reserva3);//Fim Reserva printf("\nInsira o nome do Reserva do clube: ", x+1);//Reserva gets(nova[x].reserva4); strcpy(linha, ", "); fprintf(ficheiro, "%s %s", linha, nova[x].reserva4);//Fim Reserva printf("\nInsira o nome do Campeonato do clube: ", x+1);//campeonato scanf("%d",&nova[x].campeonato); strcpy(linha, "\n \n ################################ PALMARÉS #######################################\n \n Campeonato Nacional - "); fprintf(ficheiro, "%s %d Títulos", linha, nova[x].campeonato);//Fim campeonato printf("\nInsira o nome do Taça de Portugal do clube: ", x+1);//Taça de Portugal scanf("%d",&nova[x].tacadeportugal); strcpy(linha, "\n Taça de Portugal"); fprintf(ficheiro, "%s %d Títulos", linha, nova[x].tacadeportugal);//Fim Taça de Portugal printf("\nInsira o nome do Supertaça do clube: ", x+1);//Supertaça scanf("%d",&nova[x].supertaca); strcpy(linha, "\n Supertaça"); fprintf(ficheiro, "%s %d Títulos", linha, nova[x].supertaca);//Fim Supertaça printf("\nInsira o nome do Taça da Liga do clube: ", x+1);//Taça da Liga scanf("%d",&nova[x].tacadaliga); strcpy(linha, "\n Taça da Liga"); fprintf(ficheiro, "%s %d Títulos", linha, nova[x].tacadaliga);//Fim Taça da Liga fclose(ficheiro); system("cls"); printf("\n\n\tParabéns acabou de adicionar uma nova equipa com sucesso!\nIrá voltar ao menu principal..."); Sleep(3000); goto inicio; }; break; case '0': sair: printf("\n\n\tTem a certeza que pretende sair do programa? [s] ou [N]: "); Pverificacao = getche(); switch(Pverificacao) { case 's': case 'S': printf("\n\n\tO programa está a encerrar, por favor aguarde..."); Sleep(2000); if (sair==true) return (0); break; case 'n': case 'N': printf("\n\n\tIrá voltar ao menu inicial por fazor aguarde..."); Sleep(2000); goto inicio; break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos..."); Sleep(3000); goto inicio; break; } break; default: printf("\n\n\tEstá opção não é valida!\n\tPor favor aguarde alguns segundos..."); Sleep(3000); goto inicio; break; }}/*Fim do Main*/ Cumprimentos Dynamic Things C by Dynamic Things.rar Link to comment Share on other sites More sharing options...
welovepandas Posted November 15, 2016 at 10:37 AM Share Posted November 15, 2016 at 10:37 AM alta moca men xD wp Link to comment Share on other sites More sharing options...
Dynamic Things Posted November 15, 2016 at 10:44 AM Author Share Posted November 15, 2016 at 10:44 AM alta moca men xD wp Isso foi um trabalho que tive que fazer no curso xp Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now