1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

c++ dúvida

Discussão em 'Programação' iniciada por Imortal, 13 de Novembro de 2007. (Respostas: 9; Visualizações: 887)

  1. Imortal

    Imortal What is folding?

    Explique como funciona o ciclo "for".


    For (int i= 0 ; i < 4; i++) soma + = notas ;


    Alguém me poderia ajudar a responder a esta questão? é bastante urgente...

    cumps
     
    Última edição: 13 de Novembro de 2007
  2. Imortal

    Imortal What is folding?

    Obrigado pela ajuda... Mas não percebo mesmo nada de inglês... :S
    E era como funciona o ciclo "for" naquela situação... Se alguém me puder ajudar agradeço...
    cumps
     
  3. OubeLa

    OubeLa Power Member

    Então tens:

    For (int i= 0 ; i < 4; i++)

    O que é que isto quer dizer? Ele declara o i como sendo do tipo int. Cria um ciclo desde i = 0 até i < 4, com o i a ser incrementado depois de cada execução do ciclo.

    soma + = notas ;

    Isto é igual a

    soma = soma + notas;

    Em cada execução do ciclo, e enquanto que o i seja menor que 4, ele vai efectuar uma soma do valor que está em soma com o valor que está no inidice do vector (vou pensar que é um vector) notas. Ou seja

    começa com i = 0

    e faz

    soma += notas[0];

    depois incrementa o i para 1. Como ainda verifica a condição faz

    soma += notas[1];

    até que faz o ultimo

    soma += notas[3];

    o que significa o notas? os elementos do vector são acedidos por indice. O primeiro elemento é o elemento de indice 0, que pode ser acedido por notas.begin() ou notas[0], e assim sucessivamente.

     
    Última edição: 15 de Novembro de 2007
  4. Consu

    Consu Power Member

    Já estás a considerar que notas é um vector, quando na realidade pode ser apenas um simples array.
    Acho que introduzir aqui iteradores, quando ele ainda não percebe como funciona um ciclo for é capaz de não ser uma boa ideia. :p
     
  5. OubeLa

    OubeLa Power Member

    Sim, mas dado que ele não disse o que era...também sendo um array ou um vector a coisa vai dar quase ao mesmo na maneira como se acede aos elementos. Mas se o user dissesse mais alguma coisa era boa ideia ;)
     
  6. Reptil

    Reptil Power Member

    Vou usar este topico para nao abrir outro.
    Tenho a minha funçao main que vai chamar n vezes a funçao colocar(num ciclo for).E dentro da funçao colocar preciso de escrever para um ficheiro certos "passos" que acontecem la,isso atraves de ofstream.

    O problema é que se abro o ficheiro ja dentro da colocar,so me fica la a ultima parte pois a cada vez que o ficheiro é aberto,apaga tudo o que la tenho.
    Tava a pensar em abrir o ofstream dentro da main,por exemplo ofstream my(teste.txt) e depois passar o my como parametro na funçao colocar mas nao consigo.
    Alguem sabe como se pode fazer isso?
     
  7. OubeLa

    OubeLa Power Member

    Não tenho aqui nenhum compilador de C++, mas não precisas de ter outra função
    Código:
    
    
    
    
    int main()
    {
    string cenas;
    
    ofstream myfile("teste.txt");
    
    myfile.open();
    
    
    cout << "Escreva qualquer coisa: ";
    while (cin)
    {
    cout << endl;
    
    
    if (myfile.is_open())
    {
        myfile << cenas << endl;
    }
    } //fecha o ciclo while. Para terminar o intput fazer ctrl+z em windows, ctrl+d em UNIX
    }
    
    Peço desculpa pela indentação e se estiver errado, mas tive de fazer à pressa e não tenho aqui nenhum compilador para testar.
     
  8. Epa... então tás na àrea errada... :002:
     
  9. mj2p

    mj2p I'm Cool Cuz I Fold


    Boas. Olha, eu resolvia o teu problema da seguinte forma:

    Código:
     
    #include <fstream>
    using namespace std;
     
    int main()
    {
     
    char* mensagem;
     
    mensagem = new char[25];
     
    cout <<"Escreva a sua mensagem--> ";
     
    cin >>mensagem;
     
    while (mensagem != EOF)            //CTRL+Z em sistema Windows
    {
     
    //este especificador de acesso faz com que tudo o que seja acrescentado o seja feito no final do ficheiro.
    ofstream WriteFile ("ficheiro.txt", ios::app);
     
    WriteFile << mensagem;
     
    cin>>mensagem;
        
    }   //fecho implicito do ficheiro e garantia de escrita no disco.
     
    delete [] mensagem;     //eliminar da memória RAM a tua variável.
     
    return 0;
     
    }
     
    
    Prontos, acho que isto funciona. Não compilei mas em principio deve resultar. Se houver algum erro avisa para corrigir.

    Vá, cumps.
     

Partilhar esta Página