Exercicio em Dev-C++

Status
Fechado a novas mensagens.

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 :)
 
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.
 
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 =)
 
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 =)
MAs isso é C. Foi por isso que eu usei o std::string.
 
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 ...
 
Status
Fechado a novas mensagens.
Back
Topo