Ir para conteúdo
Fórum Script Brasil

Vick

Membros
  • Total de itens

    18
  • Registro em

  • Última visita

Sobre Vick

Vick's Achievements

0

Reputação

  1. Oi pessoal, gostaria de saber como faço para fechar uma janela após o botão OK ser apertado. Pessoal o problema é o seguinte: um formulário que chama o outro. Tipo o FORM 1 chama o FORM 2, e o botão OK, está no FORM2. Então quando eu coloco o END no código do FORM2, ele fecha o aplictaivo inteiro. E eu só quero que feche o formulário onde foi clicado o OK. Alguém sabe como poderia fazer isto.
  2. Obrigada pela dúvida esclarecida :blush:
  3. Vick

    Dúvida_RDO_Inserção

    Muito obrigada pela dúvida respondida. Até gostaria de usar o ADO, pois tem muito material explicando sobre ele, mas é que foi pedido para fazer usando RDO. Só que não acho material explicando sobre RDO. você teria algum material para me indicar que explique sobre RDO usando com sqlServer2008 e VB6? Sim a conexão foi aberta. O erro tava acontecendo no EXECUTE. Li o que você falou sobre inserir o grid vazio, e consertei. Agora tenho um outro problema. Não sei qual o comando de parada devo usar no FOR. Usei 4, pois só tem quatro registros no BD, mais imagino que isso não é certo usar um número, queria alguma coisa que representasse tudo que tenho no BD. Então gostaria de deixar isso automático para a medida que for adicionando registros, ele ir considerando. Tem alguma forma de fazer isso???? :blink: tentei algo assim (mas não funcionou) For i = 1 To rs.EOF GrdCliente.TextMatrix(i, 0) = rs("Codigo") GrdCliente.TextMatrix(i, 1) = rs("razaoSocial") rs.MoveNext Next i Coloquei o trecho do código abaixo. Private Sub preencheGrid() Dim rs As rdoResultset Dim sql$ sql$ = " SELECT Codigo, razaoSocial FROM Cadastro " Set rs = conexao.OpenResultset(Name:=sql$, Type:=rdOpenDynamic, LockType:=rdConcurReadOnly) rs.MoveFirst For i = 1 To 4 GrdCliente.TextMatrix(i, 0) = rs("Codigo") GrdCliente.TextMatrix(i, 1) = rs("razaoSocial") rs.MoveNext Next i rs.Close End Sub
  4. Pessoal, estou tentando inserir dados através do VB no Banco de Dados, mas está dando erro (postei o erro a baixo), mas não sei onde está o erro. Gostaria de saber tb se o RDO é igual ao DAO, pois acho pouquíssimas coisas escrita do RDO inserção, exclusão, etc. erro Private Sub Form_Load() 'Configuração da largura do grid GrdCliente.ColWidth(0) = 2200 GrdCliente.ColWidth(1) = 6000 'Configuração do título do grid GrdCliente.Row = 0 GrdCliente.Col = 0 GrdCliente.Text = "Código" GrdCliente.Col = 1 GrdCliente.Text = "Razão Social" Call incluiDadosGrid End Sub Private Sub incluiDadosGrid() Dim sql Dim contador conexao.BeginTrans For contador = 1 To GrdCliente.Rows sql = "insert into CLIENTE (Codigo, RazaoSocial) values (" + GrdCliente.TextMatrix(contador, 1) + "," + GrdCliente.TextMatrix(contador, 1) + ")" conexao.Execute sql$ If conexao.RowsAffected = 0 Then conexao.RollbackTrans End If Next conexao.CommitTrans End Sub
  5. Oi pessoal, estou fazendo uma consulta com o banco de dados dentro do VB usando o RDO. Gostaria de saber como faço para mudar de linha sem interromper o código. Para não precisar ficar rolando a barra de rolagem para verificar o que digitei, então gostaria de ir acrescentando embaixo de cada linha de query digitada. como está: sql$ = " INSERT INTO Cliente (Codigo, RazaoSocial) VALUES ('33.854.333/0001-04' + 'EmpresaS.A.')" como gostaria de deixar sql$ = " INSERT INTO Cliente (Codigo, RazaoSocial) " + " VALUES ('33.854.333/0001-04' + 'EmpresaS.A.')" Pessoal já acrescentei o botão de +, & para juntar mas dá o seguinte erro: :blink: Obrigada,
  6. Oi pessoal, gostaria mais uma vez da ajuda de vocês. Preciso fazer uma agenda de marcação de consulta. O problema: preciso preencher a primeira coluna do MSFLEXGRID(estou usando VB6) com as datas (tipos: 01/03/11 - terça, 02/03/11 - quarta, etc...) gostaria de saber se tem como colocar estes dias por meio de código, sem precisar por na mão, pois senão terei que digitar todos os dias dos meses: janeiro, fevereriro, março, abril, etc.... :blink: Por exemplo - este é o mês de março que digitei, com os outros meses, vai ficar maior ainda. 'Adiciona dados na primeira coluna GrdConsulta.Col = 0 GrdConsulta.Row = 1 GrdConsulta.Text = "1" GrdConsulta.Row = 2 GrdConsulta.Text = "2" GrdConsulta.Row = 3 GrdConsulta.Text = "3" GrdConsulta.Row = 4 GrdConsulta.Text = "4" GrdConsulta.Row = 5 GrdConsulta.Text = "5" GrdConsulta.Row = 6 GrdConsulta.Text = "6" GrdConsulta.Row = 7 GrdConsulta.Text = "7" GrdConsulta.Row = 8 GrdConsulta.Text = "8" GrdConsulta.Row = 9 GrdConsulta.Text = "9" GrdConsulta.Row = 10 GrdConsulta.Text = "10" GrdConsulta.Row = 11 GrdConsulta.Text = "11" GrdConsulta.Row = 12 GrdConsulta.Text = "12" GrdConsulta.Row = 13 GrdConsulta.Text = "13" GrdConsulta.Row = 14 GrdConsulta.Text = "14" GrdConsulta.Row = 15 GrdConsulta.Text = "15" GrdConsulta.Row = 16 GrdConsulta.Text = "16" GrdConsulta.Row = 17 GrdConsulta.Text = "17" GrdConsulta.Row = 18 GrdConsulta.Text = "18" GrdConsulta.Row = 19 GrdConsulta.Text = "19" GrdConsulta.Row = 20 GrdConsulta.Text = "20" GrdConsulta.Row = 21 GrdConsulta.Text = "21" GrdConsulta.Row = 22 GrdConsulta.Text = "22" GrdConsulta.Row = 23 GrdConsulta.Text = "23" GrdConsulta.Row = 24 GrdConsulta.Text = "24" GrdConsulta.Row = 25 GrdConsulta.Text = "25" GrdConsulta.Row = 26 GrdConsulta.Text = "26" GrdConsulta.Row = 27 GrdConsulta.Text = "27" GrdConsulta.Row = 28 GrdConsulta.Text = "28" GrdConsulta.Row = 29 GrdConsulta.Text = "29" GrdConsulta.Row = 30 GrdConsulta.Text = "30" GrdConsulta.Row = 31 GrdConsulta.Text = "31" Ah! como posso fazer para o dia da semana correspondente aparecer ao lado da data????? Obrigada, Vivian Mattos
  7. Muito obrigada Kuroi, funcionou :)
  8. Kuroi fiz a mudança e melhorou a execução no loop. Mas em relação as operações dentro do select case que não está fazendo o cálculo certo. Pois preciso que o loop só some o ANTERIOR ao PROXIMO na 1ª execução. Na 2ª execução, preciso que o RESULTADO se some ao PRÓXIMO. Fiz assim, mais na 2ª execução ele tá acumulando o RESULTADO, o ANTERIOR e o PRÓXIMO, e então dá o valor errado. Acho que o problema agora tá na lógica, mais não sei como resolver. :blink: Trecho do código Private Sub CmdCalcula_Click() Dim resultado As Integer Dim acumula As Integer resultado = 0 acumula = 0 LstCalcula.AddItem (TxtNumero.Text) 'Percorre a lista For i = 1 To LstCalcula.ListCount - 1 Step 2 'verifica qual é o sinal para efetuar a soma do ANTERIOR com o PRÓXIMO Select Case LstCalcula.List(i) Case "+" resultado = CInt(LstCalcula.List(i - 1)) + CInt(LstCalcula.List(i + 1)) Case "-" resultado = CInt(LstCalcula.List(i - 1)) - CInt(LstCalcula.List(i + 1)) Case "*" resultado = CInt(LstCalcula.List(i - 1)) * CInt(LstCalcula.List(i + 1)) Case "/" resultado = CInt(LstCalcula.List(i - 1)) / CInt(LstCalcula.List(i + 1)) End Select 'Acumula o resultado acumula = acumula + resultado Next i 'Mostra o resultado no label LblMostraResult.Caption = acumula End Sub
  9. Oi Kuroi obrigada pela atenção a dúvida. Refiz o código, mudei a forma de resolver pois não estava conseguindo sair do lugar. Agora ele funciona somente se a LISTBOX tiver resolvendo operação com 2 números. Se tiver somando 3 ou mais dá erro na SOMA . Percebi que o problema tá na lógica do FOR, porém não consigo enxergar uma forma de resolver. Pode me dar uma luz???? :blush: Código Modificado - quase funcionando Private Sub CmdCalcula_Click() Dim resultado As Integer resultado = 0 LstCalcula.AddItem (TxtNumero.Text) 'Percorre a lista For i = 1 To LstCalcula.ListCount - 1 'verifica qual é o sinal para efetuar a soma do ANTERIOR com o PRÓXIMO Select Case LstCalcula.List(i) Case "+" resultado = CInt(LstCalcula.List(i - 1)) + CInt(LstCalcula.List(i + 1)) Case "-" resultado = CInt(LstCalcula.List(i - 1)) - CInt(LstCalcula.List(i + 1)) Case "*" resultado = CInt(LstCalcula.List(i - 1)) * CInt(LstCalcula.List(i + 1)) Case "/" resultado = CInt(LstCalcula.List(i - 1)) / CInt(LstCalcula.List(i + 1)) End Select Next i 'Mostra o resultado no label LblMostraResult.Caption = resultado End Sub Private Sub CmdRetorna_Click() 'Exibe mensagem perguntando se deseja sair If MsgBox("Deseja sair?", vbYesNo, "Mensagem") = vbYes Then End End If End Sub Private Sub CmdLimpa_Click() 'Limpa todos os valores da tela TxtNumero.Text = "" LblMostraResult.Caption = "" LstCalcula.Clear TxtNumero.SetFocus End Sub Private Sub CmdDivisao_Click() 'Adiciona o número e o sinal (/) na LISTBOX LstCalcula.AddItem (TxtNumero.Text) LstCalcula.AddItem ("/") TxtNumero.Text = "" TxtNumero.SetFocus End Sub Private Sub CmdMultiplicacao_Click() 'Adiciona o número e o sinal(*) na LISTBOX LstCalcula.AddItem (TxtNumero.Text) LstCalcula.AddItem ("*") TxtNumero.Text = "" TxtNumero.SetFocus End Sub Private Sub CmdSoma_Click() 'Adiciona o número e o sinal(+) na LISTBOX LstCalcula.AddItem (TxtNumero.Text) LstCalcula.AddItem ("+") TxtNumero.Text = "" TxtNumero.SetFocus End Sub Private Sub CmdSubtracao_Click() 'Adiciona o número e o sinal(-) na LISTBOX LstCalcula.AddItem (TxtNumero.Text) LstCalcula.AddItem ("-") TxtNumero.Text = "" TxtNumero.SetFocus End Sub Private Sub LstCalcula_Click() End Sub Private Sub TxtNumero_Change() End Sub
  10. Oi pessoal, gostaria da ajuda de vocês. Estou tentando calcular os valores que estão numa LISTBOX. Essa listbox recebe o valor e o sinal, a cada vez que o sinal é clicado. O problema: Quando o FOR percorre a listbox ele dá erro quando pega o sinal, acho que não reconhece que o sinal não é INTEGER e aí dá problema. Como posso fazer para resolver isso, pois preciso do sinal para realizar o cálculo. ????? :blink: Trecho do Código Private Sub CmdCalcula_Click() LstCalcula.AddItem (TxtValor2.Text) For i = 0 To LstCalcula.ListCount - 1 soma = soma + LstCalcula.List(i) Next i LblMostraResult.Caption = soma End Sub Private Sub CmdSoma_Click() LstCalcula.AddItem (TxtValor1.Text) LstCalcula.AddItem ("+") End Sub Private Sub CmdSubtracao_Click() LstCalcula.AddItem (TxtValor1.Text) LstCalcula.AddItem ("-") End Sub Private Sub CmdMultiplicacao_Click() LstCalcula.AddItem (TxtValor1.Text) LstCalcula.AddItem ("*") End Sub Private Sub CmdDivisao_Click() LstCalcula.AddItem (TxtValor1.Text) LstCalcula.AddItem ("/") End Sub Obrigada
  11. Oi pessoal beleza? Pô gostaria da ajuda de vocês, estou fazendo um programinha, onde o usuário digita um número no TEXTBOX e quando ele clica no BOTAO do sinal ( +, -, *, / ) , o Valor digitado no TEXTBOX e mais o sinal pressionado(+, -, *, /) vai para um LISTBOX. Quando ele pressiona o botão calcula, o programa calcula todo os valores que estão no LISTBOX. Agora pessoal, o meu problema é o seguinte: não sei como faço para realizar um calculo que atribui a uma variável um valor integer concatenando com o sinal ( +, -, *, /) digitado. Pois quando faço isso o código da ERROOO. :blink: (Acho que deve ser por causa dos tipos serem diferentes) GENTE, alguém sabe como posso resolver isso???????? (Ah! Logo abaixo do exemplo postei o código todo). Exemplo: Dim soma as Integer Dim sinal as String Dim ValorDigitado as Integer soma = ValorDigitado + sinal Programinha - Marquei de negrito a parte do código que se refere a dúvida do exemplo acima Private Sub CmdCalcula_Click() Dim iSoma As Integer Dim iSomaGeral As Integer Dim iConverte As Integer Dim iConverteGeral As Integer Dim strGuarda As String Dim iSinal As String Dim strNumero As String Dim iCalcula As Integer iSoma = 0 iSomaGeral = 0 iCalcula = 0 strGuarda = "" 'Pega todos os elementos da LISTBOX For i = 0 To LstCalcula.ListCount - 1 strGuarda = TxtNumero.Text & vbctlf & LstCalcula.List(i) [b]strNumero = Mid(LstCalcula.List(i), 1, Len(LstCalcula.List(i)) - 1) iSinal = Right(LstCalcula.List(i), 1) 'Converte a STRING do LISTBOX para INTEGER iConverte = CInt(strNumero) iCalcula = iConverte + iSinal [/b] 'Acumula operação com sinais numa variável iSoma = iSoma + iCalcula Next i 'Adiciona o último número digitado na LISTBOX LstCalcula.AddItem (TxtNumero.Text) 'Converte a STRING do TEXTBOX para INTEGER iConverteGeral = CInt(TxtNumero.Text) 'Acumula soma para o resultado geral iSomaGeral = iSoma + TxtNumero.Text 'Apaga o último número digitado no TEXT TxtNumero.Text = "" 'Mostra no label o resultado do cálculo LblMostraResultado.Caption = iSomaGeral 'TxtNumero.Text = LstCalcula.List(LstCalcula.ListIndex) End Sub Private Sub CmdLimpa_Click() 'Apaga tudo que está no formulário TxtNumero.Text = "" LstCalcula.Clear LblMostraResultado.Caption = "" End Sub Private Sub CmdMultiplicacao_Click() 'Adiciona o valor e o sinal do cálculo (*) If TxtNumero <> "" Then LstCalcula.AddItem (TxtNumero.Text + "*") TxtNumero.Text = "" TxtNumero.SetFocus End If End Sub Private Sub CmdRetorna_Click() 'Pergunta se o usuário deseja sair do sistema If MsgBox("Deseja sair ?", vbYesNo + vbQuestion, "Mensagem") = vbYes Then End End If End Sub Private Sub CmdSoma_Click() 'Adiciona o valor e o sinal do cálculo (+) If TxtNumero <> "" Then LstCalcula.AddItem (TxtNumero.Text + "+") TxtNumero.Text = "" TxtNumero.SetFocus End If End Sub Private Sub CmdSubtracao_Click() 'Adiciona o valor e o sinal do cálculo (-) If TxtNumero <> "" Then LstCalcula.AddItem (TxtNumero.Text) TxtNumero.Text = "" TxtNumero.SetFocus End If End Sub Obrigada
  12. Hei pessoal preciso de um HELP, montei o seguinte código. Acho que não está certo pois, não quer compilar. Não sei qual é o erro. Alguém pode me dizer? vocês podem verificar se desenvolvi da forma correta? # include <stdio.h> # include <stdlib.h> # define PI 3.14159 int main () { FILE* aq; float r, t, c, r1, r2,r3, b, h, r; int vazio = 1; /*ABRE ARQUIVO*/ aq = fopen ("arq_14.txt", "rt"); if (aq == NULL){ printf ("ERRO\n"); return 1; } while (fscanf (aq,"%r,%t,%c", &f, &f, &f !=EOF){ r1 = b*h; r2 = b*h/2; r3 = r*PI; if (r1>r2) printf ("a area do retangulo e maior %f", r1); else printf ("a area do triangulo e maior %f", r2); if (r2>r3) printf ("a area do triangulo e maior %f", r2); else printf ("a area do circulo e maior %f", r3); if (r3>r1) printf ("a area do circulo e maior %f", r3); else printf ("a area do retangulo e maior %f", r1); } if (!vazio) printf ("VAZIO\n"); fclose (aq); system ("pause"); return 0; } Estou encaminhando tb o enunciado para entender melhor: Escreva um programa completo que leia o arquivo \entrada.txt", que contem as descrições de figuras no formato descrito acima, e imprima na tela, com duas casas decimais, o valor da maior area das figuras listadas no arquivo. Se não for possivel abrir o arquivo, o programa deve ter como saida a mensagem \ERRO". Se não existir nenhuma figura no arquivo (arquivo existente, mas vazio), deve-se imprimir a mensagem \VAZIO". Para calculo da area do circulo use o valor de PI igual a 3.14159.
  13. Vick

    estrutura e union

    Oi pessoal, estou aqui com mais uma dúvida. Tem que fazer um programa para: • Cadastrar os habitantes de uma cidade • Para representar dados sobre diversos habitantes, precisamos definir um tipo HABITANTE já tenho o seguinte e o não sei o que está faltando: #include <stdio.h> #include <conio.h> #define N1 30 #define N2 20 /* Declaracoes dos tipos enumerativos */ enum escolaridade {nehn, pgrau, sgrau, sup}; typedef enum escolaridade escolaridade; enum tseggrau {col, mag, tec}; typedef enum tseggrau tseggrau; enum tsuperior {eng, med, adv, arq, econ, fil, odont}; typedef enum tsuperior tsuperior; enum tengenharia {aer, mec, civ, elet, eletron, comp}; typedef enum tengenharia tengenharia; enum tmedicina {ped, cir, gin, card, endocr, otorr, psiq}; typedef enum tmedicina tmedicina; /* Declaracoes das estruturas */ struct primgrau { int ano_term; }; typedef struct primgrau primgrau; struct seggrau { int ano_term; tseggrau tipo; }; typedef struct seggrau seggrau; union fsuperior { tengenharia teng; tmedicina tmed; }; typedef union fsuperior fsuperior; struct superior{ int ano_term; char nome_escola[N1]; tsuperior tipo; fsuperior form; }; typedef struct superior superior; /* Declaracoes das estruturas */ struct data { int dia, mes, ano; }; typedef struct data data; union formacao { primgrau pg; seggrau sg; superior sp; }; typedef union formacao formacao; struct habitante { char nome[N1]; char ender[N1]; char cid_natal[N2]; data data_nasc; escolaridade esc; formacao form; }; typedef habitante habitante; struct /* Inicio dos comandos; leitura do numero de habitantes */ int main (void) { FILE *fl, *f2; habitante hab[10]; int i, n; fl = fopen("infile2.cpp", "r"); f2 = fopen("outfile2", "w"); fscanf (fl, "%d",&n); /* Leitura dos dados sobre os habitantes */ /* Leitura dos dados sobre os habitantes */ for (i = 0; i < n; i++) { fscanf (fl, "%s %s %s %d %d %d %d", hab[i].nome, hab[i].ender,ab[ ].e de ,hab[i].cid_natal,&hab[i].data_nasc.dia, &hab[i].data_nasc.mes, &hab[i].data_nasc.ano, &hab[i].esc); switch (hab[i].esc){ case pgrau: fscanf(fl,"%d",&hab[i].form.pg.ano_term); break; case sgrau: fscanf(fl,"%d%d",&hab[i].form.sg.ano_term, &hab[i].form.sg.tipo); break; case sup: fscanf(fl,"%d%s%d",&hab[i].form.sp.ano_term, hab[i].form.sp.nome_escola,&hab[i].form.sp.tipo); switch (hab[i].form.sp.tipo){ case eng: fscanf(fl,"%d",&hab[i].form.sp.form.teng); break; case med: fscanf(fl,"%d",&hab[i].form.sp.form.tmed); } } } /* Saida dos resultados */ for (i = 0; i < n; i++) { fhparbi[nit]f. no(mfe2,,h a"b\[ni%]-.1e5nsd e%r-,15s %-10s%3d/%2d/%4d%3d", hab[i].datah_anba[sic]..mceisd,_natal, hab[i].data_nasc.dia, hab[i].data_nasc.ano, hab[i].esc); switch (hab[i].esc){ case pgrau: fprintf (f2, "%5d",hab[i].form.pg.ano_term); break; case sgrau: fprintf (f2, "%5d%3d", hab[i].form.sg.ano_term, hab[i].form.sg.tipo); break; case sup: fprintf (f2, "%5d%3d %-10s", hab[i].form.sp.ano_term, hab[i].form.sp.tipo, hab[i].form.sp.nome_escola); switch (hab[i].form.sp.tipo) { case eng: fprintf (f2, "%3d",hab[i].form.sp.form.teng); break; case med: fprintf (f2, "%3d",hab[i].form.sp.form.tmed); break; } } } return 0; } Esqueci de incluir que tem ter a seguinte ordem: • Habitante – Nome, Endereço, Cidade-nasc, Data-nasc – Escolaridade • Nenhuma • 1° grau – Ano-término • 2° grau – Ano-término – Tipo » Colegial » Magistério » Técnico • Superior – Ano-término – Nome-escola – Tipo » Engenharia (Era, Mec, Civ, Elet, Eletron, Comp) » Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq) » Advocacia » Arquitetura » Economia » Filosofia » Odontologia Esqueci de incluir que tem ter a seguinte ordem: • Habitante – Nome, Endereço, Cidade-nasc, Data-nasc – Escolaridade • Nenhuma • 1° grau – Ano-término • 2° grau – Ano-término – Tipo » Colegial » Magistério » Técnico • Superior – Ano-término – Nome-escola – Tipo » Engenharia (Era, Mec, Civ, Elet, Eletron, Comp) » Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq) » Advocacia » Arquitetura » Economia » Filosofia » Odontologia Esqueci de incluir que tem ter a seguinte ordem: • Habitante – Nome, Endereço, Cidade-nasc, Data-nasc – Escolaridade • Nenhuma • 1° grau – Ano-término • 2° grau – Ano-término – Tipo » Colegial » Magistério » Técnico • Superior – Ano-término – Nome-escola – Tipo » Engenharia (Era, Mec, Civ, Elet, Eletron, Comp) » Medicina (Ped, Cirurg, Ginec, Card, Endocr, Otorr, Psiq) » Advocacia » Arquitetura » Economia » Filosofia » Odontologia
  14. Oi pessoal estou aqui de novo com uma nova dúvida. Só que esta não sei por onde começar. TEM QUE FAZER 2 PROBLEMAS : - UM COM ALOCAÇÃO ESTÁTICA - OUTRO COM ALOCAÇÃO DINÂMICA :wacko: O trabalho tem o seguinte enunciado: • Considere um programa para cadastrar informações sobre um campeonato de futebol • Neste campeonato participam cinco times, como por exemplo Alemanha, Argentina, Brasil, França e Itália. • Para representar as informações de um time precisamos definir um tipo TIME com as seguintes informações – nome do time (até 20 caracteres) – pontos (um número inteiro) struct time { char nome[21]; int pontos; }typedef struct time Time; • Em seguida podemos criar uma estrutura de dados chamada times para armazenar o conjunto de 5 times Time times [5] • Cada um dos 5 times irá jogar, em casa, contra os outros 4 times, totalizando 20 jogos • Para representar as informações de todos os jogos vamos criar uma estrutura para representar uma tabela chamada jogos com 5 colunas e 5 linhas – onde cada elemento da tabela deve conter o resultado do jogo do time “da casa” (linha da tabela) – versus o time “visitante” (coluna da tabela) • Para representar o resultado de uma partida podemos criar uma estrutura chamada resultado – com a informação do número de pontos de cada um dos times do jogo: do time da casa e do time visitante struct resultado { int casa; int visitante; }; typedef struct resultado Resultado; Resultado jogos[5][5]; • Pede-se – mostre como declarar em C o tipo Time, o tipo Resultado, o conjunto de 5 times e a tabela de jogos – leia o nome dos 5 times – inicialize o conjunto de times com os nomes dos times e o número de pontos igual a zero – ler do teclado o resultado de todos os jogos do campeonato, guardando-os na tabela jogos – considerando os times do exemplo anterior, as interações do programa com o operador podem ser • Pede-se – escreva uma função para contabilizar o número de pontos de cada time, armazenando os valores nos campos pontos do conjunto de times void contabiliza_pontos( int n, Resultado jogos[][5], Time *times ); – cada vitória 2 pontos, cada empate 1 ponto e cada derrota nenhum ponto • Pede-se – escreva uma função para imprimir a tabela de pontos void imprime_pontos(int n, Time * times ); • Pede-se – escreva uma função para imprimir o resultado do campeonato no seguinte formato void imprime_tabela( int n, Resultado jogos[][5], Time*times);
  15. Ele já está fucionando. Muito obrigada! Agora como posso fazer para o programa não aceitar número repetidos que foram digitados de 10 a 100? (Talvez avisar que o número já foi digitado)
×
×
  • Criar Novo...