Bom galera estou com 3 programa que um professor mando eu explica cada função e code detalhadamente só que não sei explica detalhadamente queria ajuda de vocês se poder me ajudar aki esta os programa
Lista:
Fila:
Lista:
Código:
#include <iostream> #include <stdlib.h> #define tam_lista 100 using namespace std; struct lista { string aluno; int nota; int cod; }; lista princ[tam_lista]; int cheia(int topo) { if (topo==tam_lista-1) return 1; else return 0; } int vazia (int topo) { if (topo==-1) return 1; else return 0; } int inserir (int topo) { lista secund[1]; int i, x; int a; a=cheia(topo); system("cls"); if (a==1){ cout << "\t\t\t\tErro - Lista Cheia!\n"; } else { topo = topo+1; cout<<"Insira o nome do aluno: "; cin>>princ[topo].aluno; cout<<"Insira o código do aluno: "; cin>>princ[topo].cod; cout<<"Insira a nota do aluno: "; cin>>princ[topo].nota; for(i=0; i<=topo; i++){ if( princ[topo].cod <= princ[i].cod){ x=i; break; } } secund[0].cod = princ[topo].cod; secund[0].aluno = princ[topo].aluno; secund[0].nota = princ[topo].nota; for(i=topo; i>x; i--){ princ[i].cod = princ[i-1].cod; princ[i].aluno = princ[i-1].aluno; princ[i].nota = princ[i-1].nota; princ[i-1].cod= secund[0].cod; princ[i-1].aluno = secund[0].aluno; princ[i-1].nota = secund[0].nota; } } system("pause"); system("cls"); return topo; } int mostrar (int topo) { int i, a=vazia(topo); if (a==1) { cout << "\t\t\t\tErro - Lista Vazia!\n"; } else { for (i=0;i<=topo;i++){ cout<<"Código: "<< princ[i].cod<<"\n"; cout<<"Aluno: " << princ[i].aluno<<"\n"; cout<<"Nota: " << princ[i].nota<<"\n\n"; } } system("pause"); system("cls"); } int remover(int topo) { int i, y, x=-1, a=vazia(topo); if (a==1) { cout <<"\t\t\t\tErro - Lista Vazia!\n"; } else { cout<<"Digite o código do aluno que você deseja excluir: "; cin>>y; for(i=0; i<=topo; i++){ if( y == princ[i].cod){ x=i; break; } } if(x!=-1){ for(i=x; i<=topo; i++){ princ[i].cod = princ[i+1].cod; princ[i].aluno = princ[i+1].aluno; princ[i].nota = princ[i+1].nota; } topo=topo-1; system("cls"); cout<<"\t\t\t\tAluno retirada da lista com sucesso!\n"; } else { cout<<"\t\t\t\tCódigo não encontrado!!\n"; } } system("pause"); system("cls"); return topo; } int main(int topo) { cout <<"Universidade federal do Maranhão - Campus de Balsas\n"; cout <<"Bacharelado Interdisciplinar em Ciencia e Tecnologia\n"; cout <<"Disciplina: Algoritimos e Estruturas de Dados\n"; cout <<"Professor: Antonio Oseas.\n"; cout <<"Aluno: Higor Augusto Pereira Faustino.\n\n\n"; setlocale(LC_ALL, "Portuguese"); topo=-1; int op=0; lista princ[tam_lista]; while (op!=4) { cout<<"Operações da Lista\n"; cout<<" 1 - Adicionar aluno a lista\n"; cout<<" 2 - Retirar aluno da lista\n"; cout<<" 3 - Mostrar aluno(s) da lista\n"; cout<<" 4 - Sair\n"; cout<<"\n\n Escolha uma Operação: "; cin>>op; switch (op) { case 1: topo = inserir(topo); break; case 2: topo = remover(topo); break; case 3: mostrar(topo); break; } } return 0; }
Fila:
Código:
#include <iostream> #include <string.h> #include <stdlib.h> #define tam_fila 100 using namespace std; struct fila{ string nome; float nota; }; int topo; fila fil[tam_fila]; int fila_cheia(){ if(topo==(tam_fila-1)){ return 1; } else { return 0; } } void colocar_fila(string nome2, float nota2){ if ((fila_cheia())==1){ cout<<"\t\t\t\tErro - fila Cheia!"; } else{ topo=topo+1; fil[topo].nome=nome2; fil[topo].nota=nota2; cout<<"\t\t\tO aluno foi colocada na fila com sucesso!\n"; } } int fila_vazia (){ if(topo== -1){ return 1; }else { return 0; } } void tirar_fila(){ if (fila_vazia()== 1){ cout<<"\t\t\t\tErro - fila Vazia!"; }else{ //fi.topo = fi.topo -1; int i; for (i=0;i<=topo;i++){ fil[i].nome = fil[i+1].nome; fil[i].nota = fil[i+1].nota; } topo--; cout<<"\t\t\t\tAluno retirada da fila com sucesso!"; } } void mostra_fila(){ int j; if (fila_vazia()==1){ cout<<"\t\t\t\tErro - fila Vazia!"; }else{ cout<<"\t\t\t\tDados da Pessoa:\n"; for (j=0;j<=topo;j++){ cout<<"\n\nNome:"<<fil[j].nome; cout<<"\nNota:"<<fil[j].nota; } } } int main() { cout <<"Universidade federal do Maranhão - Campus de Balsas\n"; cout <<"Bacharelado Interdisciplinar em Ciencia e Tecnologia\n"; cout <<"Disciplina: Algoritimos e Estruturas de Dados\n"; cout <<"Professor: Antonio Oseas.\n"; cout <<"Aluno: Higor Augusto Pereira Faustino.\n\n\n"; setlocale(LC_ALL, "Portuguese"); //Idioma português int opcao; //declaração de variáveis string nome3; float nota3; topo=-1; //Zerando a Fila menu1: //Identificador do menu principal cout<<" 1 - Fila de Alunos\n"; cout<<" 2 - Fechar\n"; cout<<"\n\n Escolha uma Operação: "; cin>>opcao; switch (opcao){ case 1: system("cls"); do{ cout<<"Operações da Fila\n"; cout<<" 1 - Adicionar aluno\n"; cout<<" 2 - Retirar aluno \n"; cout<<" 3 - Mostrar aluno da fila\n"; cout<<" 4 - Menu principal\n"; cout<<"\n\n Escolha uma Operação: "; cin>>opcao; switch (opcao){ //Escolha de opções do menú da fila case 1: if ((fila_cheia())==1){ system("cls"); cout<<"\t\t\t\tErro - Fila Cheia!"; break; } else{ system("cls"); cout<<"Digite os dados do aluno:\n\nNome:"; cin>>nome3; cout<<"Nota:"; cin>>nota3; colocar_fila(nome3,nota3); break; } case 2: system("cls"); tirar_fila(); break; case 3: system("cls"); mostra_fila(); break; } } while (opcao!=4); system("cls"); goto menu1; case 2: return 0; } while (opcao!=2); return 0; }
Código:
Pilha: #include <stdio.h> #include <stdlib.h> #include <iostream> #include <string.h> #define tam_pilha 5 using namespace std; struct aluno{ string nome; float nota; }; aluno alunos[tam_pilha]; int topo; int pilha_cheia(){ if(topo==(tam_pilha-1)){ return 1; } else { return 0; } } void empilhar(string nome2, float nota2){ topo=topo+1; alunos[topo].nome=nome2; alunos[topo].nota=nota2; cout<<"Cadastro adicionado na pilha com sucesso!"; } int pilha_vazia(){ if(topo== -1){ return 1; }else { return 0; } } void desempilhar(){ if (pilha_vazia()== 1){ cout<<"Erro - Pilha Vazia!!"; }else{ topo=topo-1; cout<<"Cadastro removida da pilha com sucesso!!"; } } void imprime_pilha(){ int i; if (pilha_vazia()==1){ cout<<"\t\t\t\t Erro - Nenhum cadastro registrado!!"; }else{ cout<<"Cadastros empilhados:\n"; for (i=topo;i>=0;i--) { cout<<"\nNome:" <<alunos[i].nome <<"\nNota: "<<alunos[i].nota; } } } int main() { cout <<"Universidade federal do Maranhão - Campus de Balsas\n"; cout <<"Bacharelado Interdisciplinar em Ciencia e Tecnologia\n"; cout <<"Disciplina: Algoritimos e Estruturas de Dados\n"; cout <<"Professor: Antonio Oseas.\n"; cout <<"Aluno: Higor Augusto Pereira Faustino.\n\n\n"; setlocale(LC_ALL, "Portuguese"); int opcao; string nome3; float nota3; aluno alunos[topo]; topo=-1; menu: cout<<" 1 - Cadastro\n"; cout<<" 2 - Sair\n"; cout<<"\n\n Escolha uma Operação: "; cin>>opcao; switch (opcao){ case 1: system("cls"); do{ cout<<"\nOperações Pilha\n"; cout<<" 1 - Empilhar Cadastros\n"; cout<<" 2 - Desempilhar Cadastros\n"; cout<<" 3 - Mostrar cadastros empilhados\n"; cout<<" 4 - Voltar ao menu principal\n"; cout<<"\n\n Escolha uma Operação: "; cin>>opcao; switch (opcao){ case 1: if ((pilha_cheia())==1){ system("cls"); cout<<"Erro - Pilha Cheia!"; break; } else{ system("cls"); cout<<"Digite os dados para o cadastro:\n\nNome: "; cin>>nome3; cout<<"Nota: "; cin>>nota3; empilhar(nome3, nota3); break; } case 2: system("cls"); desempilhar(); break; case 3: system("cls"); imprime_pilha(); break; default: system("cls"); main(); } } while (opcao!=4); system("cls"); case 2: return 0; default: main(); } while (opcao!=2); return 0; }