CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e...

37
CES-10 INTRODUÇÃO À CES-10 INTRODUÇÃO À COMPUTAÇÃO COMPUTAÇÃO Aulas Práticas – 2014 Aulas Práticas – 2014 Capítulo VIII Capítulo VIII Strings, Estruturas e Strings, Estruturas e Subprogramas sem Subprogramas sem Parâmetros Parâmetros

Transcript of CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e...

Page 1: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

CES-10 INTRODUÇÃO CES-10 INTRODUÇÃO À COMPUTAÇÃOÀ COMPUTAÇÃO

Aulas Práticas – 2014Aulas Práticas – 2014

Capítulo VIII Capítulo VIII Strings, Estruturas e Strings, Estruturas e Subprogramas sem Subprogramas sem

ParâmetrosParâmetros

Page 2: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Tema do Lab 8: Copa do Mundo de 2014 - 1ª Tema do Lab 8: Copa do Mundo de 2014 - 1ª FaseFase

Ler as informações sobre a Ler as informações sobre a primeira fase da copaprimeira fase da copa e fazer um e fazer um relatóriorelatório contendo, para cada um dos 8 contendo, para cada um dos 8 grupos: grupos:

– Os Os resultados dos jogosresultados dos jogos

– UmaUma tabela tabela contendo os contendo os nomesnomes das seleções e das seleções e mais seus mais seus pontospontos ganhos, seu números de ganhos, seu números de vitóriasvitórias, de gols , de gols marcadosmarcados, de gols , de gols sofridossofridos e e saldossaldos de gols de gols

– O nome da seleção O nome da seleção primeiraprimeira e e segundasegunda colocada colocada

Page 3: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Tema do Lab 8: Copa do Mundo de 2014 - 1ª Tema do Lab 8: Copa do Mundo de 2014 - 1ª FaseFase

Os nomes das Os nomes das 32 seleções32 seleções devem ser lidos de devem ser lidos de um um arquivoarquivo

Os Os resultadosresultados de todos os de todos os jogosjogos de cada de cada grupo devem ser fornecidos pelo grupo devem ser fornecidos pelo operadoroperador

O referido O referido relatóriorelatório deve ser escrito num deve ser escrito num arquivoarquivo

Page 4: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Programa 8.1: Leitura dos nomes das Programa 8.1: Leitura dos nomes das seleções e montagem da estrutura de seleções e montagem da estrutura de todos os grupos e suas informaçõestodos os grupos e suas informações

typedef char cadeia[26];typedef char cadeia[26];

typedef struct selecao selecao;typedef struct selecao selecao;struct selecao {struct selecao {

cadeia nome;cadeia nome;int pontos, vitorias, golspro, golscontra, saldogols;int pontos, vitorias, golspro, golscontra, saldogols;

};};

Sejam as declarações à esquerda

nome pontos

golspro

tipo selecao

golscontra

saldogols

vitorias

São as informações sobre uma seleção

Page 5: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

typedef struct grupo grupo;typedef struct grupo grupo;struct grupo {struct grupo { char nome;char nome; selecao VetorSelecoes[5];selecao VetorSelecoes[5]; int Resultados[6][2];int Resultados[6][2]; cadeia primeiro, segundo;cadeia primeiro, segundo;};};grupo VetorGrupos[9];grupo VetorGrupos[9];

Sejam agora as declarações para um grupo de seleções

Sua representação gráfica

char

nome

cadeiaprimeiro

cadeiasegundo

#######selecaoselecaoselecaoselecao

01234

VetorSelecoes

int intint intint intint intint intint int

0123

45

0 0

Resultados

tipo grupo

O elemento zero de VetorSelecoes não será usado

Page 6: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

grupo VetorGrupos[9];grupo VetorGrupos[9];

nome

VetorSelecoes Resultados primeiro

segundo

0 # ######### ######## ### ###12345678

VetorGrupos

O elemento zero de VetorGrupos não será usado

Page 7: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

A matriz A matriz ResultadosResultados::

int intint intint intint intint intint int

0123

45

0 0

Resultados

#######selecaoselecaoselecaoselecao

VetorSelecoes 0

1234

1ª Rodada

2ª Rodada

3ª Rodada

Seleção 1x

Seleção 2

Seleção 3x

Seleção 4

Seleção 1x

Seleção 3Seleção 2x

Seleção 4

Seleção 1x

Seleção 4Seleção 2x

Seleção 3

Page 8: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

#include <stdio.h>#include <stdio.h>#include <stdlib.h>#include <stdlib.h>#include <string.h>#include <string.h>

