No compila un programa en C [Ayuda]

JORGE BA-K

Bovino de alcurnia
#1
Hola amigos Fijense que tengo este problema


"Leer n edades imprimir la edad q mas se registro asi como el numero de veces que esto sucedio"..

mi codigo es este, pero no funciona correctamente que estare haciendo mal?

#include <stdio.h>
#include <conio.h>
#include <windows.h>



int edades,edad2,total_de_edades_registradas;
char desicion[2];

main()

{

edades=0;
edad2=0;
total_de_edades_registradas=0;



printf("\n\n desea ingresar una edad");
gets(desicion);

if (strcmp(desicion,"si")==0)
{

while(edades>=0)
{
printf("indique su edad: ");
scanf("%d",&edades);
edades++;

printf("\n\n Terminar el ingreso de edades");
gets(desicion);
printf("Indique si desea terminar el coteo de edad: ");
if (strcmp(desicion,"si")==0 || strcmp(desicion,"no")==0)
{
printf("\n\n total de veces que funciono el programa %d",edades);
}
}
}
getch();
return 0;
}
 

galactico_supremo

Bovino adolescente
#2
en la parte donde pusiste el main, te falto ponerlo asi,..

void main()

te recomiendo que no uses el gets, puedes usar el scand... al final del main no es necesario poner la sentencia return, ya que no veo que retornes algun dato que te sirva,

checalo y me dices si te funciono.
 

animatrix92

Bovino adolescente
#4
HTML:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void vecez(int,int *, int *, int *);
int main(){
       int edad=0, total=0, aux_edad=0, aux_total=0;
       char opcion[3]="si";
       
       while(strcmp(opcion,"si")==0){
                                     printf("desea ingresar una edad?\n");
                                     scanf("%s",&opcion);
                                     if(strcmp(opcion,"si")==0){
                                     printf("\nIngrese la edad\n");
                                     scanf("%d",&edad);
                                     vecez(edad, &total,&aux_edad,&aux_total);
                                     }
                                     
                                     }
       printf("edad= %d, total= %d", aux_edad, aux_total);
       system("pause");
       return 0;
}

void vecez(int edad, int *total, int *aux_edad, int *aux_total){
    if (edad==*aux_edad || *aux_edad==0){
       if(*total>*aux_total ){
                 *aux_total=*total;
                 *aux_edad=edad;
                 *total+=1;
                 }
                 
    else *total+=1;
    }
    else if(edad!=*aux_edad){
         total=0;
         }
}
este programa lo escribi como entendi el enunciado, y ps como no se mucho, tiene algunos errores y no creo que sea muy bueno
 
#5
Yo solucionaría el problema de la siguiente manera, espero te sirva

#include<stdio.h>
#define TAMANIO 120

void mas(int Aedad[]);

int main(void){

int edad=0, aux=0, i;
int Aedad[TAMANIO]={0};

while(edad!=-1){
printf("Ingresa la Edad(-1 para terminar): ");
scanf("%d",&edad);
++Aedad[edad];
system("cls");
}
mas(Aedad);
system("PAUSE");
return 0;
}

void mas(int Aedad[TAMANIO]){
int aux=Aedad[0], i, edad;

for(i=0; i<TAMANIO-1; i++){
if(Aedad[i+1]>aux){
aux=Aedad[i+1];
edad=i+1;
}
}
printf("Edad mas ocurrida: %d\nNumero de veces que ocurrio: %d\n", edad, aux);
}
 

Lucky23

Bovino Milenario
#6
Facil declara tus variables dentro del main, si estas utilizando el devc usa int main o si usas otro pon void main y como dijo el otro compañero quita el return.
 
Arriba