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

Exercicio em Dev-C++

Discussão em 'Programação' iniciada por NapZ, 28 de Abril de 2008. (Respostas: 13; Visualizações: 8489)

Estado do Tópico:
Fechado a novas mensagens.
  1. NapZ

    NapZ Power Member

    Boas..
    Bem, um amigo meu q tem a mania q é jingão e pensa q percebe bue de Programação disse-me um exercicio em C++ q supostamente eu levaria uns bons dias a tentar fazer, e realmente tenho poucas bases...

    O exercicio é assim:
    -> Preencher um Vector com 3 nomes, 20 letras no máximo cada e imprimir os nomes..

    :lol:
    Alguém sabe?
    Obrigado :)
     
  2. Ace-_Ventura

    Ace-_Ventura Power Member

    Código:
    #include <string>
    #include <iostream>
    
    int main()
    {
    	std::string names[3];
    	for(int i = 0; i < 3; ++i){
    		for(int j = 0; j < 20; ++j){
    			char ch;
    			std::cin.get(ch);
    			if(ch == '\n'){
    				break;
    			}
    			names[i].push_back(ch);
    		}
    	}
    	for(int i = 0; i < 3; ++i){
    		std::cout << names[i] << std::endl;
    	}
    	return 0;
    }
    Podes também imprimir assim que acaba de ler a string, mas isto é tão pequeno que pouca diferença faz.
     
  3. NapZ

    NapZ Power Member

    Não há mais hipoteses?
     
  4. NapZ

    NapZ Power Member

  5. metRo_

    metRo_ Power Member

    porque é que aquele não te serve?
     
  6. kadeR

    kadeR I quit My Job for Folding

    claro que há...

    esta maneira e mais simples:

    Código:
    #include <stdlib.h>
    #include <string.h>
    main()
    {
          char v[20] [20];
          int k=0;
          for(k=0; k<3; k++)
          {
                 printf("Introduza os nomes: ");
                 scanf("%s", v[k]);
          }
          
          for (k=0; k<3; k++)
          {
                 printf("%s\n", v[k]);
          }
          system("pause");      
    }
    
    se nao souberes o que é esse system("pause"); no fim podes sempre alterar por dois getchar();
    cumps =)
     
  7. Ace-_Ventura

    Ace-_Ventura Power Member

    MAs isso é C. Foi por isso que eu usei o std::string.
     
  8. OubeLa

    OubeLa Power Member

    Corrijam-me se estiver enganado, mas julgo que dois getchar() pode não fazer o mesmo que system("pause")
     
  9. scriptKid

    scriptKid Power Member

    Outra variação de estilo

    Código:
    #include <iostream>
    #include <vector>
    #include <string>
    
    using namespace std;
    
    int main (int argc, char * const argv[]) {
    
      vector<string> nomes(3);
      vector<string>::iterator nome;
    
      cout<<"INPUT"<<endl;
    
      for (nome = nomes.begin(); nome!= nomes.end(); nome++){
        string buffer;
        getline(cin,buffer);
        *nome=string(buffer,0,20);
      }
    
      cout<<"OUTPUT"<<endl;
    
     for (nome = nomes.begin(); nome!= nomes.end(); nome++){
        cout<<*nome<<endl;
      }
    
      return 0;
    }
    
    O importante é :
    Podem-se usar arrays ?
    O número máximo de letras ter que ser uma propriedade intriseca da classe "Nome" ou basta ser limitada pelo método de construção de cada objecto ?

    Se calhar o amigo quer que definas um std::vector<Nome> em que Nome é uma classe que consiste num set de n char ...
     
  10. Tyran

    Tyran Power Member

    Pois, dois getchar podem não chegar até, dependendo do caso claro :)

    cumpzz
     
  11. kadeR

    kadeR I quit My Job for Folding

    sim, mas naquele caso penso que xegava...
     
  12. rafaqueque

    rafaqueque Power Member

    Que maneira tão original de pedir para lhe fazerem os trabalhos de casa :)
     
  13. Couve

    Couve Power Member

    lol."bonsdiasatentarfazer".

    Não venhas paqui pedir o trabalho de casa :)
     
  14. Da próxima vez o teu trabalho sozinho.

    :iconlock:
     
Estado do Tópico:
Fechado a novas mensagens.

Partilhar esta Página