-
Notifications
You must be signed in to change notification settings - Fork 1
/
Untitled-1.cpp
73 lines (58 loc) · 1.65 KB
/
Untitled-1.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/******************************************************************************
Online C Compiler.
Code, Compile, Run and Debug C program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <stdio.h>
#include <malloc.h>
typedef struct {
//código, nome, telefone, email, nota g1 e nota g2.
int codigo, g1, g2;
char nome[40], telefone[12], email[40];
struct aluno * proximo;
struct aluno * anterior;
} aluno;
typedef struct {
aluno * primeiro;
aluno * ultimo;
} lista;
void criarLista(lista * list) {
list->primeiro = NULL;
list->ultimo = NULL;
};
void preencherDadosAluno(aluno * a) {
printf("Informe o nome do aluno: \n");
scanf("%s", a->nome);
a->proximo = NULL;
a->anterior = NULL;
};
void inserirNoFinal(lista * list, aluno a) {
aluno * aux = (aluno *) malloc(sizeof(aluno));
*aux = a;
if (list->ultimo == NULL) {
list->primeiro = aux;
list->ultimo = aux;
} else {
list->ultimo->proximo = (struct aluno *) aux;
aux->anterior = (struct aluno *) list->ultimo;
list->ultimo = aux;
}
};
void listarTodosRegistros(lista list) {
aluno * a = list.primeiro;
while (a != NULL)
{
printf("Nome: %s \n", a->nome);
a = (aluno *)a->proximo;
};
};
void main()
{
lista alunos;
aluno a1;
criarLista(&alunos);
preencherDadosAluno(&a1);
listarTodosRegistros(alunos);
inserirNoFinal(&alunos, a1);
listarTodosRegistros(alunos);
}