elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11
81  Programación / Programación C/C++ / Re: [C] Problema con Arrays. en: 27 Mayo 2013, 00:40 am
Sencillamente incrementa en una unidad el valor de la variable, Por ejemplo i++ = i+1.
Eso me queda claro pero cuando utilizo printf y hago referencia a la variable como i++, no imprime el incremento, por eso utilice i+1, a veces en los bucles tampoco me respetaba i++ y no incrementaba. Tambien utilizo i+=1 porque no me da problemas al correr el programa.

Por otro lado, la función main debe ser declarada cono int con su correspondiente return.

Porqué? :huh:
Entiendo que si divido el código en distintas funciones, el bloque de promedio individual, por ejemplo,  debe regresar el valor de las operaciones realizadas, entonces se regresa el valor de X para que en la funcion main() se haga uso del dato.

Código:
promedioind(int x)
{
return x;
}

En el caso de mi código, qué pasa si no regreso valor?, aun no llego a la parte de declarar tipo de funciones, los tipos de return y sus usos. Lei por ahi que return 0; indica que el programa termino sin errores, a medida que el valor cambia es porque termina de cierta forma.

No necesitas de un bucle exclusivo para calcular alumno[r], que yo llamo suma_medias, me parece que el nombre hace mejor referencia a la variable que calcula.
Reviso con tiempo tus modificaciones, parece mas eficiente, menos variables y lineas de código, el programa en si ya esta listo solo me falta hacer el algoritmo   :(

En fin, el código está bastante bien, pero para mi gusto los while lo hacen menos entendible
Gracias, utilizo while por que es lo que mas he practicado, empiezo a familiarizarme con for y estoy tratando de aplicar todo (while, do-while, for,switch e ifs) pero al usar arrays me confunde un poco. (Es cuestion de seguir practicando porque tambien estoy aprendiendo arrays en 1 dimension, en fin, lo basico de lo basico).


Saludos!
82  Programación / Programación C/C++ / Re: [C] Problema con Arrays. en: 25 Mayo 2013, 03:35 am
Se reinician variables en renglones 31,32, ahora da el promedio correcto para todos los alumnos. El detalle del incremento ++ no lo termino de entender.

Para el promedio general defino algo similar, suma de alumno[n] y voy incrementando n de uno en uno.

Código
  1. #include <stdio.h>
  2.  
  3. main()
  4. {
  5.    int i=0,j,k=1,r=0,s=0,alu=1,calif=0,califsum=0,respuesta=0;
  6.    float califprom=0,alumno[10]={0},sumgral=0,promgral=0;
  7.    printf("Cuantos alumnos quieres registrar?: ");
  8.    scanf("%d,",&respuesta); //El numero de alumnos esta contenido en respuesta
  9.    while(respuesta>10)
  10.    {
  11.        printf("El sistema no permite registrar mas de 10 alumnos por sesion.\n");
  12.        printf("Cuantos alumnos quieres registrar?: ");
  13.        scanf("%d,",&respuesta);
  14.    }
  15.    for(i=0;i<respuesta;i++) //Bucle para el numero de alumnos
  16.    {
  17.        j=0;
  18.        printf("Teclea las calificaciones del alumno %d:\n",i+1);
  19.        while(j<5) //Bucle por 5 calificaciones
  20.        {
  21.            printf("%d. ",k); //Se imprime el numero de calificacion 1. 2. 3. etc.
  22.            scanf("%d",&calif);
  23.            califsum+= calif;
  24.            k++;
  25.            j++;
  26.        }
  27.        k=1;
  28.        califprom = califsum / 5;
  29.        alumno[r] = califprom;
  30.        r+=1;
  31.        califprom = 0;
  32.        califsum = 0;
  33.    }
  34.    printf("\nDetalle:\n\n");
  35.    r=0;
  36.    while(alu<=respuesta)
  37.    {
  38.        printf("Promedio Alumno %d: %.2f\n",alu,alumno[r]);
  39.        alu++;
  40.        r+=1;
  41.    }
  42.    r=0;
  43.    while(s<respuesta) //Se suman los promedios de cada alumno.
  44.    {
  45.        sumgral+= alumno[r];
  46.        r+=1;
  47.        s+=1;
  48.    }
  49.    promgral = sumgral / respuesta;
  50.    printf("\nPromedio general: %.2f",promgral);
  51. }
Al tratar de editar el post el código anterior me aparece distinto, con signos, por eso creo otro mensaje.
Saludos!
83  Programación / Programación C/C++ / [C] Problema con Arrays. en: 25 Mayo 2013, 03:01 am
Hola,
estoy revisando el tema de arreglos y necesito crear un programa que calcule el promedio de 5 calificaciones tecleadas, esto va por alumno. Creo que el problema esta en los renglones 29, 30.

Al final cuando imprime el promedio del alumno 1, alumno 2 etc, solamente el primer dato es correcto, los demas no, imagino que estoy asignando mal los valores a cada variable del arreglo alumno[r].

Mi idea es la sig: Se ingresan las 5 calificaciones que se suman y guardan en califsum, despues se calcula el promedio de dichos datos y se almacena el resultado en alumno[n], al final se tienen los promedios de 10 alumnos en el arreglo. Tambien debo obtener el promedio general, pero no se como trabajar los elementos de un arreglo (en general para sumar, restar,etc)

Código
  1. #include <stdio.h>
  2.  
  3. main()
  4. {
  5.    int i=0,j,k=1,r=0,alu=1,calif=0,califsum=0,respuesta=0;
  6.    float califprom=0,alumno[10]={0};
  7.    printf("Cuantos alumnos quieres registrar?: ");
  8.    scanf("%d,",&respuesta); //El numero de alumnos esta contenido en respuesta
  9.    while(respuesta>10)
  10.    {
  11.        printf("El sistema no permite registrar mas de 10 alumnos por sesion.\n");
  12.        printf("Cuantos alumnos quieres registrar?: ");
  13.        scanf("%d,",&respuesta); //El numero de alumnos esta contenido en respuesta
  14.    }
  15.    for(i=0;i<respuesta;i++) //Bucle para el numero de alumnos
  16.    {
  17.        j=0;
  18.        printf("Teclea las calificaciones del alumno %d:\n",i+1);
  19.        while(j<5) //Bucle por 5 calificaciones
  20.        {
  21.            printf("%d. ",k); //Se imprime el numero de calificacion 1. 2. 3. etc.
  22.            scanf("%d",&calif);
  23.            califsum+= calif;
  24.            k++;
  25.            j++;
  26.        }
  27.        k=1;
  28.        califprom = califsum / 5;
  29.        alumno[r] = califprom;
  30.        r++;
  31.    }
  32.    printf("\nDetalle de calificaciones:\n\n");
  33.    r=0;
  34.    while(alu<=respuesta)
  35.    {
  36.        printf("Promedio Alumno %d: %.2f\n",alu,alumno[r]);
  37.        alu++;
  38.        r++;
  39.    }
  40. }

¿Se pueden imprimir incrementos ++ en printf()? en la linea 18 por ejemplo tuve que modificar porque al tener i++ las cosas no funcionaban:
Código
  1. printf("Teclea las calificaciones del alumno %d:\n",i++);

espero entiendan lo que trato de hacer,
saludos!
84  Programación / Programación C/C++ / Re: Qué significa aprender el lenguaje C? en: 21 Mayo 2013, 23:47 pm
Vamos que C/C++ es fundamental en Ingenieras como lo puede ser el inglés, cuestión de tener cultura, pero su manejo en sentido profesional lo dejaría para los profesionales del sector.

...

Es sólo una opinión y ya sé que para gustos colores. Sólo trataba de poner cada cosa en su sitio.

Si, lo entiendo, ademas tomo nota de Mathlab y mathematica, los he visto en libros de calculo y algebra lineal pero poco se hacer con ellos. 

...ya que lo importante es el proceso de programación y resolución del problema planteado
asi es, el color del código es lo de menos, pensarlo es lo importante creo yo.
85  Programación / Programación C/C++ / Re: Qué significa aprender el lenguaje C? en: 21 Mayo 2013, 01:08 am
A mi me parece bien que en el primer curso te enseñen uno o dos lenguajes de programacion.  :silbar: aunque como tu dices, podrian explicar la utilizacion de los lenguajes mas utilizados en las primeras clases.

Asi es,el contenido seria contemporaneo y aplicado, ya decidirá uno si quiere trabajar con C o Delphi, Java, lo que sea. Poco a poco resuelvo las dudas de C pero poder llevar a la par C++ con las mismas instrucciones básicas y tipos de bucles, variables, arreglos... no veo el inconveniente o complejitud, en fin.


En mi universidad se da C++ en el primer curso ;)
>:D
Cuál es el contenido tematico?
86  Programación / Programación C/C++ / Re: Qué significa aprender el lenguaje C? en: 20 Mayo 2013, 07:05 am
Una cuestión que te puedes plantear para ayudarte, es preguntarte porque aprendes C en la universidad y no aprendes otro lenguaje de programación. Todas las universidades, en las ingenierias, según tengo entendido, tienen el lenguaje C en su plan de estudios.
...
Creo que vi alguna encuesta sobre los lenguajes que se utilizan más en este foro. El que ganaba creo que era C/C++..., está clarisimo y no es nada paradoxal.



