[ Foro de C++ ]

Problema con la Restricción de Edad hecha con If-Else y Struct

27-Nov-2018 00:17
Invitado (Rodrigo Dom?nguez)
1 Respuestas

Como le hago para que acepte el caso de ser Mayor de Edad?

Lo ejecuto y aun si le pongo 128 años, me lo toma como menor de edad.

 
#include<conio.h> //Para los "getch" y "getche"
#include<iostream>	//Para las funciones de "cout", "cin", y "endl"
#include<stdio.h>
#include<stdlib.h>
 
using namespace std;
 
const int PRECIO = 40; // Los Precios, determinados con Constantes, se les puede aplicar un descuento con una función fuera del main
 
struct usuario{	//Los Datos del Usuario
char nombre[100];
int edad;
};
 
float registro();	
int main()
{
float resu;
char res;
int opcion;
usuario regis;
resu = registro();
 
cout<<"Desea Comprar un Boleto? (N)o / (S)i: ";
res = getche();
while(res == 'N' || res == 'n'){
cout<<"\n\nOk, que tenga un buen dia.";
return 0;
}
 
while(res == 'S' || res == 's'){
cout<<"\n\nFunciones Disponibles\n\n"<<endl;
cout<<"1. Venom"<<endl;
cout<<"2. Animales Fantasticos, Los Crimenes de Grindelwald"<<endl;
cout<<"3. Halloween"<<endl;
cout<<"4. Los Vengadores: Infinity War"<<endl;
cout<<"5. Wifi Ralph"<<endl;
cout<<"0. Salir"<<endl;
 
cout<<"\nQue quiere ver?: ";
cin>>opcion;
 
if(opcion == 1);	//Es decir, Si escogen ver Venom. Si son menores de Edad, no podrán entrar.
{cout<<"\nUsted quiere ver la de Venom..."<<endl;
if(regis.edad<18){
cout<<"Lo siento pero no puedes verla, esta bien grotesca para alguien como usted"<<endl;
}
else { //Aquí el problema
cout<<"Perfecto, son $40"<<endl;
}
return 0;
}
 
usuario regis;
float res; 
res = registro();
getch();
}
 
return 0;
}
 
float registro(){	//Donde pide los datos del usuario para llenar el "struct"
usuario regis;
printf("Pon tu nombre: ");
gets(regis.nombre);
printf("Pon tu edad: ");
scanf("%d",®is.edad);
return 0;
}
 




Ah, y si pueden decirme como aplicar un descuento como estudiante en forma de Función fuera del Int, y Conectar la Constante (40) al diálogo del Precio, se los agradecería aún más.


04-Dec-2018 20:27
Nacho Cabanes (+37)

En "float registro(){", la variable "regis" es local, por lo que no se modifica ningún dato externo. Tendrás que devolver el valor del registro, en vez de 0, o usar una variable global, según cómo espere tu profesor que lo hagas.






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...