Autor Tópico: Aula 2 - Structs  (Lida 489 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Aula 2 - Structs
« Online: Março 02, 2019, 02:59:04 am »
Exercício 1

1) Defina uma estrutura que irá representar bandas de música. Essa estrutura deve ter o nome da banda, que tipo de música ela toca, o número de integrantes e em que posição do ranking essa banda está dentre as suas 5 bandas favoritas.

Código: C++
1234567
struct Bandas{    string nome;    string genero;    unsigned int ranking;    unsigned int integrantes;}; 

Exercício 2

2) Construa uma declaração de struct em C++ que possa acomodar dados provenientes de uma tabela conforme o exemplo a seguir EXEMPLO NO PDF ORIGINAL:
Código: C++
1234567891011121314
struct cliente{    string nome;    string logradouro;    unsigned int numero;    string bairro;    string complemento;    string cidade;    string CEP;    string tel1;    string tel2;    string tel3; }; 

Exercício 3
3) Usando a estrutura da questão 1, crie 5 bandas, posicione-as no ranking e imprima, na ordem correta do ranking, todas as informações de cada banda. Por exemplo:
Nome da Banda: Banda Tal
Tipo de Música: Pop
Quantidade de integrantes: 10
Posição no ranking: 1
Código: C++
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
#include <iostream>#include <string.h>#include <locale.h> //necessário para usar setlocale using namespace std; int main(){     setlocale(LC_ALL,"");  //me permite usar acentuação     struct Bandas{        string nome;        string genero;        unsigned int ranking;        unsigned int integrantes;     };    Bandas banda[5];     // são estas declarações que causam o Warning "extended initializer lists only available with..."    //Para eliminar os warnings no dev c++ é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"    banda[0] = {"Aerosmith", "Rock",5, 9};    banda[1] = {"Fall Out Boy", "Alternative Rock",3, 8};    banda[2] = {"Coldplay", "Pop Rock",4, 5};    banda[3] = {"Maroon 5", "Pop Music",2, 8};    banda[4] = {"Bon Jovi", "Pop Rock",1, 14};     for (int i=1;i<6;i++){//Procuro sequencialmente pelo ranking        for (int j=0;j<5; j++){//em cada um dos registros            if (banda[j].ranking==i){ //e quando encontrar o correto imprimo            //    cout << "Banda " << i << ":" << '\n';                cout << "Ranking: "<< banda[j].ranking << '\n';                cout << "Nome: " << banda[j].nome << '\n';                cout << "Genero: " << banda[j].genero << '\n';                cout << "integrantes: " << banda[j].integrantes << '\n';                 cout << '\n';                break;            }         }    } return 0;} 

Exercício 4
4) Defina uma estrutura que irá representar alunos em uma faculdade que contenha o nome, curso, período, disciplinas atuais e notas de uma disciplina que o aluno está pagando atualmente. Crie três alunos e depois imprima, assim como na questão 3, os dados do aluno e sua média.
Código: C++
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
#include <iostream>#include <string.h>#include <locale.h> //necessário para usar setlocale using namespace std; int main(){     setlocale(LC_ALL,"");  //me permite usar acentuação     struct Alunos{        string nome;        string curso;        unsigned int periodo;        string disciplinas[4];        float notas[3];     };    Alunos aluno[3];     // são estas declarações que causam o Warning "extended initializer lists only available with..."    //Para eliminar os wanrings no dev c++ é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"    aluno[0] = {"Jefferson Ryan", "ADS",2, "Estruturas de Dados", "Matemática Computacional", "Projeto de Bancos de Dados", "Usabilidade de Interfaces", 4.5, 7, 10};    aluno[1] = {"Douglas Amâncio", "CC",2, "Algoritmos", "Programação 1", "Projeto de Bancos de Dados", "Usabilidade de Interfaces", 10, 3, 10};    aluno[2] = {"Fulano Beltrano", "SI",2, "Lingua Portuguesa", "Programação 1", "Organização e arquitetura de Computadores", "Usabilidade de Interfaces", 4.5, 8, 0};      for (int i=0;i<3;i++){        cout << "Aluno " << i+1 << ":" << '\n';        cout << "Nome: " << aluno[i].nome << '\n';        cout << "Curso: " << aluno[i].curso << '\n';        cout << "Periodo: " << aluno[i].periodo << endl;        cout << "Disciplina 1: "<< aluno[i].disciplinas[0] << '\n';        cout << "Disciplina 2: "<< aluno[i].disciplinas[1] << '\n';        cout << "Disciplina 3: "<< aluno[i].disciplinas[2] << '\n';        cout << "Disciplina 4: "<< aluno[i].disciplinas[3] << '\n';         float nota1=aluno[i].notas[0];        float nota2=aluno[i].notas[1];        float nota3=aluno[i].notas[2];        cout << "nota AV1: " << nota1 << '\n';        cout << "nota AV2: " << nota2 << '\n';        cout << "nota AV3: " << nota3 << '\n';        cout << '\n';         unsigned int indiceMenor=0;        if (nota2<nota1) indiceMenor=1;        if (nota3<aluno[i].notas[indiceMenor])    indiceMenor=2;         cout << '\n' << "O menor valor é o da AV: " << indiceMenor+1 << '\n' ;         //Ignoro o menor valor, somo os restantes e divido por dois        float k=0;        if (indiceMenor==0) {k=((nota2+nota3)/2);};        if (indiceMenor==1) {k=((nota1+nota3)/2);};        if (indiceMenor==2) {k=((nota1+nota2)/2);};         cout << "Média: " << k << '\n' ;        cout << '\n';    } return 0;} 
« Última modificação: Março 03, 2019, 04:09:59 am por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

FORUM.RYAN.COM.BR

Aula 2 - Structs
« Online: Março 02, 2019, 02:59:04 am »