Hay ingenierias que utilizan python.

Se estudia C porque es la base de casi todo. En mi carrera el primer año se estudia C y luego C++, y el siguiente año python.
Nunca he preguntado el porque, pero me imagino que sera porque de C a C++ no hay grandes cambios y es facil pasar de uno a otro, y una vez que se aprende la programacion orientada a objetos (C++), puedes pasar a otros lenguajes del mismo tipo mas facilmente.

Es como subir una escalera poco a poco.

Para ser un curso introductorio creo debe ser dinamico, es decir, que ofrezca los distintos tipos de lenguajes y sus caracteristicas, es mejor saber desde un inicio para que sirve cada lenguaje y en que se aplica a seguir un plan de estudios que te va a dar lo que cree conveniente.

A veces siento que trabajar en C es analogo a querer trabajar en windows 95 cuando existe una version actualizada. Si C++ es una consecuencia de C, mi sentido comun optaria por C++ a no ser que haya cosas que C haga y C++ no.

saludos
87  Programación / Programación C/C++ / Re: [C] Raiz Cuadrada sin math.h en: 20 Mayo 2013, 06:30 am
Gracias.
88  Programación / Programación C/C++ / Re: [C] Raiz Cuadrada sin math.h en: 19 Mayo 2013, 22:52 pm
Está hecho a toda pastilla, por lo que habría que testearlo un poco a ver si falla o no, pero para que veas más o menos como sería la cosa.

