[ Foro de C++ ]

No me sale la opción actualizar y el reporte final, que debe hacer o donde está el error, necesito ayuda

11-Nov-2019 06:58
Invitado (Juan)
1 Respuestas

#include <vector>
#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <fstream>
#include <cstdlib>
#include <conio.h>

#define ENTER 13
#define BACKSPACE 8

#define ran 30
#define paci "Pacientes.txt"
#define imcia "Imc's.txt"
#define users "usuarios.txt"

using namespace std;

/*Variables Mundiales*/
int cont=0;

int segundos=5;
int op,i;
int ra=0;
char cons;
bool usuar=false;

string usuars,pass;

FILE *Fich;

//ifstream leer;

/*Estructuras*/

vector<string> usuarios;
vector<string> claves;


/*Pacientes*/
struct paciente{
int codigo;
char nombre[ran];
char apel[ran]; /*Apellido*/
double tel;
float imci; /*Imc Inicial*/
float imca; /*Imc Actual*/

float edad;
float alt; /*Altura*/
int k; /*Peso en kilogramos*/
} pac[ran];


/*Funciones*/


/*Entrada al programa*/
void Bienvenido(){ system("mode con: cols=85 lines=35"); system("color 0C");

cout<<"\t\t";
cout<<"           ;;;;;;;;;            ;;;;;;;;;;\n\t\t";Sleep(300);
cout<<"        ;;;;;;;;;;;;;         ;;;;;;;;;;;;;;\n\t\t";Sleep(250);
cout<<"       ;;;;;;;;;;;;;;;       ;;;;;;;;;;;;;;;;\n\t\t";Sleep(200);
cout<<"      ;;;;;;;;;;;;;;;;;     ;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(200);
cout<<"     ;;;;;;;;;;;;;;;;;;;   ;;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(200);
cout<<"    ;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(200);
cout<<"   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(200);
cout<<"   ;;;;;;;;;;;;;;;;;;;      ;;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(150);
cout<<"   ;;;;;;;;;;;;;;;;;;;      ;;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(150);
cout<<"   ;;;;;;;;;;;;;;;;;;;      ;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(150);
cout<<"    ;;;;;;;;;;;;;;;;;;      ;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(150);
cout<<"     ;;;;;;;;;;;;                ;;;;;;;;;;;;\n\t\t";Sleep(150);
cout<<"      ;;;;;;;;;;;                ;;;;;;;;;;;\n\t\t";Sleep(150);
cout<<"       ;;;;;;;;;;                ;;;;;;;;;;\n\t\t";Sleep(150);
cout<<"        ;;;;;;;;;;;;;;      ;;;;;;;;;;;;;;\n\t\t";Sleep(100);
cout<<"         ;;;;;;;;;;;;;      ;;;;;;;;;;;;;\n\t\t";Sleep(100);
cout<<"          ;;;;;;;;;;;;      ;;;;;;;;;;;;\n\t\t";Sleep(100);
cout<<"           ;;;;;;;;;;;      ;;;;;;;;;;;\n\t\t";Sleep(100);
cout<<"            ;;;;;;;;;;      ;;;;;;;;;;\n\t\t";Sleep(100);
cout<<"             ;;;;;;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(100);
cout<<"              ;;;;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(100);
cout<<"               ;;;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(100);
cout<<"                ;;;;;;;;;;;;;;;;;;\n\t\t";Sleep(50);
cout<<"                 ;;;;;;;;;;;;;;;;\n\t\t";Sleep(50);
cout<<"                  ;;;;;;;;;;;;;;\n\t\t";Sleep(50);
cout<<"                   ;;;;;;;;;;;;\n\t\t";Sleep(50);
cout<<"                    ;;;;;;;;;;\n\t\t";Sleep(50);
cout<<"                     ;;;;;;;;\n\t\t";Sleep(50);
cout<<"                      ;;;;;;\n\t\t";Sleep(50);
cout<<"                       ;;;;\n\t\t";Sleep(50);
cout<<"                        ;;\n\t\t";Sleep(50);
cout<<endl;
cout << "\t\t\t\t     CARGANDO...\n";
for(int i=0; i<=84; i++){
       cout << "_";
}cout<<"\n";
for(int i=0; i<=84; i++){
       cout<<char(219);
       Sleep(segundos*1500/80);
   }
Sleep(2000);
}


