Estacio em C++
#include
#include
#include
#include
typedef struct Funcionario
{
int cod; char nome[35]; float salario; struct Funcionario *proximo;
} Funcionario;
struct Funcionario *lista=NULL; struct Funcionario *aux=NULL;
void listar(struct Funcionario *percorre)
{
if (percorre==NULL) { printf("Nenhum funcionário cadastrado!!\n"); } else { system ("cls"); printf("\n===============================\n"); printf("======Lista Funcionários======="); printf("\n===============================\n\n"); while (percorre!=NULL) { printf("========================\n"); printf("Nome: %s\n",percorre->nome); printf("Código: %d\n",percorre->cod); printf("Salário: R$%.2f\n",percorre->salario); percorre=percorre->proximo; } printf("========================\n"); } return;
}
void inserir()
{
struct Funcionario *novo, *percorre1, *percorre2; novo=malloc(sizeof(struct Funcionario)); system("cls"); printf("\n"); listar(lista); printf("\n===============================\n"); printf("===Cadastro de Funcionários===="); printf("\n===============================\n\n"); printf("Digite o nome: "); scanf("%s",novo->nome); printf("Digite o código: "); scanf("%d",&novo->cod); while (lista!=NULL && (novo->cod == lista->cod)) { if(novo->cod == lista->cod) { printf("Código já existente!\n"); printf("Digite o código novamente: "); scanf("%d",&novo->cod); } else { lista = lista->proximo; } } printf("Digite o salário: R$"); scanf("%f",&novo->salario); novo->proximo=NULL; //Primeiro nó na lista if(lista==NULL) { lista=novo; printf ("\nFuncionário cadastrado com sucesso!\n"); system ("pause>NULL"); system ("cls"); return; } //Substitui primeiro nó if(lista->salariosalario) { novo->proximo=lista; lista=novo; printf ("\nFuncionário cadastrado com sucesso!\n"); system