C/Visual C - tengo este programa

 
Vista:

tengo este programa

Publicado por Gabriel (7 intervenciones) el 09/09/2001 19:39:11
hola:
tengo este programa, funciona bien pero lo que tengo que hacer es que funcione solamente con variables locales y este programa lo hice con variables globales, seria que me podrias ayudar con eso??

#include<stdio.h>

int ent_num();
int mayor();
int ped_num();
int x,num,ma=-9999999;

//PROGRAMA PRINCIPAL
main(){
ped_num();
ent_num();
mayor();
printf("EL NUMERO MAYOR QUE USTED ENTRO ES %d\n",ma);

}

//FUNCION DE PEDIR NUMEROS

int ped_num(){

printf("CUANTOS DATOS QUIERE ENTRAR\n");
scanf("%d",&x);
// return x;
}

//FUNCION DE VERIFICAR EL NUMERO MAYOR
int mayor(){
if(num>ma)
ma=num;
return num;
}

//FUNCION ANIDADA DE ENTRADA DE NUMEROS
int ent_num(){
int i;
for (i=0;i<x;i++){
printf("ENTRE UN NUMERO\n");
scanf("%d",&num);

mayor ();

}
return num;
}

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:tengo este programa

Publicado por Germán B. (27 intervenciones) el 09/09/2001 20:14:28
Nota: para que una variable int pueda almacenar -9999999, hay que compilar en 32 bits.

#include<stdio.h>

int ent_num(int);
int mayor(int,int);
int ped_num(void);

//PROGRAMA PRINCIPAL
void main(){
int x, ma;
x=ped_num();
ma=ent_num(x);
printf("EL NUMERO MAYOR QUE USTED ENTRO ES %d\n",ma);
}

//FUNCION DE PEDIR NUMEROS

int ped_num(){
int x;
printf("CUANTOS DATOS QUIERE ENTRAR\n");
scanf("%d",&x);
return x;
}

//FUNCION DE VERIFICAR EL NUMERO MAYOR
int mayor(int num, int ma){
if(num>ma)
return num;
else
return ma;
}

//FUNCION ANIDADA DE ENTRADA DE NUMEROS
int ent_num(int x){
int ma=-9999999;
int i, num;
for (i=0;i<x;i++){
printf("ENTRE UN NUMERO\n");
scanf("%d",&num);
ma=mayor (num,ma);
}
return ma;
}

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:tengo este programa

Publicado por manuel (9 intervenciones) el 09/09/2001 20:18:27
hola Gabriel. Porque inicializas los enteros con 9999999?.
Los 'return' de las funciones pueden retornar '0', ya que estas modificando los valores enteros.
Para saber sobre las vars locales, tienes que preguntarte a que nivel las deseas; por lo que veo, deben estar en el main().
Definelas dentro del main(), y como van a ser modificables, pasalas por referencia a cada funcion. Como dentro de cada funcion seran modificadas, puedes retornar 0( return 0; ).
Y tu funcion ent_num() esta bien rara. Dale una revisada.
saludos
manuel
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