Ambos códigos funcionan, el primero solo te faltó un cierre de instrucción, me has dejado boquiabierto!, lo reviso con tiempo para poder entenderlo, el segundo código era una idea solamente, en realidad el programa debe dar la raiz del numero tecleado, ademas que es un poco mas elaborado y no entiendo ciertas partes. :(

Estuve buscando sin exito como evitar el bucle infinito cuando se teclea un caracter y no un numero, tengo varios archivos con esa falla, con un do-while lo soluciono no?

Código:
do
{
...
}while( (ch = getchar()) != '\n' );

Saludos!!
89  Programación / Programación C/C++ / Re: [C] for loop y switch cases en: 19 Mayo 2013, 22:33 pm
El error principal es que tenías declarada la variable" respuesta" como int, mientras que cuando luego la escaneas y usas en los case lo haces como char.

El otro es que no tienes bien usada total_cal.


Cierto, Int respuesta, y cuando lee scanf estacon %c ¬¬'

aun no llego a la parte de do-while pero veo que la estructura es:

Código:
do
{
  Sentencias
}
while(condicion);

en este caso while sí lleva fin de instruccion ;  :o

Código:
total_cal +=cal

Quiere decir que a la variable total_cal se le va a sumar la variable caloria?,

Código:
total_cal -=cal
Va a restarle el valor de cal a total_cal?

Gracias y saludos!
90  Programación / Programación C/C++ / [C] for loop y switch cases en: 19 Mayo 2013, 08:58 am
El código compila y ejecuta pero por alguna razon me toma 1 y 2 como no validos
Código:
#include<stdio.h>
int main()
{
    int respuesta, cal, total_cal, food, foodfor,loopcal=0;
    printf("\t\tPrograma de calorias\n\n");
printf("1. Cuanto has comido hoy? \n");
printf("2. Indice de Masa Corporal \n");
printf("   Elige una opcion: ");
scanf("%c", &respuesta);
    switch (respuesta)
{
case 1:
{
                    printf("Ingresa los datos de los alimentos.\n\n ");
printf("Cuantos alimentos comiste?: ");
scanf("%d",&food);
printf("Teclea las calorias de cada alimento: ");
for(foodfor = 0;foodfor<=food;foodfor++)
                    {
                        scanf("%d",&cal);
                        loopcal = (loopcal + cal);
                        total_cal = loopcal;
                    }
printf("Has comido %d calorias.",total_cal);
break;
}
case 2:
{
printf("Indice de Masa Corporal\n");
printf("Please Wait...\n");
break;
}
            case 3:
                {
                    printf("Adios!");
                }
default:
                {
while(respuesta!=1&&respuesta!=2&&respuesta!=3)
                        {
                            printf("Opcion no valida, intenta de nuevo\n");
                            scanf("%d",&respuesta);
                        }
                }
}
    return 0;
}

El primer caso te debe preguntar cuantos alimentos comiste y despues te pide ingresar las calorias de cada alimentos, si comí 10 tecleo 10 etc, al final te dice todo lo que consumiste. Empezó a fallar desde que agregue for() en el caso 1, lo releo y no encuentro la falla.

ayuda por favor.
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines