Ir para conteúdo
Fórum Script Brasil

Dan Oliveira

Membros
  • Total de itens

    95
  • Registro em

  • Última visita

Tudo que Dan Oliveira postou

  1. você tem que estudar sobre parametros de uma função. Acho que esse é o seu erro, você fez um função que recebesse como parametro um vetor[][3] e um int. o parametro soma_res é passado por cópia ou seja NÃO ALTERA O VALOR DA VARIAVEL PASSADA só dentro da função. aí você usou a variavel depois fora da função em main e quando você imprimiu o printf mostrou o valor da variável soma que era um valor que o compilador dá a variável se ela não for iniciada. Existe duas maneiras para se fazer. int funcao(int mat[][3]) { int i,j; int soma_res=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) { soma_res+=mat[i][j]; } } return soma_res; } e para chamar sua função no main() você faz assim... soma = funcao(matriz);//ou seja sua variavel soma vai ser atribuida com o valor que a função retornar; Ou dessa maneira, um pouco mais avançada. VOID funcao(int mat[][3], *int soma_res) { int i,j; soma_res=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) { soma_res+=mat[i][j]; } } } e chama-la assim funcao(matriz, &soma);//Ai você pode altera-la o valor de soma dentro da sua funcao e fora tambem.
  2. Uma coisa na sua primeira questão, era 50 arvores e não duas, você puderia fazer um vetor de int, chamado arvores[50, onde se tiver o valor de zero está vazia, se tiver o valor de um o marciano está atrás. esse é ou não o objeivo do jogo? Ficaria mais difícil e o primeiro jogador só iria digitar o numero uma vez, e teria cinco chances para acertar uma das 50 arvores, seria mais legal, pois de 50% de chance o jogador dois teria 10% de chance;
  3. Dan Oliveira

    Muito díficil

    Olha da pra fazer isso sem usar várias bibliotecas que você usou(uma mistura desordenada de c mais c++), como manipular um arquivo em c++ é bem mais fácil do que isso. usando <fstream> Você cria um objeto cham arq ou algo, escolhe se é de leitura ou escrita. ifstream para leitura, e ofstream para gravação. EX: #include <iostream> #include <fstream> #include <string> using namespace std; int main(){ string frase; cout<<"Escreva uma frase para ser escrita no arquivo string.txt:"; getline(cin, frase); cout<<"Obrigado. Escrevendo dados no arquivo strings.txt...\n"; ofstream escreve; escreve.open("strings.txt"); escreve << "Utilizamos os objetos ofstream para escrever em arquivos\n"; escreve<< "Note que podemos utilizar os caracteres \\n pra quebrar a linha, como fazíamos em cout\n"; int numero = 100; escreve<<"Podemos escrever o valor de variaveis numericas: " <<numero <<"\n"; int matriz[3] = {42, 19, 99}; escreve<<"Podemos também escrever matrizes!"; for (int i=0; i < 3; i++){ escreve.width(6); escreve<<matriz[i]<<" "; } escreve<<"\n"; escreve<<"Finalmente, podemos receber dados via cin e escrever estes dados no arquivo!\n"; escreve<<"A frase que você digitou durante a execução do programa: "<<frase<<"\n"; escreve.close(); cout<<"Dados escritos no arquivo. Fim do Programa!"; system("PAUSE"); return 0; } leitura #include <iostream> #include <fstream> #include <string> using namespace std; int main(){ char letra; ifstream leitura; leitura.open("strings.txt"); if(!leitura.is_open( )) { cout<<"Não foi possível abrir arquivo! Programa será terminado!\n"; leitura.clear( ); //reseta o objeto leitura, para limpar memória do sistema} } while (leitura.get(letra)) {cout << letra;} leitura.close(); system("PAUSE"); return 0; }
  4. Na verdade o compilador do devc++ não teve nada a ver, a falha foi um pouquinho de falta de atenção. quando você colocou o ; na frente do comando for você terminou um laço sem instrução nenhuma, a linguagem c/c++ aceita isso, e por fim a instrução printf é executada uma vez, como você decide a inicialização da variável i dentro do for, ela tem um valor indeterminado (acho que o valor de seu endereço na memória), tanto que ela mostra o valor do vetor com um indice fora do estipulado por vc &i>5, mostrando um valor que está neste endereço.
  5. que eu me lembro um vetor é um ponteiro que aponta para uma memória alocada, algo assim não precisa ser referenciado, pois ele é uma referência como em strings.
  6. Olha o CodeBlock não é um compilador e sim um IDE(programa que facilita a vida do programador), talvez você tenha a versão que vem com o mingw(conjuntos de ferramentas da GNU) que cria programa para o windows, acho que esse é para C/C++, ou seja, pode fazer progamação gráfica. Já o openGL, é uma api http://www.tecmundo.com.br/872-o-que-e-opengl-.htm. para você que inicia procure a definição de IDEs, compiladores, APIs, assim você terá uma noção do precisará para construir um programa GUI.
  7. Não conheço nada à respeito de interface gráfica em C, apenas em C++ Para quem quer embarcar no mundo das GUIs sugiro linguagens orientada a objeto, (C++,java...). Para ter uma base de como os objetos se interagem. Depois do estudo fica fácil, para cada objeto existirá um item relativo na interface do programa em qualquer biblioteca gráfica que você implementar no seu código. Seria bem difícil em C já que talvez você tivesse que criar algumas funções. Existe o dilema para programadores "Não reivente a roda!".
  8. Olha para GUIs eu recomendo que você estude uma linguagem orientada a objetos como C++, java. Mas tem como, mas C é uma linguagem limitada para criação de interfaces gráficas. E muitos acham que precisam estudar C primeiro antes do C++, eu não acho. Mas fale você tem alguma biblioteca gráfica alguém poderá te ajudar no fórum.
  9. Dan Oliveira

    Ajuda em c

    Acho que seria esse o programa, mas não te daria a quantidade de bytes alocados como disse o amigo; #include <stdio.h> main () { int a[5]={2,5,1,4,0}; char b[5]={'a','b','m','4','-'}; float c[5]={2.66,0.125,1.0,4.99,2.009}; double d[5]={1.0e6,256000.45672,23e10,10000000.99999,123456.123456}; long int e[5]={123456789,999999999,22222222,11111111,987654321}; int i; printf("A quantidade de bytes alocados para: \n\n"); for(i=0; i<5;i++) { printf("Vetor int a[%d]:%14p\n", i ,a[i]); printf("Vetor char b[%d]:%13p\n", i , b[i]); printf("Vetor float c[%d]: %11p\n", i , c[i]); printf("Vetor double d[%d]: %10p\n", i , d[i]); printf("Vetor long int e[%d]: %p\n\n", i , e[i]); } getchar(); return 0; }
  10. O programa bubble sort que se encontra no livro deitel como programar em c 6 edição /* Fig. 6.15: fig06_15.c This program sorts an array's values into ascending order */ #include <stdio.h> #define SIZE 10 /* function main begins program execution */ int main( void ) { /* initialize a */ int a[ SIZE ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 }; int pass; /* passes counter */ int i; /* comparisons counter */ int hold; /* temporary location used to swap array elements */ printf( "Data items in original order\n" ); /* output original array */ for ( i = 0; i < SIZE; i++ ) { printf( "%4d", a[ i ] ); } /* end for */ /* bubble sort */ /* loop to control number of passes */ for ( pass = 1; pass < SIZE; pass++ ) { /* loop to control number of comparisons per pass */ for ( i = 0; i < SIZE - 1; i++ ) { /* compare adjacent elements and swap them if first element is greater than second element */ if ( a[ i ] > a[ i + 1 ] ) { hold = a[ i ]; a[ i ] = a[ i + 1 ]; a[ i + 1 ] = hold; } /* end if */ } /* end inner for */ } /* end outer for */ printf( "\nData items in ascending order\n" ); /* output sorted array */ for ( i = 0; i < SIZE; i++ ) { printf( "%4d", a[ i ] ); } /* end for */ printf( "\n" ); return 0; /* indicates successful termination */ } /* end main */ /************************************************************************** * © Copyright 1992-2007 by Deitel & Associates, Inc. and * * Pearson Education, Inc. All Rights Reserved. * * * * DISCLAIMER: The authors and publisher of this book have used their * * best efforts in preparing the book. These efforts include the * * development, research, and testing of the theories and programs * * to determine their effectiveness. The authors and publisher make * * no warranty of any kind, expressed or implied, with regard to these * * programs or to the documentation contained in these books. The authors * * and publisher shall not be liable in any event for incidental or * * consequential damages in connection with, or arising out of, the * * furnishing, performance, or use of these programs. * *************************************************************************/
  11. Está certo vou te add, mas estou por hora estudando C, sei alguma coisa e tentarei te ajudar e assim ao contrário também
  12. Galera estou com livro deitel- Como programar em C 5ª edição e queria saber quem se interessa em compartilhar o que sabemos e tirar as duvidas um com o outro. MSN: daniel-o-mais-lindo@bol.com.br
  13. Dica quando o comando depois do if estiver um comando de uma linha não usa chaves{} e seu algoritmo está assim se numero for par imprima "par" senão for imprima "impar" Assim ele vai descartar a condição do zero pois ou e par ou e impar coloque assim se numero for par imprima "par" ou se for impar imprima "impar" ou se for zero imprima "zero" em C if(resultado == 0) printf("Esse numero e par.\n"); else if(resultado == 1) printf("Esse numero e impar.\n"); else if(resultado == -1) printf("Numero e zero\n"); system("pause"); o else if junto complementa o if...
  14. int verifica(int a) { //Se for par... if(a % 2 == 0) return 0; //Se for impar... else if(a%2==1) return 1; //Se for zero if(a==0) return -1; }
  15. Acho que está no switch, use o comando break ele faz o switch pular os comandos; switch(op) { case 1: { inserir(); break; } case 2: { listar(); break; }
  16. Dan Oliveira

    Ajuda com programa !

    não entendi esse aplique, acho que é mais ou menos isso; #include <iostream> using namespace std; int main() { float salario; bool estado_civil; //verdadeiro(1) se casado, false(0) se solteiro cout<<"Digite o salario do funcionario: "; cin>>salario; cout<<"Digite a tecla:\n(1)Se for casado\n(0)Se for solteiro\n"; cin>>estado_civil; //se estado civil for true if (estado_civil) salario = salario+(salario*0.1); //se for false else salario = salario+(salario*0.09); cout<<"Aplicando a taxa, o salario e: "<<salario<<endl; system("pause"); return 0; }
  17. Galera Também quero estar no grupo de estudo sobre o Deitel. Quem tem ele em pdf me add aê MSN: daniel-o-mais-lindo@bol.com.br
  18. #include <iostream> using namespace std; void desenha_quad(int n) { for(int i=0; i<n; i++) { for(int j=0; j<n;j++) { cout<<"* "; } cout<<"\n"; } } void desenha_vazio(int n) { for(int i=0; i<n;i++) { cout<<"* "; } for(int i=0; i<n-2;i++) { cout<<endl<<"* "; for(int i=0; i<n-2;i++) { cout<<" "; } cout<<"*"; } cout<<endl; for(int i=0; i<n;i++) { cout<<"* "; } } int main() { int tam; cout<<"DIGITE TAMANHO DO QUADRADO: "<<endl; cin>>tam; desenha_quad(tam); cout<<endl; desenha_vazio(tam); cout<<endl; system("pause"); return 0; } Duvidas me pergunte
×
×
  • Criar Novo...