Autor
|
Tema: [Consulta] Programa en C, Geany.. (Leído 2,888 veces)
|
neron991
Desconectado
Mensajes: 17
|
Hola queria saber porque geany me marca este error al construir el codigo:Collect2: Error: Id returned 1 exit status estoy haciendo un programa en c de varias opciones y las estoy probando por ahora llevo la primera que la tengo lista pero no me deja construir para probar el codigo es el siguiente:#include <stdio.h> int par(int numero); float prom (float n1, float n2, float n3); int triple (int num); int negative (int num); int main() { int opcion; printf("\n\t\t\t\tBienvenido al Programa"); printf ("\n\n1. Saber si numeor es par o impar"); printf ("\n\n2. calcular promedio de 3 notas"); printf ("\n\n3. Elever numero al cubo"); printf ("\n\n4. Saber si un numero es negativo o positivo"); printf ("\n\n6. Salir del programa"); printf("\n\nSeleccione una Opcion: "); switch (opcion) { case 1: { int numero, resultado; printf ("introduzca un numero\n"); resultado=par (numero); if (resultado==1) else return (0); } int par (int numero) { if ((numero%2)==0) return (1); else return (0); } } return (0); }
Espero me puedan ayudar gracias..Mod: Modificado con etiquetas GeSHi para hacer más legible el código
|
|
« Última modificación: 20 Mayo 2015, 06:19 am por engel lex »
|
En línea
|
|
|
|
engel lex
|
tienes un error... declarar una fución dentro de otra... estas declarando par dentro de main... a demás lo declaras dentro del switch.... y al case le colocas corchetes, no tiene break... no está declarado "triple", ni tampoco "negative"... hay varias cosas a corregir... corrigiendo lo basico include <stdio.h> int par(int numero); int main(){ int opcion; printf("\n\t\t\t\tBienvenido al Programa"); printf ("\n\n1. Saber si numeor es par o impar"); printf ("\n\n2. calcular promedio de 3 notas"); printf ("\n\n3. Elever numero al cubo"); printf ("\n\n4. Saber si un numero es negativo o positivo"); printf ("\n\n6. Salir del programa"); printf("\n\nSeleccione una Opcion: "); switch (opcion){ case 1: int numero, resultado; printf ("introduzca un numero\n"); resultado=par (numero); if (resultado==1){ }else{ } break; } return 0; } int par (int numero){ if (numero%2==0){ return 1; }else{ return 0; } }
|
|
« Última modificación: 20 Mayo 2015, 06:29 am por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
neron991
Desconectado
Mensajes: 17
|
tienes un error... declarar una fución dentro de otra... estas declarando par dentro de main... a demás lo declaras dentro del switch.... y al case le colocas corchetes, no tiene break... no está declarado "triple", ni tampoco "negative"... hay varias cosas a corregir... corrigiendo lo basico include <stdio.h> int par(int numero); int main(){ int opcion; printf("\n\t\t\t\tBienvenido al Programa"); printf ("\n\n1. Saber si numeor es par o impar"); printf ("\n\n2. calcular promedio de 3 notas"); printf ("\n\n3. Elever numero al cubo"); printf ("\n\n4. Saber si un numero es negativo o positivo"); printf ("\n\n6. Salir del programa"); printf("\n\nSeleccione una Opcion: "); switch (opcion){ case 1: int numero, resultado; printf ("introduzca un numero\n"); resultado=par (numero); if (resultado==1){ }else{ } break; } return 0; } int par (int numero){ if (numero%2==0){ return 1; }else{ return 0; } }
Hola gracias por responder, no lo de triple y negative viene despues, no he hecho la funcion de esos, queria probar primero lo del par, ya corregi, de ahi bien pero ahora tengo el error en int numero, resultado; del case 1, dice : Error: A label can only be part of a statement and a declaration is not a statement
|
|
|
En línea
|
|
|
|
engel lex
|
sorry... lo que está en la linea 19 pasalo a la 16... debes evitar usar el switch para declarar las variables... el es solo un selector para hacer el scope correcto (y declarar las variables como haces), dejas como tenias los corchetes en el case... (algo poco común, pero valido)
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
neron991
Desconectado
Mensajes: 17
|
Listo gracias por esa xD ya hice todo el programa y funciona bien pero tengo un problema en la siguente linea de codigo me tira un warning en un corchete que esta debajo de float prom (float n1,float n2, float n3) en las funciones linea 110 ve: #include <stdio.h> int par (int numero); float prom (float n1, float n2, float n3); int triple (int num); int negative (int num); void saludo (void); int main() { int opcion; printf("\n\t\t\t\tBienvenido al Programa"); printf ("\n\n1. Saber si un numero es par o impar"); printf ("\n\n2. Calcular promedio de 3 notas"); printf ("\n\n3. Elever numero al cubo"); printf ("\n\n4. Saber si un numero es negativo o positivo"); printf ("\n\n6. Salir del programa"); printf("\n\nSeleccione una Opcion: "); switch (opcion) { int numero, resultado; case 1: printf ("\nintroduzca un numero\n"); resultado=par (numero); if (resultado==1){ }else{ } break; { float n1, n2, n3; case 2: printf ("\nIntroduzca primer numero:"); printf ("\nIntroduzca segundo numero:"); printf ("\nIntroduzca tercer numero:"); prom (n1,n2,n3); } break; { int numero, total; case 3: printf ("\nIntroduzca numero: "); total= triple (numero); printf ("\nEL triple de %d es: %d",numero ,total ); } break; { int n,resultado; case 4: printf ("\nIntroduzca un numero: "); resultado=negative (n); if (resultado==1) printf ("\nEs un numero negativo.\n"); else printf ("\nEs un Numero Positivo.\n"); } break; { case 5: saludo (); } break; { case 6: printf ("\n\n\t\tFin del programa Presione ENTER para salir"); } break; { default: printf ("\n\t\tOPCIÓN NO VALIDA DENTRO DE LOS PARÁMETROS"); } } return 0; } int par (int numero) { if ((numero%2)==0){ return (1); }else{ return (0); } } float prom (float n1,float n2, float n3) { float resultado; resultado= (n1+n2+n3)/3; printf ("\nEL promedio es: %f\n",resultado ); } int triple (int num) { int n; n=3*num; return (n); } int negative (int numero) { int res; if (numero<0) res=1; else res=0; return (res); } void saludo () { printf ("\n\n\t\t\tDebo Estudiar Mas =)"); }
dice: warning: control reaches end of non-void function
|
|
« Última modificación: 21 Mayo 2015, 00:33 am por engel lex »
|
En línea
|
|
|
|
engel lex
|
por qué declaras las funciones dentro del main? :s mas funciones van fuera del main
para que le pones paréntesis a los resultados de los return? no es necesario...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
neron991
Desconectado
Mensajes: 17
|
es que lo veo mas ordenado de esa forma asi nos dijo la profesora T_T jaja xD lo de los parentesis bueno se los acabo de quitar!
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
tengo un problema en la siguente linea de codigo me tira un warning en un corchete que esta debajo de float prom (float n1,float n2, float n3) en las funciones linea 110 ve: [...] #include <stdio.h> int par (int numero); float prom (float n1, float n2, float n3); /* ... */ prom (n1,n2,n3); /* ... */ float prom (float n1,float n2, float n3) { float resultado; resultado= (n1+n2+n3)/3; printf ("\nEL promedio es: %f\n",resultado ); }
dice: warning: control reaches end of non-void function Ese mensaje se genera porque declaras la función "prom" como una cuyo tipo de retorno es float pero dentro de ella no devuelves valor alguno. Para solucionarlo ya que la utilizas solo por su efecto (calculo e impresión del promedio) cambia su tipo de retorno a void: #include <stdio.h> int par (int numero); void prom (float n1, float n2, float n3); /* ... */ prom (n1,n2,n3); /* ... */ void prom (float n1,float n2, float n3) { float resultado; resultado= (n1+n2+n3)/3; printf ("\nEL promedio es: %f\n",resultado ); }
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
WinBGIm en Geany
Programación C/C++
|
jonaSoft
|
0
|
4,148
|
17 Marzo 2011, 20:21 pm
por jonaSoft
|
|
|
Problema con comillas en Geany
Programación C/C++
|
akibara
|
1
|
4,965
|
24 Mayo 2011, 18:46 pm
por x64core
|
|
|
El IDE Geany no me compila
Programación General
|
Blp
|
0
|
4,735
|
25 Marzo 2012, 13:24 pm
por Blp
|
|
|
Configurar Geany para Python
Scripting
|
cristiantorres
|
2
|
7,657
|
26 Abril 2012, 18:23 pm
por cristiantorres
|
|
|
Ayuda con Geany! errores de ejecucion
Programación C/C++
|
Pirata LOL
|
4
|
6,709
|
28 Diciembre 2016, 17:45 pm
por do-while
|
|