Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''c', 'c++', 'palavra', 'string', 'caractere', 'contagem', 'programa', 'tutorial', 'ajuda', 'dicas', 'contar' ou 'contador''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. magicericxd

    AJUDA EM C

    GALERA PRECISO IMPLEMENTAR O MALDITO DO QUICKSORT E INSERTSORT,TENTEI COLOCAR ALGUNS MÉTODOS MAS NÃO CONSEGUI... FIZ ISSO ATÉ AGORA. #include<stdio.h>#include<stdlib.h>#include<conio.h>#define t 8 int main () { int v[t],x = 0,y = 0,aux = 0,min =0,op,p=0,r=0; for( x = 0; x < t; x++ ) { printf("Entre com um inteiro para vetor[%d]: ",x); scanf("%d",&aux); v[x] = aux; } printf("Escolha uma opcao: "); printf("\n\nBubble Sort : 1\n"); printf("\n\nSelect Sort : 2\n"); printf("\n\nQuick Sort : 3\n"); printf("\n\nInsert Sort : 4\n"); scanf("%d",&op); switch(op){ case 1://BubbleSort for( x = 0; x < t; x++ ) { for( y = x + 1; y < t; y++ ) { if ( v[x] > v[y] ) { aux = v[x]; v[x] = v[y]; v[y] = aux; } }} printf("\n Elementos ordenados:"); for( x = 0; x < 8; x++ ){ printf("\n %d",v[x]); // exibe o vetor ordenado} break;case 2: //SelectSort for (x = 0; x < t; x++) { min = x;for (y = (x+1); y < t; y++) { if(v[y] < v[min]) min = y; } if (x != min) { aux = v[x]; v[x] = v[min]; v[min] = aux; } } printf("\n Elementos ordenados:"); for( x = 0; x < 8; x++ ){ printf("\n %d",v[x]); // exibe o vetor ordenado}break;case 3: break;case 4: break; } }
  2. Olá amigos da script Brasil, estou desenvolvendo um keylogger para um jogo online (WEB), então preciso capturar apenas o que for digitado no campo login/senha . os inputs do site estão assim: <input type="text" name="GC_login"> <input type="password" name="GC_senha"> Preciso capturar em tempo real o que foi digitado nesses campos. Abrs
  3. Bom dia pessoal!!Estou no primeiro semestre de Ciências da Computação e estou fazendo algumas atividades em Linguagem C. Entretanto, estou com dificuldade nesse exercício:Faça um programa que receba como entrada, uma lista de números positivos ou negativos, finalizando as entradas com o número zero e forneça como saída, a soma dos números positivos, soma dos números negativos e a soma das duas somas parciais. Pelo que eu entendi eu devo solicitar numeros positivos ou negativos ao usuários, se ele digitar o número 0 devo finalizar o programa, somar os positivos e negativos e mostrar o resultado deles. Mas, estou com muita dificuldade para resolver, estamos no módulo while, então preciso resiolver utilizando while ou do while.Tentei desenvolver o programa e ficou mais ou menos assim: #include <stdio.h> #include <stdlib.h> main () { int contador=0,resultado,n1; contador=0; while (contador<=5) { printf("digite um numero :"); scanf("%d",&n1); contador ++; } if (n1!=0) { resultado=(n1+n1+n1+n1+n1); printf("o resultado e %d",resultado); } else { printf("encerrando programa"); } system ("pause"); } Observações: Quando eu vou digitar 0 o programa não se encerra, queria saber o porquê disso.Lembrando que eu sou iniciante em programação e gostaria que vocês, experientes nisso me dessem dicas ou clareassem a minha cabeça para que eu possa resolver esse problema e entender.Obrigada pessoal :)
  4. Visitante

    Ajuda com laço do while

    Aqui estou eu de novo...não consigo fazer meu programa apontar um erro e repetir até que a condição esteja correta...já tentei while origem menor que 1 e maior que 5, etc...o que acontece é que meu código não passa dai. mesmo com as condições corretas...quando o getch é 1, 2, 3 4 ou 5, ou qualquer outro numero ele repete o laço...agradeço desde já! //Laço de Erro 1 do { //Aqui o Programa pergunta a origem do passageiro printf("\nDe onde voce esta partindo? [1]curitiba, [2]florianopolis, [3]saobento, [4]camboriu ou [5]matinhos?\n"); origem=getch(); switch(origem){ case '1': origem=1; break; case '2': origem=2; break; case '3': origem=3; break; case '4': origem=4; break; case '5': origem=5; break; } }while(origem != 1 || origem != 2 || origem != 3 || origem !=4 || origem != 5);
  5. Boa noite galera,estou precisando de ajuda com C métodos de ordenação,preciso resolver o seguinte exercicio mas está complicado ^^ Elaborar um programa em C que faça a carga de um vetor com 8 posições de valores inteiros e positivos. Permitir escolher um dos métodos de ordenação de dados (1-inserção, 2-bubble sort, 3-quick sort, 4-seleção) fiz isso até agora #include <stdio.h> #include <stdlib.h> #define TAM 8 int main() { int vetor[TAM], i = 0, y = 0, aux = 0; for( i = 0; i < TAM; i++ ) { printf("Entre com um inteiro para vetor[%d]: ",i); scanf("%d",&aux); vetor= aux; } for( i = 0; i < TAM; i++ ) { for( y = i + 1; y < TAM; y++ ) // sempre 1 elemento à frente { // se o (x > (x+1)) então o x passa pra frente (ordem crescente) if ( vetor > vetor[y] ) { aux = vetor; vetor = vetor[y]; vetor[y] = aux; } } } // fim da ordenação // exibe elementos ordenados printf("Elementos ordenados: \n"); for( i = 0; i < TAM; i++ ) { printf(" \n vetor[%d]=%d \n\n",i,vetor); // exibe o vetor ordenado } system("PAUSE"); }
  6. Olá, Eu trabalho, junto ao meu pai, na área de programação. E recentemente eu estou envolvido em um projeto pessoal.Acabei me deparando com um desafio logico em que eu empaquei. Meu pai, que está na área desde o cartão perfurado, pouco ajudou. Então venho implorar pela ajuda de vocês. Por favor, leiam o que eu queria poder ser capaz de fazer. E se possível me dê dicas ou a resolução do problema. Que seja em qualquer linguagem ou um executável. Isso já me ajudaria muito. Bem...Apresentarei uma situação hipotética primeiro para ilustrar: Suponha que você jogue duas moedas. Cada uma tendo: o numero 1 estampado em um lado e no outro lado o numero 2. Então as combinações possíveis ao se jogar essas duas moedas são: 1 1 1 2 2 1 2 2 Ao somar o resultado de cada combinação eu teria: 1 1 = 2 1 2 = 3 2 1 = 3 2 2 = 4Então eu posso afirmar que, ao jogar essas duas moedas eu tenho: 1 chance em 4 de sair a soma com resultado 2 = 25% 2 chances em 4 de sair a soma com resultado 3 = 50%1 chance em 4 de sair a soma com resultado 4 = 25%o que busco com essa "rolagem" é o seguinte: Eu quero saber qual é a minha chance ,em porcentagem ,que tenho, tendo um determinado numero como alvo, tirar um numero menor ou igual a este numero alvo, nessa rolagem. Ou seja, rolando essas duas moedas, eu quero tirar um numero igual ou menor a 3 por exemplo. Nessa situação acima é fácil discernir: Caso eu tenha como alvo o numero 1, eu teria 0/4 (0% de chances). Caso eu tenha como alvo o numero 2, eu teria 1/4 (25% de chances). Caso eu tenha como alvo o numero 3, eu teria 3/4 (75% de chances). Caso eu tenha como alvo o numero 4, eu teria 4/4 (100% de chances). A situação hipotética foi essa, para poder situar você mais ou menos na mecânica da coisa. Porém o meu problema é mais profundo do que esse, usando mais chances do que de apenas duas moedas. o que eu desejo fazer/ter é um programa que receba uma quantidade X de dados e o valor Y, que seria quantas faces esses dados possuem. O programa somaria cada uma das combinações separadamente, guardaria quantas delas resultam em um determinado valor e listaria quais seriam as minhas chances de tirar um numero menor ou igual ao que cada uma das combinações resultou. Exemplo: O programa recebendo 2 dados de 4 faces cada. O programa listaria para mim o seguinte:N°__ Chances_______%___ 2 - 01/16 = 6,25% 3 - 03/16 = 18,75% 4 - 06/16 = 37,50%5 - 10/16 = 62,50%6 - 13/16 = 81,25%7 - 15/16 = 93,75%8 - 16/16 = 100,00%Ou seja, em uma rolagem de 2 dados de 4 faces cada, eu teria 62,50% de chances de tirar um valor menor ou igual a 5 por exemplo. Esses exemplos são facilmente resolvidos a mão. porém ao colocar em questão mais dados com mais faces, as proporções ficam muito maiores. E a situação se complica mais quando se poe na mão do "usuário" a quantidade de lados que os dados possuirão e a quantidade de dados que serão rolados. Podem me ajudar a discernir uma logica para conseguir fazer esse programa? Você já fez algo parecido? Você conseguiria desenvolver um programa assim? Me desculpem se não é aqui que eu deveria postar sobre algo assim. Por favor me fale se for o caso que eu coloco em outro lugar.
  7. E aí pessoal beleza, eu estou desenvolvendo um programa em C que simula uma partida de futebol para 7 jogadores e já consegui terminar o jogo e no caso de haver um vencedor, o programa faz tudo bem mas o problema está em caso de empate entre 4 jogadores jogadores por exemplo: desenvolvi uma função que serve para listar os 7 jogadores por números de golo e /*Função para listar quantidade de remates entre jogadores*/ void listar_jogador_num_golos_jogo(void) { int s; puts("\n\t\t--- Estatisticas de Golos dos Jogadores no Jogo ---"); //para todos os jogadores for (s = 0; s < qt_jogador_jogo; s++) { printf("\t\t\t Jogador %d: %d golo(s)\n", ptr_campo_jogo->jogadores[s].num_jogador, ptr_campo_jogo->jogadores[s].estatistica.qt_golos_marcados); } sleep(1); //determina o vencedor ou prolongamento em caso de empate definir_vencedor_ou_empate_jogo(); } faz exactamente o que pretendido pelo enunciado, tal como mostra a figura e desenvolvi uma outra função que determina o jogador vencedor ou em caso de empate, o jogador seleccionado irá fazer parte do prolongamento /*Função que determina o vencedor ou prologamento em caso de empate*/ void definir_vencedor_ou_empate_jogo(void) { int j, k, m, t; contador_jogadores_jogo = 0; max_golo_jogo = 0; puts("\n Determinar o jogador vencedor ou em caso empate, irá ao prolongamento...\n"); sleep(1); //para todos os jogadores for (j = 0; j < qt_jogador_jogo; j++) { //se o jogador listado tiver mais golos marcados do que max if (ptr_campo_jogo->jogadores[j].estatistica.qt_golos_marcados > max_golo_jogo) { //max = golos do jogador max_golo_jogo = ptr_campo_jogo->jogadores[j].estatistica.qt_golos_marcados; //contador será igual a um contador_jogadores_jogo = 1; //se tiver os mesmo golos que max } else if (ptr_campo_jogo->jogadores[j].estatistica.qt_golos_marcados == max_golo_jogo) { //incrementa o contador contador_jogadores_jogo++; } }//se contador for igual a um if (contador_jogadores_jogo == 1) { //para todos os jogadores for (k = 0; k < qt_jogador_jogo; k++) { //se o jogador listado tiver mais do que max golos if (ptr_campo_jogo->jogadores[k].estatistica.qt_golos_marcados == max_golo_jogo) { //o jogador iterado é o vencedor printf(">> Jogador %d é o VENCEDOR marcando %d golo(s)...\n\n", ptr_campo_jogo->jogadores[k].num_jogador, ptr_campo_jogo->jogadores[k].estatistica.qt_golos_marcados); sleep(1); } }//caso contrário (contador diferente de um) } else { //iterar todos os jogadores for (m = 0; m < qt_jogador_jogo; m++) { //se os golos do jogador listado for igual a max if (ptr_campo_jogo->jogadores[m].estatistica.qt_golos_marcados == max_golo_jogo) { //o jogador iterado faz parte do prolongamento printf(">> Jogador %d marcou %d golo(s) e vai para PROLONGAMENTO...\n", ptr_campo_jogo->jogadores[m].num_jogador, ptr_campo_jogo->jogadores[m].estatistica.qt_golos_marcados); sleep(1); } } puts("\n\t\t--- Lista de Jogadores para Prolongamento em situação de empate ---"); //iterar todos os jogadores for (t = 0; t < qt_jogador_jogo; t++) { //se os golos do jogador listado for igual a max if (ptr_campo_jogo->jogadores[t].estatistica.qt_golos_marcados == max_golo_jogo) { //o jogador iterado faz parte da lista de jogadores para prolongamento listar_jogadores_para_prolongamento(ptr_campo_jogo->jogadores[t].num_jogador, contador_jogadores_jogo); } } } } e até aqui tudo bem, e o programa mostra o resultado pretendido, tal como mostra na figura em baixo e o problema começa aqui em usar apenas esses jogadores seleccionados? para iniciar o prolongamento... /*Função*/ void iniciar_prolongamento(void) { int j; srand(time(NULL)); int recebe_bola = 1 + rand() % qt_jogador_jogo; for (j = 0; j < qt_jogador_jogo; j++) { if ((recebe_bola == ptr_campo_jogo->jogadores[j].estatistica.qt_golos_marcados) &&(ptr_campo_jogo->jogadores[j].estatistica.qt_golos_marcados == max_golo_jogo)) { printf("\nMostra o jogador %d...\n", recebe_bola); } sleep(1); } }quando compilo, mostra todos os jogadores, e já pensei em guardar essa lista de jogadores para prolongamento em um apontador externo e também pensei em usar um vetor campo com 3 dimensoes guardar jogadores, para jogo, prolongamento e penalti struct CAMPO campos[3]; /*campo de jogo, prolongamento e penalti*/ struct CAMPO *ptr_campo_jogo; /*apontador para campo*/alguma sugestão?
  8. Galera vou tentar explicar a vocês Minha empresa resolveu fazer uma pesquisa satisfacao do qual tem 42 itens esses mesmos itens são satisfatório e insatisfatório salvos numa base de dados em mysql ate tudo bem eu criei os 42 itens com botão de opção dentro de 42 frames para que cada item fique idependente o problema esta sendo para salvar no BD eu não queria escrever os 42 itens ia ficar muito grande o codigo o que tentei Dim ItSatisf1, ItSatisf2, ItSatisf3, ItSatisf4, ItSatisf5 ..... ate 42 Dim IT As Integer For IT = 1 To 42 tabela.Fields.Item(IT).Value = ItSatisfX (aqui que eu queria que cada vez que o FOR passar o ItSatisfX variasse para o IT do FOR tipo ficar ItSatis1.. ate 42 e trouxesse o valor da variável) Next IT ps essa variável terá um valor I ou S I - de insatisfeito S - de satisfeito ambos os valores já estão definidos no click do option botão Agradeço to de cabeça enfumaçando já duvida na imagem
  9. Com o NDK posso criar meu APP em c++ sem nenhum problema? Ele funciona no Android Studio ? Precisa do SDK também?
  10. O Visual studio fica assim quando eu tento compilar, depois ele trava e não da para fechar sem usar o gerenciador de programas.
  11. Estou com um exercício de C++ para fazer. Um menu de um jogo que tem duas opção Joga e SOBRE O JOGO. para o usuário escolhe com o mouse entre as duas opção. Teria Como vocês me ajudar ?
  12. Preciso (pelo amor de Jeová) criar uma webservice para que minha aplicação Mobile troque dados, e eu consiga passar no meu TCC! Não estou conseguindo construir a webservice conforme os tutoriais falam!
  13. Olá a todos estou fazendo um script para baixar músicas do Youtube para isso vou usar um subprocesso dentro de python e rodar o youtube-dl porém queria colocar como argumento do youtube-dl uma string que será posta pelo usuário (o url do vídeo). Então fiz algo assim: #!usr/bin/python import subprocess user_https = raw_input ("Passe seu html aqui: ") youtube_dl = subprocess.check_output(["youtube-dl","-e", "%s"] %user_https) print youtube-dl O código acima dá o output do programa que é o nome do vídeo, esse eu quero comparar com meus arquivos para depois baixar; Esse é o começo e como sou iniciante queria aprender fazendo, porém não acho como passar a string user_https para dentro de: subprocess.check_output(["youtube-dl","-e", "%s"] %user_https) Alguém sabe? Obrigado e desculpe se eu falei alguma bobagem.
  14. Visitante

    Ajuda com o Código

    Boa tarde, estou com problemas nesse código. O programa não passa para as perguntas de horários...o que me parece é que o switch case não reconhece a resposta anterior como verdadeira então não passa para a próxima etapa e repete. Mas já tentei de todo jeito e não consigo arrumar, Alguém pode me dar uma luz por favor ? #include <cstdio> #include <stdlib.h> #include <math.h> #include <conio.h> #include <iostream> #include <cstdlib> #include <stdio.h> int main() { //declaração de variáveis// char nome[40], curitiba[40], florianopolis[40], saobento[40], camboriu[40], matinhos[40], convencional[40], executivo [40]; int rg, codcontrole, viagem, horario, origem, destino, opcaobus, horarios; //espaço destinado para apresentação do programa// //variaveis recebendo dados// codcontrole = 1; //Laço de Retorno do { //Aqui o Programa pergunta a origem do passageiro printf("\nDe onde voce esta partindo? [1]curitiba, [2]florianopolis, [3]saobento, [4]camboriu ou [5]matinhos?\n"); scanf("%d", &origem); //Aqui o Programa pergunta o destino do passageiro printf("\nQual e seu destino? [1]curitiba, [2]florianopolis, [3]saobento, [4]camboriu ou [5]matinhos?\n"); scanf("%d", &destino); //Aqui o Programa pergunta o tipo de onibus printf("\nQual o tipo de onibus ? [1]Convencional ou [2]Executivo?\n"); scanf("%d", &opcaobus); if (origem == 1 && destino == 2 && opcaobus == 1) viagem = 1; else if (origem == 1 && destino == 2 && opcaobus == 2) viagem = 2; else if (origem == 1 && destino == 3 && opcaobus == 1) viagem = 3; else if (origem == 1 && destino == 3 && opcaobus == 2) viagem = 4; else if (origem == 1 && destino == 4 && opcaobus == 1) viagem = 5; else if (origem == 1 && destino == 4 && opcaobus == 2) viagem = 6; else if (origem == 1 && destino == 5 && opcaobus == 1) viagem = 7; else if (origem == 1 && destino == 5 && opcaobus == 2) viagem = 8; else if (origem == 2 && destino == 1 && opcaobus == 1) viagem = 9; else if (origem == 2 && destino == 1 && opcaobus == 2) viagem = 10; else if (origem == 2 && destino == 3 && opcaobus == 1) viagem = 11; else if (origem == 2 && destino == 3 && opcaobus == 2) viagem = 12; else if (origem == 2 && destino == 4 && opcaobus == 1) viagem = 13; else if (origem == 2 && destino == 4 && opcaobus == 2) viagem = 14; else if (origem == 2 && destino == 5 && opcaobus == 1) viagem = 15; else if (origem == 2 && destino == 5 && opcaobus == 2) viagem = 16; else if (origem == 3 && destino == 1 && opcaobus == 1) viagem = 17; else if (origem == 3 && destino == 1 && opcaobus == 2) viagem = 18; else if (origem == 3 && destino == 2 && opcaobus == 1) viagem = 19; else if (origem == 3 && destino == 2 && opcaobus == 2) viagem = 20; else if (origem == 3 && destino == 4 && opcaobus == 1) viagem = 21; else if (origem == 3 && destino == 4 && opcaobus == 2) viagem = 22; else if (origem == 3 && destino == 5 && opcaobus == 1) viagem = 23; else if (origem == 3 && destino == 5 && opcaobus == 2) viagem = 24; else if (origem == 4 && destino == 1 && opcaobus == 1) viagem = 25; else if (origem == 4 && destino == 1 && opcaobus == 2) viagem = 26; else if (origem == 4 && destino == 2 && opcaobus == 1) viagem = 27; else if (origem == 4 && destino == 2 && opcaobus == 2) viagem = 28; else if (origem == 4 && destino == 3 && opcaobus == 1) viagem = 29; else if (origem == 4 && destino == 3 && opcaobus == 2) viagem = 30; else if (origem == 4 && destino == 5 && opcaobus == 1) viagem = 31; else if (origem == 4 && destino == 5 && opcaobus == 2) viagem = 32; else if (origem == 5 && destino == 1 && opcaobus == 1) viagem = 33; else if (origem == 5 && destino == 1 && opcaobus == 2) viagem = 34; else if (origem == 5 && destino == 2 && opcaobus == 1) viagem = 35; else if (origem == 5 && destino == 2 && opcaobus == 2) viagem = 36; else if (origem == 5 && destino == 3 && opcaobus == 1) viagem = 37; else if (origem == 5 && destino == 3 && opcaobus == 2) viagem = 38; else if (origem == 5 && destino == 4 && opcaobus == 1) viagem = 39; else if (origem == 5 && destino == 4 && opcaobus == 2) viagem = 40; else printf("\nUma ou mais respostas são invalidas!\n"); //Aqui o Programa pergunta o horario da partida switch (horarios) { case 1: viagem = 1; printf("Digite 1 para 10:40 ou 2 para 17:00"); scanf("%d", &horario); break; case 2: viagem = 2; printf("Digite 1 para 11:00 ou 2 para 15:40"); scanf("%d", &horario); break; case 3: viagem = 3; printf("Digite 1 para 13:30 ou 2 para 09:30"); scanf("%d", &horario); break; case 4: viagem = 4; printf("Digite 1 para 12:00 ou 2 para 14:00"); scanf("%d", &horario); break; } //Aqui o Programa da o preço e pede os dados //Aqui o Programa Le os Dados do Cliente //Impressao da Passagem } while (codcontrole !=9999); }
  15. Estou com um código de criptografia DES, o código utiliza um sistema de 3 txt's previamente criados pelo usuário, durante o programa o mesmo informa o nome dos txt's, sendo que um deles já previamente preenchido, estou tentando alterar para que o usuário dê o valor no próprio programa, em vez de fornecer o nome do arquivo txt, no entanto o programa não está lendo a linha do gets(string), poderiam me ajudar por favor? Segue abaixo parte do código. ---------- switch(opcao) { case 1: printf("\n\tENCRIPTOGRAFANDO...\n"); printf("Entre com a chave numerica de ate 8 digitos:"); scanf("%s",&chave[0]); printf("\nAbra o arquivo orig.txt e digite a mensagem que deseja criptografar. \nSalve e Feche. \nDigite 'orig.txt', sem aspas: "); scanf("%s",&nome1[0]); printf("\nEntre com o nome do arquivo para salvar o texto codificado (cripto.txt): "); scanf("%s",&nome2[0]); printf("\nArquivo encriptado com sucesso. Verifique cripto.txt."); encrypt(); break; case 2: printf("\n\tDECRIPTOGRAFANDO...\n"); printf("Entre com a chave numerica usada para criptografar: "); scanf("%s",&chave); printf("\nEntre com o nome do arquivo que contem o texto codificado (cripto.txt): "); scanf("%s",&nome1[0]); printf("\nEntre com o nome do arquivo para salvar o texto decifrado (descripto.txt): "); scanf("%s",&nome2[0]); printf("\nArquivo decriptado com sucesso. Verifique descripto.txt."); decrypt(); break; case 0: printf("\n\tFim da execucao. Programa de criptografia DES, APS segundo semestre.\n\n"); printf("\n\tPor Stephani Souza, Heitor Galassi, Nathan Costa e Thyago Biazin."); exit(0); default: printf("\nOpcao invalida! Tente novamente.\n"); getchar(); break; } } void encrypt() { // char string[150]; int i,j,o; struct LR op, ip; struct ks keys[16]; FILE *arqin, *arqout; /* FILE *msg; msg = fopen("orig.txt","w+"); //chamo o arquivo para ler+escrever, apago o que estava nele antes if(!msg) { printf("\nErro ao abrir arquivo!"); fclose(msg); } printf("\nDigite a mensagem que sera criptografada(max. 150 caracteres):"); gets(string); for(o=0; string[o]; o++) putc(string[o], msg); msg = arqin;*/ for (i = 0; i < 16; i++) { keys = KS (i); } arqin = stdin; arqout = stdout; if ((arqin = fopen(nome1, "rb")) == NULL) { fprintf( stderr, "erro no arquivo %s\n", nome1 ); exit(1); } if ((arqout = fopen(nome2, "wb")) == NULL) { fprintf( stderr, "erro no arquivo %s\n", nome2 ); exit(1); } void decrypt() { int i; struct LR op, ip; struct ks keys[16]; FILE *arqin, *arqout; for (i =0; i < 16; i++) { keys = KS (i); } arqin = stdin; arqout = stdout; if ((arqin = fopen(nome1, "rb")) == NULL) { fprintf( stderr, "erro no arquivo %s\n", nome1 ); exit(1); } if ((arqout = fopen(nome2, "wb")) == NULL) { fprintf( stderr, "erro no arquivo %s\n", nome2 ); exit(1); } while (fread(&ip, 1, sizeof(struct LR), arqin) != 0) ---------- galera agradeço desde já!
  16. URGENTE. Bom, estou tendo dificuldade de finalizar o este algoritmo, pois a funcao 3 do menu não funciona perfeitamente, pois ela le a entrada de dado mas não relaciona com o dado exato que esta armazenado dentro da lista feita pelo struct. O objetivo do programa e criar um programa que se utilize-se de struct para armazenamentos de dados, que contenha as funções cadastro(produto, valor e código), imprima a lista, busque por nome de produto para uma loja de materiais. esta e a parte q não consigo resolver: void imp_cod(){ fflush(stdin); int i; char aux[80]; printf("DIGITE O NOME DO PRODUTO A BUSCAR"); scanf("%s",&aux[80]); for(int i=0;i<qte;i++){ if(aux[80]==lj[qte].nome_p); printf("COD:%dNOME:%sR$%.2f",lj.cod_e,lj.nome_p,lj.valor); } } Este e o código "completo": #include<iostream> #include<locale.h> struct estoque{ int cod_e; char nome_p[80]; float valor; }; estoque lj[50]; int qte=0; void cadastro(){ fflush(stdin); printf("\t+------------------------------------------------------+\n"); printf("\t DIGITE O CODIGO DO PRODUTO "); scanf("\t%d",&lj[qte].cod_e); fflush(stdin); printf("\t+------------------------------------------------------+\n"); printf("\t DIGITE O NOME DO PRODUTO "); gets(lj[qte].nome_p); fflush(stdin); printf("\t+------------------------------------------------------+\n"); printf("\t DIGITE O VALOR UNITARIO DO PRODUTO R$"); scanf("%f",&lj[qte].valor); printf("\t+------------------------------------------------------+\n"); fflush(stdin); qte++; } void imp_es(){ fflush(stdin); for(int i; i<qte; i++){ printf("\n\t+------------------------------------+\n"); printf("\tCODIGO: %d\n\tNOME: %s\n\tVALOR: R$%.2f\n", lj.cod_e, lj.nome_p, lj.valor); printf("\t+------------------------------------+\n"); } } void imp_cod(){ fflush(stdin); int i; char aux[80]; printf("DIGITE O NOME DO PRODUTO A BUSCAR"); scanf("%s",&aux[80]); for(int i=0;i<qte;i++){ if(aux[80]==lj[qte].nome_p); printf("COD:%dNOME:%sR$%.2f",lj.cod_e,lj.nome_p,lj.valor); } } int menu(int op){ system("cls"); printf("\t+------------------------------------------------------+\n"); printf("\t| MENU |\n"); printf("\t+------------------------------------------------------+\n"); printf("\t| 1 - CADASTRAR PRODUTO |\n"); printf("\t| 2 - ESTOQUE |\n"); printf("\t| 3 - BUSCAR PRODUTO |\n"); printf("\t| 4 - SAIR |\n"); printf("\t+------------------------------------------------------+\n"); printf("\t| DIGITE A OPERAÇÂO |\n"); printf("\t+------------------------------------------------------+\n"); scanf("%d",&op); return(op); } main(){ setlocale(LC_ALL,""); int op; printf("\t+------------------------------------------------------+\n"); printf("\t| BEM VINDO AO CONTROLE DE ESTOQUE |\n"); printf("\t+------------------------------------------------------+\n"); printf("\t| APERTE QUALQUER TECLA PARA CONTINUAR |\n"); printf("\t+------------------------------------------------------+\n"); system("pause"); do{ op=menu(op); if(op==1){ cadastro();} else if(op==2){ imp_es(); system("pause"); } else if(op==3){ imp_cod(); system("pause"); } else if(op==4){ system("cls_clear"); return 0;} }while(op!=4); system("pause"); } Agradeço se alguém puder ajudar :D
  17. Ola pessoal, Estou aprendendo C através do site: http://computer.howstuffworks.com/c10.htm Não entendi como funciona o final da função. for (x=0; x < MAX-1; x++) for (y=0; y < MAX-x-1; y++) if (a[y] > a[y+1]) { t=a[y]; a[y]=a[y+1]; a[y+1]=t; } /* print sorted array */ printf("--------------------\n"); for (i=0; i < MAX; i++) printf("%d\n",a[i]);No meu entendimento, ele não faria o for pois nunca entraria no if. Porém quando executo, ele ordena corretamente... eu realmente não entendi como ele executa o if sendo que na minha visão: a[y] jamais será maior que a[y+1] Alguém consegue me explicar essa parte?
  18. Fala galera, sou novo em programação e estou tentando fazer um programa simples de base de dados para cadastro de bovinos. tenho tido algumas duvidas quanto a melhor maneira de escrever o código. Fiz a GUI princopal aqui: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- from Tkinter import * import sqlite3, tkMessageBox from PIL import Image, ImageTk import Funcoes #Arquivo que contem as funções! class Main: def __init__(self, master): self.frame = Frame(master) self.frame.pack() #Botão Gado self.botaGado = Button(self.frame) self.imgGado = Image.open("img\gado.jpg") self.imgBotaGado = ImageTk.PhotoImage(self.imgGado) self.botaGado.image = self.imgBotaGado self.botaGado.config(image= self.imgBotaGado,width=100,height=100, bg = 'blue', bd='10', activebackground = 'black', command = Funcoes.funcoes.janelaGado) self.botaGado.pack(side=LEFT, padx = 10) #Botão Lotes self.botaoLotes = Button( self.frame) self.imgLotes = Image.open('img\lotes.jpg') self.imgBotaoLotes = ImageTk.PhotoImage(self.imgLotes) self.imgBotaoLotes.image = self.imgBotaoLotes self.botaoLotes.config(image = self.imgBotaoLotes,width=100,height=100, bg = 'blue', bd='10', activebackground = 'black', command = Funcoes.funcoes.janelaLote) self.botaoLotes.pack(padx = 10, side = LEFT) #Botao Botao Estoque self.botaoEstoque = Button(self.frame) self.imgBotaoEstoque = Image.open('img\estoque.jpg') self.imgBotaoEstoque = ImageTk.PhotoImage(self.imgBotaoEstoque) self.botaoEstoque.image = self.imgBotaoEstoque self.botaoEstoque.config (image = self.imgBotaoEstoque, bg = 'blue', bd = '10', activebackground = 'black', command = Funcoes.funcoes.janelaEstoque) self.botaoEstoque.pack(padx = 10, side = LEFT) root = Tk() root.geometry('800x600') Main(root) root.mainloop() -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- E um outro arquivo com as funões dos botoes aqui -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- from Tkinter import* from PIL import Image, ImageTk from Main_GUI import * #arquivo onde está o root class funcoes(object): #Janela Gado def janelaGado(self): self.JanelaGado = Toplevel(root) self.JanelaGado.geometry('800x600') self.frameGado= Frame(self.JanelaGado) self.frameGado.pack() #botao Gravar self.botaoGravar = Button(self.frameGado) self.imgGravar = Image.open('img\save.jpg') self.imgBotaoGravar = ImageTk.PhotoImage(self.imgGravar) self.botaoGravar.image = self.imgBotaoGravar self.botaoGravar.config(image = self.imgBotaoGravar, width = '100', heigh = '100', bg = 'blue', bd = '10') self.botaoGravar.pack(side = LEFT) # func botao lote def janelaLote(self): self.JanelaLote = Toplevel(root) self.JanelaLote.geometry('800x600') self.frameLote = Frame(self.JanelaLote) self.frameLote.pack() #botao Gravar self.botaoGravar = Button(self.frameLote) self.imgGravar = Image.open('img\save.jpg') self.imgBotaoGravar = ImageTk.PhotoImage(self.imgGravar) self.botaoGravar.image = self.imgBotaoGravar self.botaoGravar.config(image = self.imgBotaoGravar, width = '100', heigh = '100', bg = 'blue', bd = '10') self.botaoGravar.pack() def janelaEstoque(self): self.JanelaEstoque = Toplevel(root) self.JanelaEstoque.geometry('800x600') self.frameEstoque= Frame(self.JanelaEstoque) self.frameEstoque.pack() #botao Gravar self.botaoGravar = Button(self.frameEstoque) self.imgGravar = Image.open('img\save.jpg') self.imgBotaoGravar = ImageTk.PhotoImage(self.imgGravar) self.botaoGravar.image = self.imgBotaoGravar self.botaoGravar.config(image =self.imgBotaoGravar, width = '100', heigh = '100', bg = 'blue', bd = '10') self.botaoGravar.pack(side = LEFT) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Não estou conseguindo fazer o codigo chamar a função do arquivo das funções! ele me da erro : self.botaGado.config(image= self.imgBotaGado,width=100,height=100, bg = 'blue', bd='10', activebackground = 'black', command = Funcoes.funcoes.janelaGado) AttributeError: 'module' object has no attribute 'funcoes' Gostaria de saber como chamar a função deste outro arquivo e se esse seria o melhor jeito de fazer isso. Gostaria de saber se eu deveria fazer apenas a função para abrir a janela ao clique e o design da janela em outro lugar ou se colocar a função e a janela juntos não tem problema! Obrigado pela atenção!!!
  19. Olá, tenho um trabalho para fazer com a seguinte questão em linguagem C: Menu 1) vetor 2)matriZ 3) sair Se escolher 1: Submenu 1.1) produto escalar 1.2) personalizado 1.3) voltar Se escolher 2: Submenu 2.1) Soma de Matrizes 2.2) Multiplicação de Matrizes 2.3) Determinante de ordem 2 2.4) Determinante de ordem 3 2.5) Voltar Se escolher 3: sair Estou com dificuldade em montar os Submenus apos o menu, como por as variáveis de vetores e matrizes (linha, coluna...) e voltar ao menu principal.. Se puderem me ajudar agradeço
  20. Tenho seguinte exercicio: Escrever um programa para alocar uma área de memória para armazenar 3 valores float e 3 caracteres, preencher esta área com dados provenientes do teclado e, por último, apresentá-los do último até o primeiro, isto é, de maneira inversa àquela do armazenamento. meu codigo: int main(int argc, char *argv[]) { int i; int * ptr1; int * ptr2; ptr1 = malloc(3*sizeof(float)); ptr2 = malloc(3*sizeof(char)); if(ptr1 != NULL){ for(i=0;i<3;i++){ printf("digite valores float: "); scanf("%f",&ptr1[i]); *ptr1[i] = i; } } if(ptr2 != NULL){ for(i=0;i<3;i++){ printf("digite os caracteres: "); fflush(stdin); scanf("%c",&ptr2[i]); ptr1[i] = i; } } for(i=3;i>0;i--){ printf("Resultado %f",ptr1[i]); } system("PAUSE"); return 0; }Erro: Eu coloco 1.1,1.2 e 1.3 nos floats e a,b,c no caratecres, e na saida sai tudo zero, ex: 0.0 e os caracteres são letras estranhas.
  21. martins__74

    Ajuda com if

    Boa trade estou a ter problemas a criar um programa pois não estou a conseguir usar 3 if usando a compranção == nos 3 Exemplo: if (marca==tyt) { printf("1-Exemplo10 \n2-Exemplo12 \n",tyt); scanf("%d",&tyt); switch(tyt) { case 1: system("cls"); printf("Producao: 1957 - 2002 \nMotor: 1.8L/2.0L \n"); break; case 2: system("cls"); printf("Producao: 1978 - 2002 \nMotor: 2.6L/2.8L \n"); break; default: printf("Numero invalido \n"); } } if (marca==opl) { printf("1-Modelo1 \n2-Modelo2 \n",opl); scanf("%d",&opl); switch(opl) { case 1: system("cls"); printf("Exemplo1 \n"); break; case 2: system("cls"); printf("Exemplo 2 \n"); break; default: printf("Numero invalido \n"); } } if (marca==mit) { printf("1-Modelo3 \n2-Modelo4 \n",mit); scanf("%d",&mit); switch(mit) { case 1: system("cls"); printf("Exemplo7 \n"); break; case 2: system("cls"); printf("Exemplo 8 \n"); break; default: printf("Numero invalido \n"); } }gostaria de saber o que estou a fazer mal ou então alguma sugestao de como poderia proceder de uma melhor forma
  22. Eu tenho este código em baixo foi baseado para testar um partida de jogo, funciona sem erro semântico e por vezes contem algum erro sintáctico na qual resulta em erros de obter resultados pretendidos. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define MAX 10 #define N 5 typedef struct BOLA BOLA; // tipo de dados estruturado BOLA que irá ser declarado typedef struct JOGADOR JOGADOR; // tipo de dados estruturado JOGADOR que irá ser declarado typedef struct CAMPO CAMPO; // tipo de dados estruturado CAMPO que irá ser declarado struct BOLA {//cada bola int num_bola; // contem um numero de bola }; // Declaração da estrutura que define a bola struct JOGADOR {//cada jogador int num_jogador; // contem um numero de jogador BOLA bola[2]; // no maximo 2 bolas }; // Declaração da estrutura que define o jogador struct CAMPO {//O campo JOGADOR jogadores[MAX]; // contem no maximo 10 jogadores BOLA bolas[N]; // possui no maximo 5 bolas para cada jogo }; // Declaração da estrutura que define o campo JOGADOR novo_jogador; /*novo jogador*/ BOLA nova_bola; /*nova bola*/ CAMPO campo; BOLA *ptr_bola; /*apontador para nova bola*/ JOGADOR *ptr_jogador; /*apontador para novo jogador*/ CAMPO *ptr_campo; /*apontador para campo*/ void criar_jogador(void); void criar_bola(void); void comecar_jogo(void); void criar_jogador(void) { int i; //identificador para incrementar criação de jogador /* criar jogador*/ for (i = 0; i < MAX; i++) { novo_jogador.num_jogador++; //incrementa o numero de jogador campo.jogadores[i] = novo_jogador; //adicionar o jogador no campo ptr_jogador = &campo.jogadores[i]; ptr_campo = &campo; printf(">> Criando jogador %02d...\n\n", ptr_campo->jogadores[i].num_jogador); } } void criar_bola(void) { int k; //identificador para incrementar criação de bola for (k = 0; k < N; k++) { nova_bola.num_bola++; //incrementa o numero da bola campo.bolas[k] = nova_bola; //adicionar a bola no campo ptr_bola = &campo.bolas[k]; ptr_campo = &campo; printf(">> Criar bola %02d...\n\n", ptr_campo->bolas[k].num_bola); } } void comecar_jogo(void) { int m, j; int recebe_bola; srand(time(NULL)); printf("\t\t+====================================+\n"); printf("\t\t| INICIAR JOGO |\n"); printf("\t\t+====================================+\n\n"); for (m = 0; m < N; m++) { recebe_bola = rand() % MAX + 1; printf("\tJogador %02d recebe bola %02d...\n", recebe_bola, m + 1); for (j = 0; j < MAX; j++) { if (recebe_bola == ptr_campo->jogadores[j].num_jogador) { ptr_campo->jogadores[j].bola[m].num_bola = ptr_campo->bolas[m].num_bola; printf("\tA bola %02d foi para jogador %02d...\n", ptr_campo->bolas[m].num_bola, ptr_campo->jogadores[j].num_jogador); printf("\tO jogador %02d tem a bola %02d...\n\n", ptr_campo->jogadores[j].num_jogador, ptr_campo->jogadores[j].bola[m].num_bola); } else { printf("\tERRO: Jogador %02d não recebeu bola %02d...\n\n", ptr_campo->jogadores[j].num_jogador, ptr_campo->bolas[m].num_bola); } } } } void main(void) { printf("\t\t+====================================+\n"); printf("\t\t| INICIAR PROGRAMA |\n"); printf("\t\t+====================================+\n\n"); //criar jogador criar_jogador(); //criar_bola criar_bola(); //começa o jogo comecar_jogo(); printf("\t\t+====================================+\n"); printf("\t\t| TERMINAR PROGRAMA |\n"); printf("\t\t+====================================+\n\n"); }testando o main, obtive esse resultado como mostra na seguinte figura de facto, o erro ocorre na função começa jogo for (m = 0; m < N; m++) { recebe_bola = rand() % MAX + 1; printf("\tJogador %02d recebe bola %02d...\n", recebe_bola, m + 1); for (j = 0; j < MAX; j++) { if (recebe_bola == ptr_campo->jogadores[j].num_jogador) { ptr_campo->jogadores[j].bola[m].num_bola = ptr_campo->bolas[m].num_bola; printf("\tA bola %02d foi para jogador %02d...\n", ptr_campo->bolas[m].num_bola, ptr_campo->jogadores[j].num_jogador); printf("\tO jogador %02d tem a bola %02d...\n\n", ptr_campo->jogadores[j].num_jogador, ptr_campo->jogadores[j].bola[m].num_bola); } else { printf("\tERRO: Jogador %02d não recebeu bola %02d...\n\n", ptr_campo->jogadores[j].num_jogador, ptr_campo->bolas[m].num_bola); } } } alterei para switch para fazer teste e deu certo, se no caso for criado todas as cases, for (m = 0; m < N; m++) { recebe_bola = rand() % MAX + 1; printf("Jogador %02d recebe bola %02d...\n", recebe_bola, m + 1); switch (recebe_bola) { case 1: //a bola recebida é a mesma que está no campo ptr_campo->jogadores[recebe_bola].bola[m].num_bola = ptr_campo->bolas[m].num_bola; printf("\tA bola %02d foi para jogador %02d...\n", ptr_campo->bolas[m].num_bola, ptr_campo->jogadores[recebe_bola].num_jogador + 1); printf("O jogador %02d tem a bola %02d...\n\n", ptr_campo->jogadores[recebe_bola].num_jogador + 1, ptr_campo->jogadores[recebe_bola].bola[m].num_bola); break; case 2: //a bola recebida é a mesma que está no campo ptr_campo->jogadores[recebe_bola].bola[m].num_bola = ptr_campo->bolas[m].num_bola; printf("\tA bola %02d foi para jogador %02d...\n", ptr_campo->bolas[m].num_bola, ptr_campo->jogadores[recebe_bola].num_jogador + 1); printf("O jogador %02d tem a bola %02d...\n\n", ptr_campo->jogadores[recebe_bola].num_jogador + 1, ptr_campo->jogadores[recebe_bola].bola[m].num_bola); break; default: printf("ERRO em jogador %02d recebe bola ...\n\n", ptr_campo->jogadores[m].num_jogador); break; } } nesse caso, funciona mas para os dois casos e agora o problema é aceder aos valores dentro da estrutura para que possa comparar e se for igual ao que foi criado, retorna verdadeira mas não está dando certo, agradeço alguma sugestão.
  23. Ola a todos, estou com uma duvida em chamar funções apartir de outras funções e não corresponde nada, já vi todas as partes e não consigo decifrar o erro e alguma ideia, eu agradecia ps: só foi postado alguma parte de codigo que tenho duvidas #define MAX_NUM_JOGADOR 3//numero maximo de jogadores #define MAX_NUM_BOLA 2//numero maximo de bolas para jogo typedef struct BOLA BOLA; // tipo de dados estruturado BOLA que irá ser declarado typedef struct JOGADOR JOGADOR; // tipo de dados estruturado JOGADOR que irá ser declarado typedef struct CAMPO CAMPO; // tipo de dados estruturado CAMPO que irá ser declarado struct BOLA {//cada bola int num_bola; // contem um numero de bola }; // Declaração da estrutura que define a bola struct JOGADOR {//cada jogador int num_jogador; // contem um numero de jogador BOLA bola[MAX_NUM_BOLA]; // existem várias bolas entre uma a duas bolas }; // Declaração da estrutura que define o jogador struct CAMPO {//O campo JOGADOR jogadores[MAX_NUM_JOGADOR]; // contem no maximo 5 jogadores BOLA bolas[MAX_NUM_BOLA]; // possui no maximo 3 bolas para cada jogo }; // Declaração da estrutura que define o campo JOGADOR novo_jogador; /*novo jogador*/ BOLA nova_bola; /*nova bola*/ CAMPO campo; BOLA *ptr_bola; /*apontador para nova bola*/ JOGADOR *ptr_jogador; /*apontador para novo jogador*/ CAMPO *ptr_campo; /*apontador para campo*/ void criar_jogador(void); void criar_bola(void); void bola_para_jogador(void); void dar_bola_ao_jogador(int, int); void chutar_bola_para_baliza(int, int); // funçao para criar jogador e adicionar ao campo void criar_jogador(void) { int i; //identificador para incrementar criação de jogador /* criar jogador*/ for (i = 0; i < MAX_NUM_JOGADOR; i++) { *ptr_jogador = novo_jogador; novo_jogador.num_jogador++; //incrementa o numero de jogador campo.jogadores[i] = *ptr_jogador; //adicionar o jogador no campo *ptr_campo = campo; printf("Criando jogador %02d...\n\n", ptr_campo->jogadores[i].num_jogador + 1); } } /* função criar bola*/ void criar_bola(void) { int k; //identificador para incrementar criação de bola for (k = 0; k < MAX_NUM_BOLA; k++) { *ptr_bola = nova_bola; nova_bola.num_bola++; //incrementa o numero da bola campo.bolas[k] = *ptr_bola; //adicionar a bola no campo *ptr_campo = campo; printf("Criar bola %02d...\n\n", ptr_campo->bolas[k].num_bola + 1); } } /*função para dar bola ao jogador escolhido aleatoriamente*/ void dar_bola_ao_jogador(int num_bola, int num_jogador){ *ptr_bola = nova_bola; *ptr_jogador = novo_jogador; *ptr_campo = campo; *ptr_estatistica = estatisticas; //se o jogador no campo que recebe a bola for igual ao jogador escolhido if (num_jogador == ptr_campo->jogadores[num_jogador].num_jogador) {//Duvida //a bola recebida é a mesma que está no campo ptr_campo->jogadores[num_jogador].t_posse_bola = time(NULL); //tempo de posse bola ptr_campo->jogadores[num_jogador].bola[num_bola].num_bola = ptr_campo->bolas[num_bola].num_bola; printf("\tA bola %02d foi para jogador %02d na baliza %02d...\n\n", ptr_campo->bolas[num_bola].num_bola + 1, ptr_campo->jogadores[num_jogador].num_jogador + 1, ptr_campo->jogadores[num_jogador].baliza.num_baliza + 1); sleep(1); printf("\tO jogador %02d na baliza %02d tem a bola %02d...\n\n", ptr_campo->jogadores[num_jogador].num_jogador + 1, ptr_campo->jogadores[num_jogador].baliza.num_baliza + 1, ptr_campo->jogadores[num_jogador].bola[num_bola].num_bola + 1); } } /*função para jogador X chutar bola para baliza de outro jogador*/ void chutar_bola_para_baliza(int num_bola, int chuta_bola) { int trajetoria_bola; int recebe_bola_chutada; srand(time(NULL)); *ptr_bola = nova_bola; *ptr_jogador = novo_jogador; *ptr_campo = campo; while (1) {//para teste //Duvida -> o jogador não chuta para sua baliza recebe_bola_chutada = rand() % MAX_NUM_JOGADOR + 1; //jogador X tem a bola e chuta para Jogador Y -> Duvida if (ptr_campo->jogadores[recebe_bola_chutada].num_jogador != ptr_campo->jogadores[chuta_bola].num_jogador) { ptr_campo->jogadores[recebe_bola_chutada].bola[num_bola] = ptr_campo->jogadores[chuta_bola].bola[num_bola]; printf("\tO jogador %02d chutou a bola %02d para baliza %02d do jogador %02d...\n\n", ptr_campo->jogadores[chuta_bola].num_jogador + 1, ptr_campo->jogadores[chuta_bola].bola[num_bola].num_bola + 1, ptr_campo->jogadores[recebe_bola_chutada].baliza.num_baliza + 1, ptr_campo->jogadores[recebe_bola_chutada].num_jogador + 1); } } e a minha duvida é nesta parte em chamar as funções void dar_bola_ao_jogador(int num_bola, int num_jogador); e função void chutar_bola_para_baliza(int num_bola, int chuta_bola); /* função dar bola ao jogador - aleatorio*/ void bola_para_jogador(void) { int m, n, p, q; int recebe_bola; srand(time(NULL)); *ptr_bola = nova_bola; *ptr_jogador = novo_jogador; *ptr_campo = campo; printf("\n\n"); printf("\t\t+====================================+\n"); printf("\t\t| INICIAR JOGO |\n"); printf("\t\t+====================================+\n\n"); for (m = 0, p = 0; m < MAX_NUM_BOLA; m++) { recebe_bola = rand() % MAX_NUM_JOGADOR; for (q = 0; q < MAX_NUM_JOGADOR; q++) { if (recebe_bola == ptr_campo->jogadores[q].num_jogador) { dar_bola_ao_jogador(m, ptr_campo->jogadores[q].num_jogador); } } p++; } if (p == qt_bola) { chutar_bola_para_baliza(m, ptr_campo->jogadores[recebe_bola].num_jogador); printf("\n\n"); printf("\t\t+====================================+\n"); printf("\t\t| JOGO TERMINOU |\n"); printf("\t\t+====================================+\n\n"); } } eis a imagem da simulação...
  24. Bom, sou iniciante na linguagem C, queria saber como fazer para escanear strings mas sem saber quantos caracteres essa string tem. Por exemplo, eu tenho que escrever um programa que dado uma frase tenho que determinar quantos caracteres são números mas sem ser informado o tamanho da string.
×
×
  • Criar Novo...