Dev - C++ - ANGELITA 21 NECESITA AYUDA

 
Vista:
Imágen de perfil de ANGELITA

ANGELITA 21 NECESITA AYUDA

Publicado por ANGELITA (1 intervención) el 24/03/2007 18:19:47
AMIGITOS SOY ANGELITA UNA ESTUDIANTE DE SISTEMAS EN MEDELLIN PERO CON UN PEQUEÑO PROBLEMA EN MIS PRIMERAS CLASES DE PROGRAMACION EN C++ ESTE ES MI PROGRAMA PERO NO SE PORQUE NO ME RECONOCE EL ELSE SI TIENE EJEMPLOS ME AYUDN POR FAVOR
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include <iostream.h>
#include <conio.h>
#include <ctype.h>
void main()
{
int cont;
float edad,total;
char apellido1[15],apellido2[15],nombrealumno[15],apellidopadre[15],apellidopadre2[15],nombrepadre[15];
cont=0;
clrscr();
gotoxy(15,2);cout<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *";
gotoxy(15,3);cout<<"* CURSO DE PROGRAMACION C++ ";
gotoxy(15,4);cout<<"* ============================ ";
gotoxy(15,5);cout<<"* ";
gotoxy(15,6);cout<<"* ";
gotoxy(15,7);cout<<"* Programa para controlar ingreso al jardin MICKY MUOUSE ";
gotoxy(15,8);cout<<"* ";
gotoxy(15,9);cout<<"* FUNDACION UNIVERSITARIA INPAHU ";
gotoxy(15,10);cout<<"* FACULTAD DE NUEVAS TECNOLOGIAS ";
gotoxy(15,11);cout<<"* ";
gotoxy(15,12);cout<<"* Elaborado por: ANGELICA ROMERO ";
gotoxy(15,13);cout<<"* CODIGO:2620411 ";
gotoxy(15,14);cout<<"* ";
gotoxy(15,15);cout<<"* Fecha: 23 MARZO DEL 2007 ";
gotoxy(15,16);cout<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *";
gotoxy(1,18);cout<<"Bienvenido!!! Este programa le ayudara a controlar el ingresso al";
gotoxy(1,19);cout<<"jardin infantil segun la edad de sus estudiantes:";
gotoxy(10,22);cout<<"Presione ENTER para continuar...";
getch();
gotoxy(1,25);cout<<"* INGRESE EL PRIMER APELLIDO DEL ALUMNO: ";
scanf("%s",&apellido1);
gotoxy(1,26);cout<<"* INGRESE EL SEGUNDO APELLIDO DEL ALUMNO: ";
scanf("%s",&apellido2);
gotoxy(1,27);cout<<"* INGRESE EL NOMBRE DEL ALUMNO: ";
scanf("%s",&nombrealumno);
gotoxy(15,28);cout<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *";
gotoxy(1,29);cout<<"* INGRESE EL PRIMER APELLIDO DEL PADRE: ";
scanf("%s",&apellidopadre);
gotoxy(1,30);cout<<"* INGRESE EL SEGUNDO APELLIDO DEL PADRE: ";
scanf("%s",&apellidopadre2);
gotoxy(1,31);cout<<"* INGRESE EL NOMBRE DEL PADRE: ";
scanf("%s",&nombrepadre);
gotoxy(15,32);cout<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *";
gotoxy(1,33);cout<<"* INGRESE LA EDAD DEL ALUMNO ";
scanf("%f",&edad);
total=edad;
if (total<=1)
{total=total;}
else
if (total<=4)
{total=2*total;}
else
if (total<=5)
{total=3*total;}
else
if (total>5)
{total=1000*total;}

gotoxy(5,40);cout<<"EL ALUMNO PERTENECE AL GRUPO DE: "<<total<<" FELICITACIONES.";
getch();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ANGELITA 21 NECESITA AYUDA

Publicado por Leandro (2 intervenciones) el 28/03/2007 23:41:06
Podrías especificar un poco mas acerca del error, como que no te reconoce el else? no será que estas ingresando un numero que te entre directo al if y por lo tanto nunca va a entrar al else.
No encuentro un "error " en las condiciones, lo que si encuentro es un poco de redundancia en ellas, Veamos:
.....
total=edad;
if (total<=1) --->A
{total=total;}
else
if (total<=4) --->B
{total=2*total;}
else
if (total<=5) --->C
{total=3*total;}
else
if (total>5) ---> D
{total=1000*total;}
....
Por ejemplo, en A, cuando es menor que 1, no estoy de acuerdo que hagas lo que haces, porque estas asignando algo a si mismo, entonces es mejor no hacer nada en ese caso.,( osea a total para que le asignaré total, para eso lo dejo como estaba)

Luego en el punto C, si esta en un else de la condicion" if (<=4)" quiere decir que es mayor que 4, en el peor caso, 5, pero nunca va a ser menor que 5.
si bien se cuemple que 5<=5, queda feo ponerlo.
por lo que me urge que el código mejorado seria:

total=edad;
if (total>1)
if (total<=4)
total=2*total;
else
if (total=5)
total=3*total
else
total=1000*total;

Si lo quieres mejorar mas, podrías usar un switch para diferenciar bien los casos
Espero te haya servido,
saludos,
Leandro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ANGELITA 21 NECESITA AYUDA

Publicado por Alberto Vargas (1 intervención) el 30/04/2007 23:51:47
de forma aparente el codigo esta bien realizado, pero como tu estas utilizando varios "if" lo estas limitando a que si no ocurre esto, has esto otro, pero como el programa no va a saber que hacer, porque primero encontrara un else que se ajuste a la condicion que no se cumplio en ese if, y despues encontrara un if, que cumpla la condicion

puedes intentar, eliminando los else, y modificando un poco tus condiciones, porque si total=1 entrara en todos los casos (suponiendo que eso no deba de ser asi) entonces deberas limitar las condiciones dentro del if

unos tips que te puedo recomendar es que no pongas librerias innecesarias, como lo son dos.h ctype.h

luego si estas utilizando el compilador de borland, puedes usar la funcion gets();
para capturar cadenas, o la funcion cin.getline(variable,longitud)

espero te sirva de algo mi ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar