Alguien sabe por que no compila bien este programa??
Necesito ayuda, muchas gracias por adelantado.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.c>
#include <math.h>
#define pi 3.141592
void Calcular(char Fig,char opcion)
{
int lado, altura, radio;
switch (Fig)
{ case 'C': switch (opcion)
{ case 'A':puts("Area del Cuadrado");
puts("Introduzca el valor del lado:");
scanf("%d",&lado);
printf("El area vale... %dn",lado*lado);
break;
case 'P':puts("Perimetro del Cuadrado");
puts("Introduzca el valor del lado :");
scanf("%d",&lado);
printf("El perimetro vale... %dn",4*lado);
break;
case 'M':puts("Area y Perimetro del Cuadrado");
puts("Introduzca el valor del lado:");
scanf("%d",&lado);
printf("El area vale... %d y el perimetro... %dn",lado*lado,4*lado);
break;
break;
}
{case 'T': switch (opcion)
{case 'A': puts("Calculo del area del triangulo");
puts("Introduzca el valor de la altura y el lado:");
scanf("%d %d" , &altura, &lado);
printf("El valor del area es...%f n",0.5*altura*lado);
break;
case 'P': puts("Calculo del perimetro del triangulo equilatero");
puts("Introduzca el valor del lado:");
scanf("%d", &lado);
printf("El valor del perimetro es...%f",lado*3);
break;
case 'M': puts("Calculo del area y el perimetro del triangulo");
puts("Introduzca el valor del lado y de la altura:");
scanf("%d %d", &lado, &altura);
printf("El valor del area es: %f y el del perimetro es: %f",0.5*altura*lado,lado*3);
break;} /* Fin del switch Triangulo */
break; /* fin de la opcion Triangulo */
case 'O': switch (opcion)
{ case 'A':puts("Calcular el area del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del area es:%f",pi*radio*radio);
break;
case 'P': puts("Calcular el perimetro del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del perimetro es: %f",2*pi*radio);
break;
case 'M':puts("Calcular el area y el perimetro del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del perimetro es: %f , y el del area es: %f",2*pi*radio,pi*radio*radio);
break;
}
break;
}
case 'H': switch (opcion)
{ case 'A':
case 'P':
case 'M':
break;
}
case 'S': switch (opcion)
{ case 'A':
case 'P':
case 'M':
break;
}
}
}
void Figura(char Fig)
{
char opcion;
do {
puts("Opcion: ");
switch (Fig)
{ case 'C':puts("Cuadrado");
break;
case 'T':puts("Triangulo");
break;
case 'O':puts("circulO");
break;
case 'H':puts("Hexagono");
break;
case 'S':puts("Sector circular");
break;
}
puts("Area");
puts("Perimetro");
puts("aMbos");
puts("Volver al menu principal");
opcion=getchar();
opcion=toupper(opcion);
Calcular(Fig,opcion);
} while (opcion!='V');
}
void main (void)
{
char opcion;
do {
puts ("Este programa calcula las areas y perimetros de las siguientes figuras:");
puts("Cuadrado");
puts("Triangulo equilatero");
puts("circulO");
puts("Hexagono");
puts("Sector circular");
puts("Finalizar");
puts("Seleccionar la opcion que desee por la letra resaltada en mayuscula");
opcion=getchar();
opcion=toupper(opcion);
switch (opcion)
{ case 'C':Figura('C');
break;
case 'T':Figura('T');
break;
case 'O':Figura('O');
break;
case 'H':Figura('H');
break;
case 'S':Figura('S');
break;
}
}
while (opcion!='F');
system ("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.c>
#include <math.h>
#define pi 3.141592
void Calcular(char Fig,char opcion)
{
int lado, altura, radio;
switch (Fig)
{ case 'C': switch (opcion)
{ case 'A':puts("Area del Cuadrado");
puts("Introduzca el valor del lado:");
scanf("%d",&lado);
printf("El area vale... %dn",lado*lado);
break;
case 'P':puts("Perimetro del Cuadrado");
puts("Introduzca el valor del lado :");
scanf("%d",&lado);
printf("El perimetro vale... %dn",4*lado);
break;
case 'M':puts("Area y Perimetro del Cuadrado");
puts("Introduzca el valor del lado:");
scanf("%d",&lado);
printf("El area vale... %d y el perimetro... %dn",lado*lado,4*lado);
break;
break;
}
{case 'T': switch (opcion)
{case 'A': puts("Calculo del area del triangulo");
puts("Introduzca el valor de la altura y el lado:");
scanf("%d %d" , &altura, &lado);
printf("El valor del area es...%f n",0.5*altura*lado);
break;
case 'P': puts("Calculo del perimetro del triangulo equilatero");
puts("Introduzca el valor del lado:");
scanf("%d", &lado);
printf("El valor del perimetro es...%f",lado*3);
break;
case 'M': puts("Calculo del area y el perimetro del triangulo");
puts("Introduzca el valor del lado y de la altura:");
scanf("%d %d", &lado, &altura);
printf("El valor del area es: %f y el del perimetro es: %f",0.5*altura*lado,lado*3);
break;} /* Fin del switch Triangulo */
break; /* fin de la opcion Triangulo */
case 'O': switch (opcion)
{ case 'A':puts("Calcular el area del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del area es:%f",pi*radio*radio);
break;
case 'P': puts("Calcular el perimetro del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del perimetro es: %f",2*pi*radio);
break;
case 'M':puts("Calcular el area y el perimetro del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del perimetro es: %f , y el del area es: %f",2*pi*radio,pi*radio*radio);
break;
}
break;
}
case 'H': switch (opcion)
{ case 'A':
case 'P':
case 'M':
break;
}
case 'S': switch (opcion)
{ case 'A':
case 'P':
case 'M':
break;
}
}
}
void Figura(char Fig)
{
char opcion;
do {
puts("Opcion: ");
switch (Fig)
{ case 'C':puts("Cuadrado");
break;
case 'T':puts("Triangulo");
break;
case 'O':puts("circulO");
break;
case 'H':puts("Hexagono");
break;
case 'S':puts("Sector circular");
break;
}
puts("Area");
puts("Perimetro");
puts("aMbos");
puts("Volver al menu principal");
opcion=getchar();
opcion=toupper(opcion);
Calcular(Fig,opcion);
} while (opcion!='V');
}
void main (void)
{
char opcion;
do {
puts ("Este programa calcula las areas y perimetros de las siguientes figuras:");
puts("Cuadrado");
puts("Triangulo equilatero");
puts("circulO");
puts("Hexagono");
puts("Sector circular");
puts("Finalizar");
puts("Seleccionar la opcion que desee por la letra resaltada en mayuscula");
opcion=getchar();
opcion=toupper(opcion);
switch (opcion)
{ case 'C':Figura('C');
break;
case 'T':Figura('T');
break;
case 'O':Figura('O');
break;
case 'H':Figura('H');
break;
case 'S':Figura('S');
break;
}
}
while (opcion!='F');
system ("pause");
return 0;
}
Te envio el programa corregido, ahora pasa compilacion en Borland c++ ver 4.5
Como veras, habia muy pocas para corregir.
No probe de ejecutarlo, por que no tengo la menor idea, que es lo que el programa tiene que realizar.
Exito ! ! !
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h> // ** no se que conio es conio.c ?
#include <math.h>
#define pi 3.141592
void Calcular(char Fig,char opcion)
{
int lado, altura, radio;
switch (Fig)
{
case 'C': switch (opcion)
{
case 'A' : puts("Area del Cuadrado");
puts("Introduzca el valor del lado:");
scanf("%d",&lado);
printf("El area vale... %dn",lado*lado);
break;
case 'P' : puts("Perimetro del Cuadrado");
puts("Introduzca el valor del lado :");
scanf("%d",&lado);
printf("El perimetro vale... %dn",4*lado);
break;
case 'M' : puts("Area y Perimetro del Cuadrado");
puts("Introduzca el valor del lado:");
scanf("%d",&lado);
printf("El area vale... %d y el perimetro... %dn",lado*lado,4*lado);
break;
//break; ** este break esta demas
}
{case 'T': switch (opcion)
{case 'A': puts("Calculo del area del triangulo");
puts("Introduzca el valor de la altura y el lado:");
scanf("%d %d" , &altura, &lado);
printf("El valor del area es...%f n",0.5*altura*lado);
break;
case 'P': puts("Calculo del perimetro del triangulo equilatero");
puts("Introduzca el valor del lado:");
scanf("%d", &lado);
printf("El valor del perimetro es...%f",lado*3);
break;
case 'M': puts("Calculo del area y el perimetro del triangulo");
puts("Introduzca el valor del lado y de la altura:");
scanf("%d %d", &lado, &altura);
printf("El valor del area es: %f y el del perimetro es: %f",0.5*altura*lado,lado*3);
break;} /* Fin del switch Triangulo */
break; /* fin de la opcion Triangulo */
case 'O': switch (opcion)
{ case 'A':puts("Calcular el area del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del area es:%f",pi*radio*radio);
break;
case 'P': puts("Calcular el perimetro del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del perimetro es: %f",2*pi*radio);
break;
case 'M':puts("Calcular el area y el perimetro del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del perimetro es: %f , y el del area es: %f",2*pi*radio,pi*radio*radio);
break;
}
break;
}
case 'H': switch (opcion)
{ case 'A':
case 'P':
case 'M':
break;
}
case 'S': switch (opcion)
{ case 'A':
case 'P':
case 'M':
break;
}
}
}
void Figura(char Fig)
{
char opcion;
do {
puts("Opcion: ");
switch (Fig)
{ case 'C':puts("Cuadrado");
break;
case 'T':puts("Triangulo");
break;
case 'O':puts("circulO");
break;
case 'H':puts("Hexagono");
break;
case 'S':puts("Sector circular");
break;
}
puts("Area");
puts("Perimetro");
puts("aMbos");
puts("Volver al menu principal");
opcion=getchar();
opcion=toupper(opcion);
Calcular(Fig,opcion);
} while (opcion!='V');
}
void main (void)
{
char opcion;
do {
puts ("Este programa calcula las areas y perimetros de las siguientes figuras:");
puts("Cuadrado");
puts("Triangulo equilatero");
puts("circulO");
puts("Hexagono");
puts("Sector circular");
puts("Finalizar");
puts("Seleccionar la opcion que desee por la letra resaltada en mayuscula");
opcion=getchar();
opcion=toupper(opcion);
switch (opcion)
{ case 'C':Figura('C');
break;
case 'T':Figura('T');
break;
case 'O':Figura('O');
break;
case 'H':Figura('H');
break;
case 'S':Figura('S');
break;
}
}
while (opcion!='F');
system ("pause");
// return 0; ** returna esta demas, se trata de void main()
}
Como veras, habia muy pocas para corregir.
No probe de ejecutarlo, por que no tengo la menor idea, que es lo que el programa tiene que realizar.
Exito ! ! !
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h> // ** no se que conio es conio.c ?
#include <math.h>
#define pi 3.141592
void Calcular(char Fig,char opcion)
{
int lado, altura, radio;
switch (Fig)
{
case 'C': switch (opcion)
{
case 'A' : puts("Area del Cuadrado");
puts("Introduzca el valor del lado:");
scanf("%d",&lado);
printf("El area vale... %dn",lado*lado);
break;
case 'P' : puts("Perimetro del Cuadrado");
puts("Introduzca el valor del lado :");
scanf("%d",&lado);
printf("El perimetro vale... %dn",4*lado);
break;
case 'M' : puts("Area y Perimetro del Cuadrado");
puts("Introduzca el valor del lado:");
scanf("%d",&lado);
printf("El area vale... %d y el perimetro... %dn",lado*lado,4*lado);
break;
//break; ** este break esta demas
}
{case 'T': switch (opcion)
{case 'A': puts("Calculo del area del triangulo");
puts("Introduzca el valor de la altura y el lado:");
scanf("%d %d" , &altura, &lado);
printf("El valor del area es...%f n",0.5*altura*lado);
break;
case 'P': puts("Calculo del perimetro del triangulo equilatero");
puts("Introduzca el valor del lado:");
scanf("%d", &lado);
printf("El valor del perimetro es...%f",lado*3);
break;
case 'M': puts("Calculo del area y el perimetro del triangulo");
puts("Introduzca el valor del lado y de la altura:");
scanf("%d %d", &lado, &altura);
printf("El valor del area es: %f y el del perimetro es: %f",0.5*altura*lado,lado*3);
break;} /* Fin del switch Triangulo */
break; /* fin de la opcion Triangulo */
case 'O': switch (opcion)
{ case 'A':puts("Calcular el area del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del area es:%f",pi*radio*radio);
break;
case 'P': puts("Calcular el perimetro del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del perimetro es: %f",2*pi*radio);
break;
case 'M':puts("Calcular el area y el perimetro del circulo");
puts("Introduzca el valor del radio:");
scanf("%d", &radio);
printf("El valor del perimetro es: %f , y el del area es: %f",2*pi*radio,pi*radio*radio);
break;
}
break;
}
case 'H': switch (opcion)
{ case 'A':
case 'P':
case 'M':
break;
}
case 'S': switch (opcion)
{ case 'A':
case 'P':
case 'M':
break;
}
}
}
void Figura(char Fig)
{
char opcion;
do {
puts("Opcion: ");
switch (Fig)
{ case 'C':puts("Cuadrado");
break;
case 'T':puts("Triangulo");
break;
case 'O':puts("circulO");
break;
case 'H':puts("Hexagono");
break;
case 'S':puts("Sector circular");
break;
}
puts("Area");
puts("Perimetro");
puts("aMbos");
puts("Volver al menu principal");
opcion=getchar();
opcion=toupper(opcion);
Calcular(Fig,opcion);
} while (opcion!='V');
}
void main (void)
{
char opcion;
do {
puts ("Este programa calcula las areas y perimetros de las siguientes figuras:");
puts("Cuadrado");
puts("Triangulo equilatero");
puts("circulO");
puts("Hexagono");
puts("Sector circular");
puts("Finalizar");
puts("Seleccionar la opcion que desee por la letra resaltada en mayuscula");
opcion=getchar();
opcion=toupper(opcion);
switch (opcion)
{ case 'C':Figura('C');
break;
case 'T':Figura('T');
break;
case 'O':Figura('O');
break;
case 'H':Figura('H');
break;
case 'S':Figura('S');
break;
}
}
while (opcion!='F');
system ("pause");
// return 0; ** returna esta demas, se trata de void main()
}
> // return 0; ** returna esta demas, se trata de void main()
Has corregido el extremo equivocado. Lo correcto es definir a la función main como que devuelve un entero, y --de acuerdo con el std:3.6.1/5 -- no es necesario que devuelva ningún valor (aunque algunos compiladores antiguos lo señalan con un *warning*)
int main()
{
//... ... ...
return 0; // realmente no hace falta para nada.
}
Jé.
Bueno, pero el asunto es que en C++ main siempre debe devolver un int, aunque en C la cosa no está del todo clara...
Aquí hay una discusión interesante:
http://homepages.tesco.net/~J.deBoynePollard/FGA/legality-of-void-main.html
Bueno, pero el asunto es que en C++ main siempre debe devolver un int, aunque en C la cosa no está del todo clara...
Aquí hay una discusión interesante:
http://homepages.tesco.net/~J.deBoynePollard/FGA/legality-of-void-main.html
