Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MAFUS

#841
Programación C/C++ / Re: Ayuda ejercicio C
12 Abril 2017, 18:01 PM
El otro problema que podrías tener es el uso del include conio.h. Muy pocos compiladores lo soportan, además no usas ninguna función de esta librería.
#842
No lo he probado pero estilísticamente está mal.

Usas los argumentos de las funciones como una forma de declarar variables locales. Los argumentos solo deberían usarse para que las funciones se comunicasen datos entre llamadas.

Cuando usas argumentos el compilador genera espacio en la pila para alojar dicho dato y después copia el dato que se va a pasar en esa nueva localidad.

He visto que llevas usando esta técnica desde hace tiempo, pero deberías cambiarla lo más pronto posible: declarar variables locales dentro del cuerpo de las funciones y usar los argumentos únicamente para pasar datos.
#843
Vale, confundes dos cosas: La definición de tipos con typedef y la definición de un array de structs en la misma declaración.

Tu has escrito:
typedef struct { ... }

Esto después de la última llave espera un identificador para un tipo de dato. Sin embargo dices:
} prefijos[N]=...

Con eso lo que quieres es definir una variable array de structs. Esta construcción no puede ir junta.

En tu caso lo que debes hacer es quitar la palabra clave typedef y dejar

struct { ... } prefijos[N]=...

Con esto tendrás un array de N estructuras anónimas (no podrás usar ese tipo en ningún otro sitio del programa para crear más datos).

Pero aún así tienes otro problema:
Cuando inicializas el array haces: prefijos[N]={ ... }.

Esto está bien para un array de elementos simples, pero estás inicializando estructuras de dos elementos, así que deberías hacerlo así:

prefijos[N]={ {elem1, elem2}, {elem1, elem2}, ... , {elem1, elem2} };

En conjunto la nueva definición es esta:
struct {
    char* prefijo;
    int exponente;
} prefijos[N] = {{"femto",  -15},
                 {"pico",   -12},
                 {"nano",   -9},
                 {"micro",  -6},
                 {"mili",   -3},
                 {"kilo",   3},
                 {"mega",   6},
                 {"giga",   9},
                 {"tera",   12}};
#844
time() devuelve un time_t que es un typedef que depende de la plataforma. Haz un cast a unsigned int, que es lo que espera srand().

sizeof() devuelve un size_t que es un typedef que depende de la plataforma. Cambia el tipo de la variable size de int a size_t. De todas formas parece que al compilador no le gusta el nombre de variable size, así que cámbialo por otra cosa.
#845
Programación C/C++ / Re: Ayuda ejercicio C
10 Abril 2017, 19:33 PM
Te enumero los errores.

1. En la línea char oacute = 162, euro = 8364, eacute = 130; euro no debería tener ese valor. Un char tiene como máximo el valor 255, y si tu máquina lo trata como signed solo puede llegar hasta 127.

2. En la línea void main main, en C, debe ser siempre entero. void es pre-ansi o para C++.

3. La función menu() debe devolver el entero resp, sin embargo no regresa nada.

4. En la función revisar_total() y total_total() donde dicen printf("El total del vendedor %i es: %i%s",nvendedor,suma,euro); y printf("La cantidad total es de: %i%s",suma,euro); tienes el argumento %s para mostrar un carácter pero éste debería ser %c.

5. En la función total_total() tienes for(i=0;i<nvendedor;i++)
{
  for(j=0;j<nproducto;j++)
  {
el límite superior no deben ser las variables nvendedor y nproducto ya que sirven para guardar posiciones a modificar en el array por las demás funciones, no para marcar el número máximo de elementos en el array. Debería ser 18 y 10 respectivamente.

Ahora, haciendo juicio crítico: tu profesor no mira mucho por sus alumnos, pero por otra parte son errores sencillos de descubrir. No deberías esperar "dos meses" en que tu profesor te devuelva un ejercicio corregido. Más con ese tiempo ya deberías tener la suficiente experiencia para depurar un programa tan sencillo.
#846
El segundo limpiar_buffer() sobra. No hay necesidad de limpiarlo allí.
De todas formas lo he probado y funciona. Muestra el contenido de las dos cadenas pero lo hace en la misma línea porqué no has usado un salto de linea cuando termina de escribir la primera.
#847
A parte de un error en los scanf (para capturar cadenas no hay que usar el operador &) vacía el buffer con la sentencia

while(getchar()!='\n');
#848
Prepara tu terminal para que trabaje coko el getche de c++ builder (hay muchos ejemplos,  tanto en el foro como en la web.  A partir de eso toma la entrada caracter a caracter y haces lo que tengas que hacer con cada uno.
#849
Qué compilador usas? Si no es el de Arduino se te faltará configurarlo.
#850
Programación C/C++ / Re: Programacion en C
28 Marzo 2017, 01:13 AM
Tienes razón: los demás lenguajes son unos insurgentes.  ;D