typedef char cadeia[26];typedef char cadeia[26];

/* Estrutura para as informacoes sobre cada selecao em seu /* Estrutura para as informacoes sobre cada selecao em seu grupo */grupo */

typedef struct selecao selecao;typedef struct selecao selecao;struct selecao {struct selecao {

cadeia nome;cadeia nome;int pontos, vitorias, golspro, golscontra, saldogols;int pontos, vitorias, golspro, golscontra, saldogols;

};};

Copiar, salvar e executar o programa à esquerda

Continua no próximo slide

Page 9: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

/* Estrutura para as informacoes de cada grupo *//* Estrutura para as informacoes de cada grupo */

typedef struct grupo grupo;typedef struct grupo grupo;struct grupo {struct grupo { char nome;char nome; selecao VetorSelecoes[5];selecao VetorSelecoes[5]; int Resultados[6][2];int Resultados[6][2]; cadeia primeiro, segundo;cadeia primeiro, segundo;};};

/* Variaveis globais *//* Variaveis globais */

FILE *FileIn, *FileOut;FILE *FileIn, *FileOut;grupo VetorGrupos[9];grupo VetorGrupos[9];

Continua no próximo slide

O arquivo com os nomes das 32 seleções é fornecido pelo professor:ListaSelecoes.txt (aba de Códigos da página)

Abrir esse arquivo

Page 10: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

/* Funcao LerSelecoes: leitura dos nomes das selecoes e colocacao em /* Funcao LerSelecoes: leitura dos nomes das selecoes e colocacao em seus respectivos grupos */seus respectivos grupos */

void LerSelecoes () {void LerSelecoes () {int i, j, lenght; char nomegrupo, c;int i, j, lenght; char nomegrupo, c;

for (i = 1, nomegrupo = 'A'; i <= 8; nomegrupo++, i++) {for (i = 1, nomegrupo = 'A'; i <= 8; nomegrupo++, i++) { VetorGrupos[i].nome = nomegrupo;VetorGrupos[i].nome = nomegrupo; for (j = 1; j <= 4; j++) {for (j = 1; j <= 4; j++) { fgets(VetorGrupos[i].VetorSelecoes[j].nome,31,FileIn);fgets(VetorGrupos[i].VetorSelecoes[j].nome,31,FileIn); lenght = strlen (VetorGrupos[i].VetorSelecoes[j].nome);lenght = strlen (VetorGrupos[i].VetorSelecoes[j].nome); VetorGrupos[i].VetorSelecoes[j].nome[lenght-1] = '\0';VetorGrupos[i].VetorSelecoes[j].nome[lenght-1] = '\0'; VetorGrupos[i].VetorSelecoes[j].pontos = 0;VetorGrupos[i].VetorSelecoes[j].pontos = 0; VetorGrupos[i].VetorSelecoes[j].vitorias = 0;VetorGrupos[i].VetorSelecoes[j].vitorias = 0; VetorGrupos[i].VetorSelecoes[j].golspro = 0;VetorGrupos[i].VetorSelecoes[j].golspro = 0; VetorGrupos[i].VetorSelecoes[j].golscontra = 0;VetorGrupos[i].VetorSelecoes[j].golscontra = 0; VetorGrupos[i].VetorSelecoes[j].saldogols = 0;VetorGrupos[i].VetorSelecoes[j].saldogols = 0; }}

}}}}

Continua no próximo slide

Nenhuma seleção tem mais de 20 caracteres

O <enter> será o último caractere armazenado, antes do ‘\0’; ele deve ser eliminado

----------------------------- \n \0 ------------------

0 1 2 lenght-1

lenght

25

Page 11: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

/* Funcao EscreverGrupos: escrita das informacoes sobre os grupos *//* Funcao EscreverGrupos: escrita das informacoes sobre os grupos */

