Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C by fbfgfghf ( 2 years ago )
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
struct Candidato{
int numero;
char nome[20];
struct Candidato *anterior;
};
main(){
int opc;
struct Candidato *p=NULL, *anterior=NULL;
setlocale(LC_ALL,"Portuguese");
do{
printf("GERENCIAMENTO DE Candidato\n\n");
printf("O que deseja fazer:\n");
printf(" 1 - Inserir\n");
printf(" 2 - Listar\n");
printf(" 3 - Consultar\n");
printf(" 4 - Sair\n\n");
printf("Opcao: ");
scanf("%d",&opc);
switch(opc){
case 1:{
system("cls");
p = (struct Candidato *) malloc(sizeof(struct Candidato));
printf("Cadastrando Candidato NOVO\n");
printf("Digite o numero..: ");
scanf("%d",&p->numero);
printf("Digite o NOME: ");
scanf(" %[^\n]",&p->nome);
p->anterior = anterior;
anterior = p;
printf("Registro do Candidato inserido com sucesso!");
break;
}
case 2:{
system("cls");
struct Candidato *ultimo;
ultimo = p;
printf("Candidatos cadastrados\n");
while(ultimo!=NULL){
printf("numero = %d, NOME = %s\n",ultimo->numero,ultimo->nome);
ultimo = ultimo->anterior;
}
break;
}
case 3:{
system("cls");
struct Candidato *ultimo = p;
struct Candidato *proximo = NULL;
int ra;
printf("Digite o numero para alterar:\n");
scanf("%d", &numero);
while(ultimo!=NULL){
if (ultimo->numero==numero){
printf("\nDados localizados:\n");
printf(" numero = %d\n",ultimo->numero);
printf(" NOME = %s\n\n",ultimo->nome);
printf("O que deseja fazer:\n");
printf(" 1 - alterar\n");
printf(" 2 - remover\n");
printf(" 3 - voltar\n\n");
printf("Opção: ");
int opt;
scanf("%d",&opt);
printf("\n");
if (opt==1){
printf("Digite o novo numero..: ");
scanf("%d",&ultimo->numero);
printf("Digite o novo NOME: ");
scanf(" %[^\n]",&ultimo->nome);
printf("Registro do Candidato atualizado com sucesso!");
}else if (opt==2){
printf("Registro do Candidato excluido com sucesso!");
if (proximo==NULL){
p = ultimo->anterior;
break;
}else{
proximo->anterior = ultimo->anterior;
break;
}
}
}
proximo = ultimo;
ultimo = ultimo->anterior;
}
if (ultimo==NULL){
printf("numero não localizado!!!");
}
break;
}
}
system("pause>>null");
system("cls");
}while(opc!=5);
}
Revise this Paste