Estoy colocando bien las variables globales, y el prototipo de las funciones

Iniciado por Naimaderis, 21 Diciembre 2016, 23:25 PM

0 Miembros y 1 Visitante están viendo este tema.

Naimaderis

¿Este codigo esta bien? Funcionar, funciona como debe, pero me refiero, a la identacion, al prototipo de las funciones y a las variables globales.
¿Las variables globales estan bien colocadas? ¿Alguna deberia ser estatica y la declare como global? Aun tengo un poco de dudas con respecto a eso.


#include <stdio.h>

void pantallacomprarmanzanas(void);
void pantalla1(void);
void pantallacomprarmanzanas(void); // prototipo de funciones //

int monedas = 50;
int cantidadmanzanas = 5;
int preociomanzanas = 2; // variable que se utilizaran en toda la fucnion //
int cant_eleccion;
enum Accion {COMPRAR, VENDER};
enum Accion manzanas;

int main(void){

   while (8 != 5){ /* con esto quiero que el programa no termine nunca */
       pantalla1();
       switch(manzanas) {

           case COMPRAR:
               cantidadmanzanas = cantidadmanzanas + cant_eleccion;
               monedas = monedas - cant_eleccion * preociomanzanas;
               break;

           case VENDER:
               cantidadmanzanas = cantidadmanzanas - cant_eleccion;
               monedas = monedas + cant_eleccion * preociomanzanas;
               break;
       }
   }
}


void inventario(void){
   printf("1 - Manz anas = %d \n",cantidadmanzanas);
   int eleccion;
   scanf("%d", &eleccion);
   if (eleccion == 1){pantallacomprarmanzanas();}
}

void pantalla1(void){
   system("cls");
   printf("Monedas: %d \n",monedas);
   inventario();
}

void pantallacomprarmanzanas(void){
   printf("Que desea hacer con las manzanaz?\n");
   int eleccion;
   printf("1 - Comprar\n");
   printf("2 - Vender\n");
   scanf("%d", &eleccion);
   if (eleccion == 1){manzanas = COMPRAR; printf("¿Que cantidad desea comprar?"); scanf("%d",&cant_eleccion); }
   else
   if (eleccion == 2){manzanas = VENDER; printf("¿Que cantidad desea vender?"); scanf("%d",&cant_eleccion); }
}


(Se podria hacer mucho mas facil con arrays, pero aun no he llegado a ese capitulo del libro)

engel lex

main debe tener retorno y normalmente debe ser 0

while(1)

los (void) no son necesario, pero si los vas a usas se consistente y colocaselo al main
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.

Naimaderis

Cita de: engel lex en 21 Diciembre 2016, 23:55 PM
main debe tener retorno y normalmente debe ser 0

while(1)

los (void) no son necesario, pero si los vas a usas se consistente y colocaselo al main

Creí que era necesario colocar siempre que la función no reciba parámetro, como mi compilador me deja pasar muchas cosas, siento que debo prestar demasiada atención a realizar una correcta estructura.

Con respecto a lo del retorno del main, ¿Te refieres al "return 0"? Crei que era solo para indicarle al sistema que se ejecuto todo correctamente, entonces, como nunca iba a llegar a ese debido al while (8 != 5) lo omiti. ¿Como es eso del while (1) ?

engel lex

Citar¿Como es eso del
para todo efecto una variable numerica de cualquier tipo, 0 es false, cualquier otro valor es true, no es necesario que hagas al programa calcular esa operación, coloca un 1 y listo, eso se interpretará como true

CitarCon respecto a lo del retorno del main, ¿Te refieres al "return 0"? Crei que era solo para indicarle al sistema que se ejecuto todo correctamente

toda función que no sea void debe llevar return
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.