Jump to content

Ajuda Alterar


YChede

Recommended Posts

Boas, tenho um projecto de c, porem estou com um problema em fazer a opçao alterar:


/* Ficha de Especialidade */
struct especialidade
{
   char nome[MAX];          // Nome da especialidade
   char descricao[MAX];          // Descricao
   struct especialidade * prox;
   struct especialidade * ant;
};
typedef struct especialidade ESPECIALIDADE;
typedef ESPECIALIDADE * P_ESPECIALIDADE;
typedef ESPECIALIDADE ** PP_ESPECIALIDADE;
/** Cria especialidade */
P_ESPECIALIDADE criaEspecialidade()
{
   P_ESPECIALIDADE ptr;
   ptr = (P_ESPECIALIDADE)malloc(sizeof(ESPECIALIDADE));
   rewind(stdin);
   printf(" Nome: ");
   fgets(ptr->nome, MAX, stdin);
   /* Tirar o '\n' do fim do nome */
   ptr->nome[strlen(ptr->nome)-1] = '\0';
   rewind(stdin);
   printf(" Descricao: ");
   fgets(ptr->descricao, MAX, stdin);
   /* Tirar o '\n' do fim da descricao */
   ptr->descricao[strlen(ptr->descricao)-1] = '\0';
   rewind(stdin);
   return ptr;
   system("cls");
}

Se podessem gostava que me dessem umas dicas de como criar a funçao editar.

Obrigado

Edited by pmg
LP adicionada ao GeSHi
Link to comment
Share on other sites

A função editar é idêntica a que cria excepto que, recebe como parâmetro um item já feito.

Por norma é utilizado um pré menu que permite seleccionar que secção editar. Uma vez seleccionada,

acede-se ao campo em questão, elimina-se os dados antigos e então cria-se esse campo uma outra vez.

A eliminação nem sempre é necessária, visto que por vezes um "override" é suficiente.

No entanto isso já depende de cada caso/objectivo.

PS: system("cls") quebra a portabilidade do programa, se for mesmo necessário, use compilação

condicional para poder suportar outros sistemas operativos.

Dado a limitação da questão em si, não creio poder avançar mais na ajuda. Espero que tenha ajudado.

Cumprimentos dbs.

Link to comment
Share on other sites

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.