O programa é bem simples,
Temos aqui um pequeno cadastro de aluno, com as funções de guardar os nomes dos alunos, notas e a média.
O programa inicia, você escolhe quantos alunos deseja cadastrar e ele te permite fazer cadastros até esse certo número. Colocamos o espaço máximo de alunos permitido como sendo 10000 alunos, certamente ninguém vai colocar nem 10 mas seria interessante com o banco de dados.
- Código:
#include <iostream>
#include <string.h>
#include <cstdlib>
#include <locale.h>
#include <iomanip>
using namespace std;
// protótipo das funções
int _cadastro();
int _verdados();
//Variaveis globais
int quantidade;
char aluno_nome[10000][121];
float aluno_nota[10000*3];
//menu-função principal
int main()
{
setlocale(LC_ALL, "portuguese");
char opcao[121];
cout<<"\tBem vindo ao cadastro de alunos." <<endl;
cout<<"Digite Cadastro para iniciar cadastro de alunos" <<endl;
cout<<"Digite \"ver\" para ver os alunos cadastrador" <<endl;
cin >> opcao;
fflush(stdin);
if(stricmp(opcao,"cadastro")==0)
_cadastro();
else if (stricmp(opcao,"ver")==0)
_verdados();
else
cout << "Opção inválida." <<endl;
cout<<"Fim do programa de cadastros";
system("PAUSE");
return 0;
}
//Criando a função do cadastro
int _cadastro()
{
int j = 0;
char opc_cad[121];
cout << "Quantos alunos deseja cadastrar?\n";
fflush(stdin);
cin >> quantidade;
for(int n =quantidade; n!=0; n--)
{
system("cls");
cout <<"digite o nome do aluno a ser cadastro: ";
fflush(stdin);
cin.getline(aluno_nome[j],sizeof(aluno_nome));
cout <<"digite a nota do aluno "<<aluno_nome[j] <<" referente ao primeiro bimestre: ";
cin >> aluno_nota[j+0];
cout <<"\nReferente ao segundo bimestre: ";
cin >>aluno_nota[j+1];
cout <<"\nReferente ao terceiro bimestre: ";
cin >>aluno_nota[j+2];
j=j+4;
}
cout<< "\n\tAlunos cadastrados com sucesso";
cout<< "\n\tDeseja ver os alunos cadastrados?";
cout<<"\n\tdigite \"sim\" para ver, e \"não\" para retornar ao menu.";
cin>>opc_cad;
if(stricmp(opc_cad,"sim")==0)
_verdados();
else
return 0;
}
//Criando a função de imprimir os dados
int _verdados()
{
char feedback;
int j = 0;
system("cls");
cout<<"\n________alunos cadastrados_______" <<endl;
for(int i=quantidade; i!=0; i--)
{
cout<<"aluno: "<<aluno_nome[j] <<"\n notas: \n";
cout<<"Primeiro bimestre: " << setprecision(2) << aluno_nota[j+0];
cout<<"\nSegundo bimestre: " << setprecision(2) << aluno_nota[j+1];
cout<<"\nTerceiro bimestre: " << setprecision(2) << aluno_nota[j+2];
cout<<"\nMedia final: " << setprecision(2) << (aluno_nota[j+0]+aluno_nota[j+1]+aluno_nota[j+2])/3 <<endl;
cout<<"____________________________\n";
j=j+4;
}
cout<<"Deseja voltar ao menu?";
cout<<"1- Sim" <<endl;
cout<<"2- Não" <<endl;
cin >> feedback;
do
{
cin >> feedback;
switch(feedback)
{
case '1': main();
case '2': return 0;
default: cout << "\nNão corresponde à nenhuma das opções";
}
}
while(feedback!=1 || feedback!=2);
}
Para entender só precisa saber o básico de c/c++.(funções, variaveis, laços, operadores lógicos e aritméticos..etc).
O programa está um pouco bagunçado, pois não passei a limpo após conseguir resolver a questão da quantidade de alunos que o usuario deseja cadastra, tomei uma surra nisso e acabou que nem consegui fazer o que era meu desejo ao princípio : indexar nos vetores o numero informado pelo usuario. +/- se fosse possível ( não é, eu tentei) char nome_aluno[quantidade][121]; e int nota_aluno[quantidade*3];
entendem?