void EscreverGrupos () {void EscreverGrupos () {int i, j;int i, j;

for (i = 1; i <= 8; i++) {for (i = 1; i <= 8; i++) { fprintf (FileOut, "\n\nGRUPO %c: ", VetorGrupos[i].nome);fprintf (FileOut, "\n\nGRUPO %c: ", VetorGrupos[i].nome); fprintf (FileOut, "\n\n%-20s|%8s|%8s|%8s|%8s|%8s", fprintf (FileOut, "\n\n%-20s|%8s|%8s|%8s|%8s|%8s",

"Selecao", "Pontos", "Vitorias", "GolsPro", "GolsCon", "Selecao", "Pontos", "Vitorias", "GolsPro", "GolsCon", "SaldGols");"SaldGols");fprintf (FileOut, fprintf (FileOut,

"\"\n--------------------|--------|--------|--------|--------|--------")n--------------------|--------|--------|--------|--------|--------");;

for (j = 1; j <= 4; j++)for (j = 1; j <= 4; j++) fprintf (FileOut, "\n%-20s|%8d|%8d|%8d|%8d|%8d",fprintf (FileOut, "\n%-20s|%8d|%8d|%8d|%8d|%8d", VetorGrupos[i].VetorSelecoes[j].nome,VetorGrupos[i].VetorSelecoes[j].nome, VetorGrupos[i].VetorSelecoes[j].pontos, VetorGrupos[i].VetorSelecoes[j].pontos,

VetorGrupos[i].VetorSelecoes[j].vitorias,VetorGrupos[i].VetorSelecoes[j].vitorias, VetorGrupos[i].VetorSelecoes[j].golspro, VetorGrupos[i].VetorSelecoes[j].golspro,

VetorGrupos[i].VetorSelecoes[j].golscontra,VetorGrupos[i].VetorSelecoes[j].golscontra, VetorGrupos[i].VetorSelecoes[j].saldogols);VetorGrupos[i].VetorSelecoes[j].saldogols); }}}}

Continua no próximo slide

Page 12: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

/* Funcao main *//* Funcao main */

int main () {int main () {

/* Abertura dos arquivos de entrada e de saida *//* Abertura dos arquivos de entrada e de saida */

FileIn = fopen ("ListaSelecoes.txt", "r");FileIn = fopen ("ListaSelecoes.txt", "r"); FileOut = fopen ("RelatorioCopa2014.txt", "w");FileOut = fopen ("RelatorioCopa2014.txt", "w"); fprintf (FileOut, "COPA DO MUNDO DE 2014");fprintf (FileOut, "COPA DO MUNDO DE 2014");

/* Avisos de sobre os arquivos de entrada e saida *//* Avisos de sobre os arquivos de entrada e saida */

printf ("Processamento das informacoes da Copa do Mundo de 2014\n\n");printf ("Processamento das informacoes da Copa do Mundo de 2014\n\n"); printf ("\tArquivo ListaSelecoes.txt: Contem o nome das 32 selecoes da Copa\n\n");printf ("\tArquivo ListaSelecoes.txt: Contem o nome das 32 selecoes da Copa\n\n"); printf ("\tArquivo RelatorioCopa2014.txt: Relatorio da Copa\n");printf ("\tArquivo RelatorioCopa2014.txt: Relatorio da Copa\n");

/* Processamento das informacoes sobre a Copa *//* Processamento das informacoes sobre a Copa */

LerSelecoes ();LerSelecoes (); EscreverGrupos ();EscreverGrupos ();

/* Fechamento da tela *//* Fechamento da tela */

printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;

}} /* Fim da funcao main *//* Fim da funcao main */

Page 13: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

No vídeo:No vídeo:Processamento das informacoes da Copa do Mundo de 2014Processamento das informacoes da Copa do Mundo de 2014

Arquivo ListaSelecoes.txt: Contem o nome das 32 selecoes da CopaArquivo ListaSelecoes.txt: Contem o nome das 32 selecoes da Copa

Arquivo RelatorioCopa2014.txt: Relatorio da CopaArquivo RelatorioCopa2014.txt: Relatorio da Copa

Pressione qualquer tecla para continuar. . .Pressione qualquer tecla para continuar. . .

Resultado da execução

Page 14: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

No arquivo RelatorioCopa2014.txt:No arquivo RelatorioCopa2014.txt:

COPA DO MUNDO DE 2014COPA DO MUNDO DE 2014

GRUPO A: GRUPO A:

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Brasil | 0| 0| 0| 0| 0Brasil | 0| 0| 0| 0| 0Croacia | 0| 0| 0| 0| 0Croacia | 0| 0| 0| 0| 0Mexico | 0| 0| 0| 0| 0Mexico | 0| 0| 0| 0| 0Camaroes | 0| 0| 0| 0| 0Camaroes | 0| 0| 0| 0| 0

GRUPO B: GRUPO B:

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Espanha | 0| 0| 0| 0| 0Espanha | 0| 0| 0| 0| 0Holanda | 0| 0| 0| 0| 0Holanda | 0| 0| 0| 0| 0Chile | 0| 0| 0| 0| 0Chile | 0| 0| 0| 0| 0Australia | 0| 0| 0| 0| 0Australia | 0| 0| 0| 0| 0

Page 15: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

No arquivo RelatorioCopa2014.txt:No arquivo RelatorioCopa2014.txt:

GRUPO C: GRUPO C:

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Colombia | 0| 0| 0| 0| 0Colombia | 0| 0| 0| 0| 0Grecia | 0| 0| 0| 0| 0Grecia | 0| 0| 0| 0| 0Costa do Marfim | 0| 0| 0| 0| 0Costa do Marfim | 0| 0| 0| 0| 0Japao | 0| 0| 0| 0| 0Japao | 0| 0| 0| 0| 0

GRUPO D: GRUPO D:

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Uruguai | 0| 0| 0| 0| 0Uruguai | 0| 0| 0| 0| 0Costa Rica | 0| 0| 0| 0| 0Costa Rica | 0| 0| 0| 0| 0Inglaterra | 0| 0| 0| 0| 0Inglaterra | 0| 0| 0| 0| 0Italia | 0| 0| 0| 0| 0Italia | 0| 0| 0| 0| 0

Page 16: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

No arquivo RelatorioCopa2014.txt:No arquivo RelatorioCopa2014.txt:

GRUPO E: GRUPO E:

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Suica | 0| 0| 0| 0| 0Suica | 0| 0| 0| 0| 0Equador | 0| 0| 0| 0| 0Equador | 0| 0| 0| 0| 0Franca | 0| 0| 0| 0| 0Franca | 0| 0| 0| 0| 0Honduras | 0| 0| 0| 0| 0Honduras | 0| 0| 0| 0| 0

GRUPO F: GRUPO F:

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Argentina | 0| 0| 0| 0| 0Argentina | 0| 0| 0| 0| 0Bosnia Herzegovina | 0| 0| 0| 0| 0Bosnia Herzegovina | 0| 0| 0| 0| 0Ira | 0| 0| 0| 0| 0Ira | 0| 0| 0| 0| 0Nigeria | 0| 0| 0| 0| 0Nigeria | 0| 0| 0| 0| 0

Page 17: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

No arquivo RelatorioCopa2014.txt:No arquivo RelatorioCopa2014.txt:

GRUPO G: GRUPO G:

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Alemanha | 0| 0| 0| 0| 0Alemanha | 0| 0| 0| 0| 0Portugal | 0| 0| 0| 0| 0Portugal | 0| 0| 0| 0| 0Gana | 0| 0| 0| 0| 0Gana | 0| 0| 0| 0| 0Estados Unidos | 0| 0| 0| 0| 0Estados Unidos | 0| 0| 0| 0| 0

GRUPO H: GRUPO H:

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Belgica | 0| 0| 0| 0| 0Belgica | 0| 0| 0| 0| 0Argelia | 0| 0| 0| 0| 0Argelia | 0| 0| 0| 0| 0Russia | 0| 0| 0| 0| 0Russia | 0| 0| 0| 0| 0Coreia do Sul | 0| 0| 0| 0| 0Coreia do Sul | 0| 0| 0| 0| 0

Page 18: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Exercício do Lab 8: Exercício do Lab 8:

1.1.Leitura e armazenamento dos resultados Leitura e armazenamento dos resultados das três rodadas da 1ª Fase da Copadas três rodadas da 1ª Fase da Copa

Para cada grupo os resultados devem ser Para cada grupo os resultados devem ser guardados no campo-matriz guardados no campo-matriz Resultados Resultados de de cada estrutura cada estrutura grupogrupo do vetor do vetor VetorGruposVetorGrupos

int intint intint intint intint intint int

0123

45

0 0

Resultados

1ª Rodada

2ª Rodada

3ª Rodada

Page 19: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Exercício do Lab 8: Exercício do Lab 8:

2.2.Cálculo dos pontos, do número de vitórias, Cálculo dos pontos, do número de vitórias, de gols-pró, de gols-contra e do saldo de de gols-pró, de gols-contra e do saldo de gols de cada seleção de cada grupogols de cada seleção de cada grupo

Esse cálculo deve usar o conteúdo da matriz Esse cálculo deve usar o conteúdo da matriz Resultados Resultados de cada estrutura de cada estrutura grupogrupo do vetor do vetor VetorGruposVetorGrupos

Os valores calculados devem ser armazenados Os valores calculados devem ser armazenados no campo no campo VetorSelecoes VetorSelecoes de cada estrutura de cada estrutura grupo grupo de de VetorGruposVetorGrupos

nome pontos

golspro

tipo selecao

golscontra

saldogols

vitorias

Page 20: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Exercício do Lab 8: Exercício do Lab 8:

3.3.Determinação das seleções primeira e Determinação das seleções primeira e segunda colocada de cada gruposegunda colocada de cada grupo

Esse cálculo deve usar o conteúdo do vetor Esse cálculo deve usar o conteúdo do vetor VetorSelecoes VetorSelecoes de cada estrutura de cada estrutura grupogrupo do do vetor vetor VetorGruposVetorGrupos

Os resultados devem ser armazenados nos Os resultados devem ser armazenados nos campos campos primeiroprimeiro e e segundosegundo de cada de cada estrutura estrutura grupogrupo do vetor do vetor VetorGruposVetorGruposCritérios de desempate:

1. Pontuação2. Número de vitórias3. Saldo de gols4. Gols marcados5. Ordem alfabética

Page 21: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Exercício do Lab 8: Exercício do Lab 8:

4.4.Escrita de todas as informações de Escrita de todas as informações de VetorGrupos no arquivo VetorGrupos no arquivo RelatorioCopa2014.txtRelatorioCopa2014.txt

Os próximos slides mostram uma possível saída Os próximos slides mostram uma possível saída no no vídeovídeo e no arquivo e no arquivo RelatorioCopa2014.txtRelatorioCopa2014.txt

Page 22: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

No vídeo:No vídeo:Processamento das informacoes da Copa do Mundo de 2014Processamento das informacoes da Copa do Mundo de 2014

Arquivo ListaSelecoes.txt: Contem o nome das 32 selecoes da CopaArquivo ListaSelecoes.txt: Contem o nome das 32 selecoes da Copa

Arquivo RelatorioCopa2014.txt: Relatorio da CopaArquivo RelatorioCopa2014.txt: Relatorio da Copa

Digite os resultados da 1a rodada do Grupo A:Digite os resultados da 1a rodada do Grupo A:

Brasil x Croacia: Brasil x Croacia: 2 02 0Mexico x Camaroes: Mexico x Camaroes: 3 13 1

Digite os resultados da 1a rodada do Grupo B:Digite os resultados da 1a rodada do Grupo B:

Espanha x Holanda: Espanha x Holanda: 4 34 3Chile x Australia: Chile x Australia: 3 13 1

Digite os resultados da 1a rodada do Grupo C:Digite os resultados da 1a rodada do Grupo C:

Colombia x Grecia: Colombia x Grecia: 3 23 2Costa do Marfim x Japao: Costa do Marfim x Japao: 0 40 4

Digite os resultados da 1a rodada do Grupo D:Digite os resultados da 1a rodada do Grupo D:

Uruguai x Costa Rica: Uruguai x Costa Rica: 3 13 1Inglaterra x Italia: Inglaterra x Italia: 0 00 0

Em amarelo:

Digitação do operador

Page 23: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Digite os resultados da 1a rodada do Grupo E:Digite os resultados da 1a rodada do Grupo E:

Suica x Equador: Suica x Equador: 3 23 2Franca x Honduras: Franca x Honduras: 3 03 0

Digite os resultados da 1a rodada do Grupo F:Digite os resultados da 1a rodada do Grupo F:

Argentina x Bosnia Herzegovina: Argentina x Bosnia Herzegovina: 3 03 0Ira x Nigeria: Ira x Nigeria: 2 32 3

Digite os resultados da 1a rodada do Grupo G:Digite os resultados da 1a rodada do Grupo G:

Alemanha x Portugal: Alemanha x Portugal: 2 22 2Gana x Estados Unidos: Gana x Estados Unidos: 1 31 3

Digite os resultados da 1a rodada do Grupo H:Digite os resultados da 1a rodada do Grupo H:

Belgica x Argelia: Belgica x Argelia: 2 02 0Russia x Coreia do Sul: Russia x Coreia do Sul: 1 11 1

Page 24: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Digite os resultados da 2a rodada do Grupo A:Digite os resultados da 2a rodada do Grupo A:

Brasil x Mexico: Brasil x Mexico: 1 11 1Croacia x Camaroes: Croacia x Camaroes: 2 32 3

Digite os resultados da 2a rodada do Grupo B:Digite os resultados da 2a rodada do Grupo B:

Espanha x Chile: Espanha x Chile: 3 23 2Holanda x Australia: Holanda x Australia: 3 13 1

Digite os resultados da 2a rodada do Grupo C:Digite os resultados da 2a rodada do Grupo C:

Colombia x Costa do Marfim: Colombia x Costa do Marfim: 1 01 0Grecia x Japao: Grecia x Japao: 2 02 0

Digite os resultados da 2a rodada do Grupo D:Digite os resultados da 2a rodada do Grupo D:

Uruguai x Inglaterra: Uruguai x Inglaterra: 1 11 1Costa Rica x Italia: Costa Rica x Italia: 1 31 3

Page 25: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Digite os resultados da 2a rodada do Grupo E:Digite os resultados da 2a rodada do Grupo E:

Suica x Franca: Suica x Franca: 2 22 2Equador x Honduras: Equador x Honduras: 2 02 0

Digite os resultados da 2a rodada do Grupo F:Digite os resultados da 2a rodada do Grupo F:

Argentina x Ira: Argentina x Ira: 3 33 3Bosnia Herzegovina x Nigeria: Bosnia Herzegovina x Nigeria: 2 32 3

Digite os resultados da 2a rodada do Grupo G:Digite os resultados da 2a rodada do Grupo G:

Alemanha x Gana: Alemanha x Gana: 3 13 1Portugal x Estados Unidos: Portugal x Estados Unidos: 2 12 1

Digite os resultados da 2a rodada do Grupo H:Digite os resultados da 2a rodada do Grupo H:

Belgica x Russia: Belgica x Russia: 3 23 2Argelia x Coreia do Sul: Argelia x Coreia do Sul: 1 11 1

Page 26: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Digite os resultados da 3a rodada do Grupo A:Digite os resultados da 3a rodada do Grupo A:

Brasil x Camaroes: Brasil x Camaroes: 3 13 1Croacia x Mexico: Croacia x Mexico: 2 42 4

Digite os resultados da 3a rodada do Grupo B:Digite os resultados da 3a rodada do Grupo B:

Espanha x Australia: Espanha x Australia: 3 03 0Holanda x Chile: Holanda x Chile: 2 22 2

Digite os resultados da 3a rodada do Grupo C:Digite os resultados da 3a rodada do Grupo C:

Colombia x Japao: Colombia x Japao: 1 21 2Grecia x Costa do Marfim: Grecia x Costa do Marfim: 2 02 0

Digite os resultados da 3a rodada do Grupo D:Digite os resultados da 3a rodada do Grupo D:

Uruguai x Italia: Uruguai x Italia: 2 12 1Costa Rica x Inglaterra: Costa Rica x Inglaterra: 0 30 3

Page 27: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Digite os resultados da 3a rodada do Grupo E:Digite os resultados da 3a rodada do Grupo E:

Suica x Honduras: Suica x Honduras: 2 12 1Equador x Franca: Equador x Franca: 1 31 3

Digite os resultados da 3a rodada do Grupo F:Digite os resultados da 3a rodada do Grupo F:

Argentina x Nigeria: Argentina x Nigeria: 2 12 1Bosnia Herzegovina x Ira: Bosnia Herzegovina x Ira: 2 12 1

Digite os resultados da 3a rodada do Grupo G:Digite os resultados da 3a rodada do Grupo G:

Alemanha x Estados Unidos: Alemanha x Estados Unidos: 2 12 1Portugal x Gana: Portugal x Gana: 3 13 1

Digite os resultados da 3a rodada do Grupo H:Digite os resultados da 3a rodada do Grupo H:

Belgica x Coreia do Sul: Belgica x Coreia do Sul: 2 12 1Argelia x Russia: Argelia x Russia: 1 11 1

Pressione qualquer tecla para continuar. . .Pressione qualquer tecla para continuar. . .

Process returned 0 (0x0) execution time : 835.480 sProcess returned 0 (0x0) execution time : 835.480 sPress any key to continue.Press any key to continue.

Page 28: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

No arquivo RelatorioCopa2014.txt:No arquivo RelatorioCopa2014.txt:

COPA DO MUNDO DE 2014COPA DO MUNDO DE 2014

GRUPO A: GRUPO A:

Brasil 2 x 0 CroaciaBrasil 2 x 0 CroaciaMexico 3 x 1 CamaroesMexico 3 x 1 CamaroesBrasil 1 x 1 MexicoBrasil 1 x 1 MexicoCroacia 2 x 3 CamaroesCroacia 2 x 3 CamaroesBrasil 3 x 1 CamaroesBrasil 3 x 1 CamaroesCroacia 2 x 4 MexicoCroacia 2 x 4 Mexico

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Brasil | 7| 2| 6| 2| 4Brasil | 7| 2| 6| 2| 4Croacia | 0| 0| 4| 9| -5Croacia | 0| 0| 4| 9| -5Mexico | 7| 2| 8| 4| 4Mexico | 7| 2| 8| 4| 4Camaroes | 3| 1| 5| 8| -3Camaroes | 3| 1| 5| 8| -3

Primeiro colocado: MexicoPrimeiro colocado: MexicoSegundo colocado: BrasilSegundo colocado: Brasil

Page 29: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

GRUPO B: GRUPO B:

Espanha 4 x 3 HolandaEspanha 4 x 3 HolandaChile 3 x 1 AustraliaChile 3 x 1 AustraliaEspanha 3 x 2 ChileEspanha 3 x 2 ChileHolanda 3 x 1 AustraliaHolanda 3 x 1 AustraliaEspanha 3 x 0 AustraliaEspanha 3 x 0 AustraliaHolanda 2 x 2 ChileHolanda 2 x 2 Chile

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Espanha | 9| 3| 10| 5| 5Espanha | 9| 3| 10| 5| 5Holanda | 4| 1| 8| 7| 1Holanda | 4| 1| 8| 7| 1Chile | 4| 1| 7| 6| 1Chile | 4| 1| 7| 6| 1Australia | 0| 0| 2| 9| -7Australia | 0| 0| 2| 9| -7

Primeiro colocado: EspanhaPrimeiro colocado: EspanhaSegundo colocado: HolandaSegundo colocado: Holanda

Page 30: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

GRUPO C: GRUPO C:

Colombia 3 x 2 GreciaColombia 3 x 2 GreciaCosta do Marfim 0 x 4 JapaoCosta do Marfim 0 x 4 JapaoColombia 1 x 0 Costa do MarfimColombia 1 x 0 Costa do MarfimGrecia 2 x 0 JapaoGrecia 2 x 0 JapaoColombia 1 x 2 JapaoColombia 1 x 2 JapaoGrecia 2 x 0 Costa do MarfimGrecia 2 x 0 Costa do Marfim

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Colombia | 6| 2| 5| 4| 1Colombia | 6| 2| 5| 4| 1Grecia | 6| 2| 6| 3| 3Grecia | 6| 2| 6| 3| 3Costa do Marfim | 0| 0| 0| 7| -7Costa do Marfim | 0| 0| 0| 7| -7Japao | 6| 2| 6| 3| 3Japao | 6| 2| 6| 3| 3

Primeiro colocado: GreciaPrimeiro colocado: GreciaSegundo colocado: JapaoSegundo colocado: Japao

Page 31: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

GRUPO D: GRUPO D:

Uruguai 3 x 1 Costa RicaUruguai 3 x 1 Costa RicaInglaterra 0 x 0 ItaliaInglaterra 0 x 0 ItaliaUruguai 1 x 1 InglaterraUruguai 1 x 1 InglaterraCosta Rica 1 x 3 ItaliaCosta Rica 1 x 3 ItaliaUruguai 2 x 1 ItaliaUruguai 2 x 1 ItaliaCosta Rica 0 x 3 InglaterraCosta Rica 0 x 3 Inglaterra

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Uruguai | 7| 2| 6| 3| 3Uruguai | 7| 2| 6| 3| 3Costa Rica | 0| 0| 2| 9| -7Costa Rica | 0| 0| 2| 9| -7Inglaterra | 5| 1| 4| 1| 3Inglaterra | 5| 1| 4| 1| 3Italia | 4| 1| 4| 3| 1Italia | 4| 1| 4| 3| 1

Primeiro colocado: UruguaiPrimeiro colocado: UruguaiSegundo colocado: InglaterraSegundo colocado: Inglaterra

Page 32: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

GRUPO E: GRUPO E:

Suica 3 x 2 EquadorSuica 3 x 2 EquadorFranca 3 x 0 HondurasFranca 3 x 0 HondurasSuica 2 x 2 FrancaSuica 2 x 2 FrancaEquador 2 x 0 HondurasEquador 2 x 0 HondurasSuica 2 x 1 HondurasSuica 2 x 1 HondurasEquador 1 x 3 FrancaEquador 1 x 3 Franca

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Suica | 7| 2| 7| 5| 2Suica | 7| 2| 7| 5| 2Equador | 3| 1| 5| 6| -1Equador | 3| 1| 5| 6| -1Franca | 7| 2| 8| 3| 5Franca | 7| 2| 8| 3| 5Honduras | 0| 0| 1| 7| -6Honduras | 0| 0| 1| 7| -6

Primeiro colocado: FrancaPrimeiro colocado: FrancaSegundo colocado: SuicaSegundo colocado: Suica

Page 33: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

GRUPO F: GRUPO F:

Argentina 3 x 0 Bosnia HerzegovinaArgentina 3 x 0 Bosnia HerzegovinaIra 2 x 3 NigeriaIra 2 x 3 NigeriaArgentina 3 x 3 IraArgentina 3 x 3 IraBosnia Herzegovina 2 x 3 NigeriaBosnia Herzegovina 2 x 3 NigeriaArgentina 2 x 1 NigeriaArgentina 2 x 1 NigeriaBosnia Herzegovina 2 x 1 IraBosnia Herzegovina 2 x 1 Ira

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Argentina | 7| 2| 8| 4| 4Argentina | 7| 2| 8| 4| 4Bosnia Herzegovina | 3| 1| 4| 7| -3Bosnia Herzegovina | 3| 1| 4| 7| -3Ira | 1| 0| 6| 8| -2Ira | 1| 0| 6| 8| -2Nigeria | 6| 2| 7| 6| 1Nigeria | 6| 2| 7| 6| 1

Primeiro colocado: ArgentinaPrimeiro colocado: ArgentinaSegundo colocado: NigeriaSegundo colocado: Nigeria

Page 34: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

GRUPO G: GRUPO G:

Alemanha 2 x 2 PortugalAlemanha 2 x 2 PortugalGana 1 x 3 Estados UnidosGana 1 x 3 Estados UnidosAlemanha 3 x 1 GanaAlemanha 3 x 1 GanaPortugal 2 x 1 Estados UnidosPortugal 2 x 1 Estados UnidosAlemanha 2 x 1 Estados UnidosAlemanha 2 x 1 Estados UnidosPortugal 3 x 1 GanaPortugal 3 x 1 Gana

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Alemanha | 7| 2| 7| 4| 3Alemanha | 7| 2| 7| 4| 3Portugal | 7| 2| 7| 4| 3Portugal | 7| 2| 7| 4| 3Gana | 0| 0| 3| 9| -6Gana | 0| 0| 3| 9| -6Estados Unidos | 3| 1| 5| 5| 0Estados Unidos | 3| 1| 5| 5| 0

Primeiro colocado: AlemanhaPrimeiro colocado: AlemanhaSegundo colocado: PortugalSegundo colocado: Portugal

Page 35: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

GRUPO H: GRUPO H:

Belgica 2 x 0 ArgeliaBelgica 2 x 0 ArgeliaRussia 1 x 1 Coreia do SulRussia 1 x 1 Coreia do SulBelgica 3 x 2 RussiaBelgica 3 x 2 RussiaArgelia 1 x 1 Coreia do SulArgelia 1 x 1 Coreia do SulBelgica 2 x 1 Coreia do SulBelgica 2 x 1 Coreia do SulArgelia 1 x 1 RussiaArgelia 1 x 1 Russia

Selecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGolsSelecao | Pontos|Vitorias| GolsPro| GolsCon|SaldGols--------------------|--------|--------|--------|--------|----------------------------|--------|--------|--------|--------|--------Belgica | 9| 3| 7| 3| 4Belgica | 9| 3| 7| 3| 4Argelia | 2| 0| 2| 4| -2Argelia | 2| 0| 2| 4| -2Russia | 2| 0| 4| 5| -1Russia | 2| 0| 4| 5| -1Coreia do Sul | 2| 0| 3| 4| -1Coreia do Sul | 2| 0| 3| 4| -1

Primeiro colocado: BelgicaPrimeiro colocado: BelgicaSegundo colocado: RussiaSegundo colocado: Russia

Page 36: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Usar subprogramasUsar subprogramas::

A função A função mainmain não deve ter comandos que não deve ter comandos que atuem diretamente sobre as atuem diretamente sobre as structstruct’s do ’s do programaprograma

– SubprogramasSubprogramas chamados por ela é que chamados por ela é que devem fazê-lodevem fazê-lo

Page 37: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.

Sugestões para a função main e os Sugestões para a função main e os subprogramas subprogramas (podem ou não ser seguidas):(podem ou não ser seguidas):

/* Processamento das informacoes sobre a Copa *//* Processamento das informacoes sobre a Copa */

LerSelecoes ();LerSelecoes ();

PrimeiraRodada ();PrimeiraRodada ();

SegundaRodada ();SegundaRodada ();

TerceiraRodada ();TerceiraRodada ();

PrimeiroESegundoDosGrupos ();PrimeiroESegundoDosGrupos ();

EscreverGrupos ();EscreverGrupos ();

Lê os resultados da 1ª rodada de todos os grupos e atualiza a tabela de Resultados e a de Seleções de cada grupo: pontos, vitorias, golspro, golscontra e saldogolsIdem para a 2ª

rodadaIdem para a 3ª rodada

Calcula o primeiro e o segundo colocados de todos os grupos e armazena isso nos campos de cada grupo em VetorGruposDeve ser alterada para

escrever todas as informações de VetorGrupos