/*Administrador*/  /*opcional*/
void userpass(){

usuarios.push_back("Admin");
claves.push_back("Any");

Bienvenido();

do{
system("mode con: cols=80 lines=20");
// cout<<"Conf (ENTER)";
cout<<"\n\n\n\t\t\t\t"<<endl;
cout<<"\n\n\t\t._______________._______________________________.\n";
cout<<"\t\t| | |\n";
cout<<"\t\t| Usuario: | ";getline(cin,usuars);
cout<<"\t\t| | |\n";
cout<<"\t\t|===============|===============================|\n";
cout<<"\t\t| | |\n";
cout<<"\t\t| Password: | ";cons = getch();
pass = "";
if(cons==ENTER){
//first();
}
while(cons!=ENTER){
if(cons!=BACKSPACE){
pass.push_back(cons);
cout<<"*";
}else{
if(pass.length()>0){
cout<<"\b \b";
pass=pass.substr(0,pass.length()-1);
}
}
cons=getch();
}
if(usuarios[0]==usuars && claves[0]== pass){
usuar=true;
break;
}

Sleep(300);
if(!usuar){
cout << "\n\n\tEl usuario y/o password son incorrectos" << endl;
cin.get();
cont++;
}

}while (usuar == false && cont < 3);
cout<<" |\n";
cout<<"\t\t| | |\n";
cout<<"\t\t*===============*===============================*\n";

if (usuar == false) {
cout<<" |\n";
cout<<"\t\t| | |\n";
cout<<"\t\t*===============*===============================*\n";
cout << "\n\tUsted no pudo ingresar al sistema. ADIOS" << endl;
exit(1);
} else { Sleep(1000);
cout << "\n\n\t\t\t\tBienvenido al sistema!" << endl;
}
Sleep(2000);
system("pause");
system("cls");
}

/*Funciones Menu Principal*/

/*Estado del paciente*/
//void est(int o){
//
//
//
//}

/*Ingreso de paciente*/
void ing(){ system("cls");

Fich=fopen(paci,"wt");
cout<<"\n Cuantos pacientes a ingresar: ";
cin>>ra;

for(i=0;i<ra;i++){
if(pac[i].codigo==100){
cout<<"\n\n Edad: "; cin>>pac[i].edad;
if(pac[i].edad>19 && pac[i].edad<66){
pac[i].codigo=pac[i-1].codigo+1;
fprintf(Fich,"%d\n",pac[i].codigo);
cout<<"\n Codigo: "<<pac[i].codigo;
fprintf(Fich,"%s\n",pac[i].codigo);
cout<<"\n Nombre: "; cin>>pac[i].nombre;
fprintf(Fich,"%s\n",pac[i].nombre);
cout<<"\n Apellido: "; cin>>pac[i].apel;
fprintf(Fich,"",pac[i].apel);
cout<<"\n Telefono: "; cin>>pac[i].tel;
fprintf(Fich,"%d\n", pac[i].tel);
fprintf(Fich,"%d\n",pac[i].edad);
cout<<"\n Altura (Metros): "; cin>>pac[i].alt;
fprintf(Fich,"%f\n",pac[i].alt);
cout<<"\n Peso (Kilos): "; cin>>pac[i].k;
fprintf(Fich,"%f\n",pac[i].k);

pac[i].imci=pac[i].k/(pac[i].alt*pac[i].alt);
cout<<"\n Imc (Inicial):"<<pac[i].imci;
fprintf(Fich,"%f\n",pac[i].imci);
Sleep(500);


cout<<"\n\t Estado: ";
if(pac[i].imci<18.5){
cout<<"\n\t Bajo Peso:";
if(pac[i].imci<16.0){
cout<<"\n\t\t Delgadez severa...";
}else if(pac[i].imci>=16.0 && pac[i].imci<=16.99){
cout<<"\n\t\t Delgadez Moderada";
}else if(pac[i].imci>=17.00 && pac[i].imci<=18.49){
cout<<"\n\t\t Delgadez Leve";
}
}else if(pac[i].imci>=18.5 && pac[i].imci<=24.99){
cout<<"\n\t Peso normal";
}else if(pac[i].imci>=25 && pac[i].imci<29.99){
cout<<"\n\t SobrePeso:";
Sleep(2000);
cout<<"\n\t\tPreobeso";
}else if(pac[i].imci>=30){
cout<<"\n\tObesidad: ";
if(pac[i].imci>=30 && pac[i].imci<=34.99){
cout<<"\n\t\tObesidad Leve";
}else if(pac[i].imci>=35 && pac[i].imci<=39.99){
cout<<"\n\t\tObesidad Mediana";
}else if(pac[i].imci>=40){
cout<<"\n\t\tObesidad morbida";
}
}
}else{
cout<<"\n Limite establecido, sobrepasado..."<<endl;
}
}else{
ra++;
}
}
cout<<"\n\n";
system("pause");
fclose(Fich);

/*

*/
}


