Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: