Olha esse aqui eu fiz algumas alterações e pelo menos rodo.
//Denunciar post
//Postado May 29, 2012
//Pessoal sou novo aki!
//estou com dificuldade para completa um trabalho da faculdade q é para cria um sistema para um Hotel mas não estou conseguindo mudar nem editar o status de check-in para Check-out nem pesquisar quem esta em check-in.
//vou mostrar o algoritimo.
#include <string.h>
#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <ctype.h>
using namespace std;
struct Cliente{
char codigo[10];
char nome[50];
char telefone[16];
char celular[16];
char email[50];
};
struct Comodo{
char codigo[10];
char descricao[80];
char valor[10];
};
struct Hospedagem{
char numero[10];
char cod_cliente[10];
char cod_comodo[10];
char data_entrada[10];
char data_saida[10];
char status[1]; //1 - check-in; 2 - check-out
};
Cliente vetCliente[3];
Comodo vetComodo[3];
Hospedagem vetHospedagem[3];
int vIndice_Cliente;
int vIndice_Comodo;
int vIndice_Hospedagem;
// MENU DO SISTEMA
int geraMenu(){
int vOpcao;
printf("\n\t\MENU: \n\n");
printf("\t1 - Adicionar Novo Cliente");
printf("\n\t2 - Listar Todos os Cliente");
printf("\n\t3 - Pesquisar Cliente");
printf("\n\t4 - Adicionar Comodo");
printf("\n\t5 - Listar Comodo");
printf("\n\t6 - Hospedagem ");
printf("\n\t7 - Listar Check-in ");
printf("\n\t8 - Check-out ");
printf("\n\t9 - Listar Check-out ");
printf("\n\t10 - Sair ");
printf("\n\n ");
printf("\n\tDigite uma Opcao: ");
scanf ("%d",&vOpcao);
return vOpcao;
}
void titulo (){
system ("cls");
printf("#**************************************************************************#\n");
printf("# SISTEMA HOTEL #\n");
printf("# #\n");
printf("# #\n");
printf("# Disciplina: Algoritmos e Programacao #\n");
printf("# #\n");
printf("#**************************************************************************#\n");
}
void cadastrar_Cliente (){
if (vIndice_Cliente < 3){
titulo();
fflush(stdin);
printf("\n\n \tCADASTRO DE CLIENTE\n\n"); //SDFSDFASFDAS
Cliente vClienteBuffer;
printf("Informe o Codigo do Cliente: ");
gets(vClienteBuffer.codigo);
printf("Informe o Nome do Cliente: ");
gets(vClienteBuffer.nome);
printf("Informe o Telefone: ");
gets(vClienteBuffer.telefone);
printf("Informe o Celular: ");
gets(vClienteBuffer.celular);
printf("Informe o e-mail: ");
gets(vClienteBuffer.email);
vetCliente[vIndice_Cliente] = vClienteBuffer;
vIndice_Cliente++;
printf("\n\n Cliente Adicionado com sucesso.\n");
}else{
printf("\n\n Limite de Clientes Ultrapassado...\n");
}
}
void listar_Clientes(){
titulo();
int i;
for(i = 0; i < vIndice_Cliente; i++){
printf("\n DADOS DO CLIENTE: %s - %s\n", vetCliente->codigo, vetCliente->nome);
printf("______________________________________________________\n");
printf("Telefone: \n");
printf("%s \n", vetCliente->telefone);
printf("______________________________________________________\n");
printf("Celular:\n ");
printf("%s \n", vetCliente->celular);
printf("______________________________________________________\n");
printf("e-mail:\n ");
printf("%s \n", vetCliente->email);
printf("======================================================\n");
}
puts("\n\n");
}
void pesquisar_Cliente(){
titulo();
printf("\n\n Pesquisar por NOME.\n");
char vExpressaoBusca[50];
printf("\n\n Digite o nome ou Codigo a pesquisar: ");
fflush (stdin);
gets(vExpressaoBusca);
int i;
for(i = 0; i < vIndice_Cliente; i++){
if(strcasecmp(vExpressaoBusca,vetCliente->nome)==0){
printf("\n DADOS DO CLIENTE: %s - %s\n", vetCliente->codigo, vetCliente->nome);
printf("______________________________________________________\n");
printf("Telefone: \n");
printf("%s \n", vetCliente->telefone);
printf("______________________________________________________\n");
printf("Celular:\n ");
printf("%s \n", vetCliente->celular);
printf("______________________________________________________\n");
printf("e-mail:\n ");
printf("%s \n", vetCliente->email);
printf("======================================================\n");
}
}
puts("\n\n");
}
void cadastrar_Comodo (){
titulo();
if (vIndice_Comodo < 3){
printf("\n\n \tCADASTRO DE COMODO\n\n");
Comodo vComodoBuffer;
printf("Informe o codigo do comodo: ");
fflush(stdin);
gets(vComodoBuffer.codigo);
printf("Informe a descricao: ");
gets(vComodoBuffer.descricao);
printf("Informe o valor da diaria: ");
gets(vComodoBuffer.valor);
vetComodo[vIndice_Comodo] = vComodoBuffer;
vIndice_Comodo++;
printf("\n\n Comodo Adicionada com sucesso.\n");
}else{
printf("\n\n Limite de Comodos Ultrapassado...\n");
}
}
void listar_Comodo(){
titulo();
int i;
printf("\n COMODOS CADASTRADAS: \n");
printf("############################################################\n");
for(i = 0; i < vIndice_Comodo; i++){
printf("COMODO: \n\n");
printf("Codigo ...............: %s \n", vetComodo->codigo);
printf("Descricao ............: %s \n", vetComodo->descricao);
printf("Valor da Diaria ......: %s \n", vetComodo->valor);
}
printf("############################################################\n");
puts("\n\n");
}
void cadastrar_hospedagem (){
titulo();
if (vIndice_Hospedagem < 3){
printf("\n\n \t HOSPEDAGEM \n\n");
Hospedagem vHospedagemBuffer;
printf("Informe o numero da hospedagem: ");
fflush(stdin);
gets(vHospedagemBuffer.numero);
printf("Informe o codigo do cliente: ");
gets(vHospedagemBuffer.cod_cliente);
printf("Informe o codigo do comodo: ");
gets(vHospedagemBuffer.cod_comodo);
printf("Informe a data de entrada: ");
gets(vHospedagemBuffer.data_entrada);
printf("Informe o status da hospedagem (1 - check-in; 2 - check-out): ");
gets(vHospedagemBuffer.status);
vetHospedagem[vIndice_Hospedagem] = vHospedagemBuffer;
vIndice_Hospedagem++;
printf("\n\n Hospedagem realizado com sucesso.\n");
}else{
printf("\n\n Limite de Hospedagem Ultrapassado...\n");
}
}
void listar_Check_in(){
titulo();
int i;
printf("\n EMPRESTIMO REALIZADO: \n");
printf("############################################################\n");
for(i = 0; i < vIndice_Hospedagem; i++){
if(strcmp(vetHospedagem->status, "1")){
printf("HOSPEDAGEM: \n\n");
printf("Codigo ................: %s \n", vetHospedagem->numero);
printf("Cliente ...............: %s \n", vetHospedagem->cod_cliente);
printf("Comodo ................: %s \n", vetHospedagem->cod_comodo);
printf("Data de Entrada .......: %s \n\n", vetHospedagem->data_entrada);
}
}
printf("############################################################\n");
puts("\n\n");
}
void listar_Check_out(){
titulo();
int i;
printf("\n EMPRESTIMO REALIZADO: \n");
printf("############################################################\n");
for(i = 0; i < vIndice_Hospedagem; i++){
if(vetHospedagem->status == "2"){
printf("HOSPEDAGEM: \n\n");
printf("Codigo ................: %s \n", vetHospedagem->numero);
printf("Cliente ...............: %s \n", vetHospedagem->cod_cliente);
printf("Comodo ................: %s \n", vetHospedagem->cod_comodo);
printf("Data de Entrada .......: %s \n\n", vetHospedagem->data_entrada);
}
}
printf("############################################################\n");
puts("\n\n");
}
// FUNCAO PRINCIPAL DO SISTEMA
int main ()
{
system ("color 0F");
vIndice_Cliente = 0;
vIndice_Comodo = 0;
vIndice_Hospedagem = 0;
int vOpcao;
while (true){
titulo();
vOpcao = geraMenu(); // como sendo um subalgoritimo
system("cls");
switch (vOpcao){
case 1:
cadastrar_Cliente();
system ("PAUSE");
break;
case 2:
listar_Clientes();
system ("PAUSE");
break;
case 3:
pesquisar_Cliente();
system ("PAUSE");
break;
case 4:
cadastrar_Comodo();
system ("PAUSE");
break;
case 5:
listar_Comodo();
system ("PAUSE");
break;
case 6:
cadastrar_hospedagem();
system ("PAUSE");
break;
case 7:
listar_Check_in();
system ("PAUSE");
break;
case 8:
//funcao para cchek-out
system ("PAUSE");
break;
case 9:
listar_Check_out();
system ("PAUSE");
break;
case 10:
exit(0);
default:
printf("Opcao invalida.\nTente novamente.\n\n");
system ("PAUSE");
break;
}
}
system ("PAUSE");
return EXIT_SUCCESS;
}