Buscar

LOCADORA C++

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <iostream>
#include <fstream>
#include <string.h>
#define TAM 100
using namespace std;
 
int main (){
int opcao;
int teste;
int cont=0;
int codcomparador=0; 
ifstream arq1;
ofstream arq2;
arq1.open ("Original.txt");
struct filme {
		int cod;
		char nome [30];
		char gen;
		char status;
		};
filme r[TAM]; 
 
		while (!arq1.eof()) {
			arq1>>(r[cont].cod);
			arq1>>(r[cont].nome);
			arq1>>(r[cont].gen);
			arq1>>(r[cont].status);
			cont++;
		}
	cont--;
	arq1.close ();
	
	cout<< " CONTROLE LOCADORA ";
 
	do{
		cout << " \n 1) Inserir \n 2) Remover \n 3) Alterar \n 4) Pesquisar \n 5) Salvar \n 6) Sair \n";
		cout<< "\nDigite a opcao desejada: ";
		cin>> opcao;
	 	 
		switch (opcao) {
			case 1: 			
		
			cout<< "Digite o codigo do filme que deseja inserir: ";
			fflush(stdin); 
			cin>> ( r[cont].cod);
			 
			int j;
			for (int i=0; i<cont; i++){ 
				do{
					for (int j=0; j<cont; j++){
			 			if (( r[j].cod)	== ( r[cont].cod) ){
							cout<< "\n\nHa um filme com mesmo codigo ja cadastrado!\nTente verificar o codigo cadastrado e digite outro codigo: ";
							cin>> ( r[cont].cod);
							cout<< endl;
						 }
					}
				}
				while	( ( r[j].cod)	== ( r[cont].cod) ); 
			}
			
	 	cout<< "Digite o nome do filme que deseja inserir:\nObs.:Nao use espacos! \nSe necessario utilize 'underline'( _ ) para substituir os espacos. ";
	 	fflush(stdin);
			gets(r[cont].nome);
			cout<< "Digite o genero do filme que deseja inserir:\n(A = aventura, C = comédia, T = terror, D = drama, M = musical, etc.) ";
			fflush(stdin); 
			cin>> (r [cont].gen);
			cout<< "Digite o status momentâneo do filme que deseja inserir: \n(D = disponível, E = emprestado) "; 
			cin>> (r [cont].status);
			cont++;
	
			break;	
		
			case 2: 	
			cout<<"Digite o codigo do filme que deseja remover: ";
			cin>> codcomparador;
		
			for (int i=0; i<cont; i++){
				if( (r[i].cod)	 == codcomparador){
					(r[i].cod) = (r[cont-1].cod);
			strcpy ( (r[i].nome) , (r[cont-1].nome) );
					(r[i].gen) = (r[cont-1].gen);
					(r[i].status) = (r[cont-1].status);
					cont--;				
				} 
			} 
			cout<< "Filme removido com sucesso! ";
					
			break;
			
			case 3: 	
			cout<<"Digite o codigo do filme que deseja alterar: ";
			cin>> codcomparador;
			
			for (int i=0; i<cont; i++){
				if (( r[i].cod)	== codcomparador){
				
	 		cout<< "Digite o novo nome do filme que deseja alterar:\nObs.:Nao use espacos! \nSe necessario utilize 'underline'( _ ) para substituir os espacos. ";
	 		fflush(stdin);
				gets(r[i].nome);
				cout<< "Digite o novo genero do filme que deseja alterarr:\n(A = aventura, C = comédia, T = terror, D = drama, M = musical, etc.) ";
				cin>> (r [i].gen);
				cout<< "Digite o novo status momentâneo do filme que deseja alterar:\n(D = disponível, E = emprestado) "; 
				cin>> (r [i].status);
				}
			}
			
			break;
				
			case 4: 
			
			cout<<"Digite o codigo do filme que deseja pesquisar: ";
			cin>> codcomparador;
			 
			for (int i=0; i<cont; i++){
				if (( r[i].cod)	== codcomparador){
					cout<<"\n Nome do filme: "<<(r [i].nome)<<"\n Codigo do filme: "<< (r [i].cod)<<"\n Genero do filme: "<< (r [i].gen)<<"\n Status de disponibilidade do filme: "<< (r [i].status)<<"\n";
				}
			} 
			
			break;
		 
			case 5:
			arq2.open ("Original.txt");
			
				for (int i=0; i<cont; i++){
					arq2<< (r [i].cod)<<"\t";
					arq2<< (r [i].nome)<<"\t";
					arq2<< (r [i].gen)<<"\t";
			 	arq2<< (r [i].status)<<"\n";
			 	} 
			
			arq2.close();
			cout << "\nDados guardados com sucesso!\n\n";
			 break;			
			 
			case 6:
			arq2.open ("Original.txt");
			
				for (int i=0; i<cont; i++){
					arq2<< (r [i].cod)<<"\t";
					arq2<< (r [i].nome)<<"\t";
					arq2<< (r [i].gen)<<"\t";
			 	arq2<< (r [i].status)<<"\n";
				} 
			
			arq2.close();
			break;
		} 
	} 
	while (opcao!=6);
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais