Jump to content

Recommended Posts

Posted

Boas pessoal,

Eu nem sei bem como explicar mas eu gostava que o meu programa fizesse o seguinte. O utilizador escrevia um nome que queria alterar. Depois numa linha abaixo aparecia uma linha a dizer p.ex Novo nome:"Inicialmente aparecia o nome actual e o utilizador deveria alterar esse mesmo nome.

Do genero:

char Nome[50];
printf("Introduza o Nome que deseja alterar:");
scanf(" %s",Nome);
printf("Novo nome:%s",Nome);
//aqui ele deveria conseguir alterar o Nome que foi colocado pelo printf anterior.
scanf(" %s",Nome);

Deu para perceber?

Cumprimentos

Leandro Rodrigues

Posted

Deu, mas no teu exemplo tu declaras um unico array, quantos nomes esperas que esteja lá dentro, a não ser que seja só o primeiro?

Podes fazer um exemplo usando um ficheiro. Onde vais linha a linha procurando o nome, se o encontrares muito bem, se não error.

Posted

Deu, mas no teu exemplo tu declaras um unico array, quantos nomes esperas que esteja lá dentro, a não ser que seja só o primeiro?

Podes fazer um exemplo usando um ficheiro. Onde vais linha a linha procurando o nome, se o encontrares muito bem, se não error.

O objetivo e mesmo esse. Usar ficheiros. No entanto eu guardo os nomes numa estrutura.

Eu fiz aquele pequeno codigo so para exemplificar o que queria. Se soubesse fazer assim tambem iria saber aplicar...

Posted

se estas a usar estruturas:

#define NAME_MAX_SIZE 256
#define LISTA_MAX_SIZE 256

struct Pessoa {
 char nome[NAME_MAX_SIZE];
 // ...
};

// ...
struct Pessoa lista_de_pessoas[listA_MAX_SIZE];
// ...

char buffer[NAME_MAX_SIZE];
size_t len = 0;

printf("Insira o nome da pessoa a alterar : ");
fflush(stdout);
if (fgets(buffer, NAME_MAX_SIZE, stdin)) {
 len = strlen(buffer);
 if (buffer[len - 1] == '\n')
   buffer[len - 1] = 0;

 for (len = 0; len < LISTA_MAX_SIZE; ++len) {
   if (strcmp(lista_de_pessoas[nome], buffer] == 0) {
     // fazer alterações

     break;
   }
 }

 if (len == LISTA_MAX_SIZE) {
   printf("Nao existe nenhuma pessoa registada com esse nome");
 }
} else
 // erro a ler do teclado
IRC : sim, é algo que ainda existe >> #p@p
Posted

se estas a usar estruturas:

Boas HapyHipyHippo,

Aquilo que me estas a fazer é pedir ao utilizador o nome que ele quer alterar e depois comparas com a lista de nomes que tens...

O meu problema nao é esse. Vou tentar explicar melhor.

Imagina o seguinte:

char Nome[50];
printf("Introduza o nome a alterar:");
scanf(" %50s",Nome);
printf("Novo nome para %s:",Nome);
//Aqui eu devo ler o novo nome, mas eu queria colocar no scanf o nome atual de forma a que o utilizador o consegui-se alterar.
//EX:Utilizador escreve NomeTeste.
//Novo nome para NomeTeste:NomeTeste(Este NomeTeste depois dos : deveria dar para alterar. Porque se o utilizador quiser alterar o nome para NomeTeste1 tem que escrever tudo e se fosse assim so adicionava o 1.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.