//Actualizar//

void actualizar()
{





}


void reporte()
{



}

/*Eliminar pacientes*/
void supr(void){
do{
printf("\n\n Codigo del paciente?\n ->"); cin>>op;
i=0; op-=1;
Sleep(2000);
while(usuar==true){
if(op==pac[i].codigo){
usuar=true;
printf("\n\t Eliminar al paciente: %s ?",pac[i].nombre);
cout<<"1) Si\n 0) Otro paciente?\n -> "; cin>>op;
if(op==1){ usuar=true;
pac[i].codigo=0;
// pac[i].nombre=" ";
// pac[i].apel=" ";
// pac[i].tel=0;
// pac[i].edad=0;
// pac[i].alt=0;
// pac[i].k=0;
pac[i].imci=0;
pac[i].imca=0;
}else{
printf("\n\n Codigo del paciente?\n ->"); cin>>op; Sleep(200);
cout<<"\n\t\tCargando..."; Sleep(1200);
op-=1;
}
i++;
}
}
}while(op==0);
}

/*Consulta General*/
void con(){
i=0;
while(pac[i].codigo!=0){
cout<<" Codigo: "<<pac[i].codigo<<endl;
cout<<" Nombre: "<<pac[i].nombre<<endl;
cout<<" Apellido: "<<pac[i].apel<<endl;
cout<<" Telefono"<<pac[i].tel<<endl;
cout<<"\n Edad:"<<pac[i].edad<<endl;
cout<<" Altura: "<<pac[i].alt<<endl;
cout<<" Peso: "<<pac[i].k<<endl;
cout<<" Imc (Inicial): "<<pac[i].imci<<endl;
i++;
}
}

void conpa(void){
printf("\n\n Codigo del paciente -->"); cin>>op;
for(i=0;i<op;i++){

cout<<"\n Codigo: "<<pac[i].codigo<<endl;
cout<<"-----------------\n";
cout<<"\n Nombre: "<<pac[i].nombre;
cout<<"\n Apellido: "<<pac[i].apel;
cout<<"\n Telefono: "<<pac[i].tel;
cout<<"\n Altura: "<<pac[i].alt;
cout<<"\n Peso (Kilos): "<<pac[i].k;
cout<<"\n Imc (Inicial): "<<pac[i].imci;
cout<<"\n Imc (Actual): "<<pac[i].imca;
}
}

/*Menu Principal*/
int menu (int x){
switch(x){
case 1: ing(); break;  /*Ingresar Datos*/
case 2:break;    /*Actualizacion de datos*/
case 3: supr(); break;  /*Actualizacion de datos*/
case 4:break;   /*Reporte General*/
case 5:break;   /*Consulta de paciente*/
case 0: Sleep(2000);
cout<<"\n\n\t Nos vemos!";
return 0;
break;
}
}


/*Principal*/
int main(){ system("color 09");

userpass();

do{ system("cls"); system("mode con: cols=75 lines=25");
printf("\t\t\t   Clinica de Nutricion\n\t\t\t   La se;ora de negocios\n\n\n"
"\t\t\t\tBienvenido \n\n");
cout<<"\n\n\t\t___________________________________________"<<endl;
printf("\n\t\t\t Elija una de las opciones");Sleep(200);
printf("\n\t\t\t1) Paciente nuevo."); Sleep(200);
printf("\n\t\t\t2) Actualizacion de datos.");Sleep(200);
printf("\n\t\t\t3) Eliminar Paciente.");Sleep(200);
printf("\n\t\t\t4) Reporte General.");Sleep(200);
printf("\n\t\t\t5) Consulta Paciente.");Sleep(200);
printf("\n\t\t\t6) Generar Archivo (Impresion).");Sleep(200);
printf("\n\t\t\t0) Salir");
cout<<"\n\t\t>>>>>>>>>>>>>>>>>>>>>.<<<<<<<<<<<<<<<<<<<<<"<<endl;
Sleep(300); printf("\n\n\t\t ->: "); cin>>op;
while(op<0||op>6){
cout<<"\n Error!, Opcion: "; cin>>op;
}
menu(op);

// cout<<"Regresar?: ";        /*Opcional*/
// cout<<"\n Si(1)\n No(0)"; cin>>op;
// while(op<0||op>1){
// cout<<"\n\nError!\n\tOpcion: "; cin>>op;
// }
}while(op==1);
return 0;
}


11-Nov-2019 08:37
Nacho Cabanes (+62)

Que quieres decir con que "no te sale"? La opción de actualizar no hace nada porque es opción del "switch" está vacía.¿Te refieres a que no sabes cómo implementarla?






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)