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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  (Consulta) Ejercicio en C - Errores que no logro entender.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Consulta) Ejercicio en C - Errores que no logro entender.  (Leído 1,929 veces)
palacio29

Desconectado Desconectado

Mensajes: 103


Ver Perfil
(Consulta) Ejercicio en C - Errores que no logro entender.
« en: 21 Agosto 2016, 17:33 pm »

Hola

Estaba haciendo un ejercicio de mi practica de informatica. El ejercicio es el siguiente



El codigo que hice hasta ahora es el siguiente

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. void CARGADATOS(int arreglo2[5][8],int fila);
  5. void IMPRIMIR(char arreglo1[5][20],int arreglo2[5][8]);
  6. int main()
  7. {
  8.    char arreglo1[5][20];                ///ARREGLO DONDE GUARDO NOMBRES DE EQUIPOS
  9.    int arreglo2[5][8];                  ///ARREGLO DONDE GUARDO LOS NUMEROS
  10.    char letra='4';
  11.    int bandera=0;
  12.    int fila=0,columnachar=0;
  13.  
  14.  
  15.    while (arreglo1[fila][0]!='\0' && bandera==0 && fila<5)
  16.    {
  17.        printf ("\nIngrese el nombre del equipo:  ");
  18.  
  19.        while (letra!='\r')               ///SI ES DISTINTO DE ENTER, GUARDA EN EL ARREGLO LA LETRA Y AUMENTA COLUMNA
  20.        {
  21.            letra=getche();
  22.            if (letra!='\r')
  23.            {
  24.                arreglo1[fila][columnachar]=letra;
  25.                columnachar++;
  26.            }
  27.            if (letra=='\r')            ///SI ES UN ENTER, SI LA COLUMNA ESTA EN 0, PONGO BANDERA EN 1 ASI NO ENCTRA Y TERNINA EL CICLO
  28.            {
  29.                if (columnachar==0)
  30.                {
  31.                    bandera=1;
  32.                }
  33.                if (bandera==0)   /// SI ES UN ENTER Y LA BANDERA ESTA EN 0, LLAMO A LA FUNCION PARA CARGAR LOS NUMEROS, Y PONGO \0
  34.                {                 ///TERMINO LA FILA, PONGO UN \0, AUMENTA LA FILA Y LA COLUMNA LA VUELVO A 0..
  35.                CARGADATOS(arreglo2,fila);
  36.                arreglo1[fila][columnachar]='\0';
  37.                fila++;
  38.                columnachar=0;
  39.                }
  40.  
  41.            }
  42.  
  43.        }
  44.        letra='-4';    ///PONGO EN LETRA UN NUMERO PARA QUE ENTRE EN LA PROXIMA FILA.
  45.  
  46.    }
  47.    IMPRIMIR(arreglo1,arreglo2);
  48.  
  49.  
  50.  
  51.  
  52.    return 0;
  53. }
  54.  
  55. void CARGADATOS(int arreglo2[5][8],int fila)
  56. {
  57.    int columna=0,puntos=0,ganados=0,empatados=0,perdidos=0,golesafavor=0,golesrecibidos=0,diferencia=0,partidosjugados=0;
  58.  
  59.    printf ("Ingrese la cantidad de partidos jugados: ");
  60.    scanf ("%d",&partidosjugados);
  61.    printf ("Ingrese la cantidad de partidos ganados: ");
  62.    scanf ("%d",&ganados);
  63.    printf ("Ingrese la cantidad de partidos empatados: ");
  64.    scanf ("%d",&empatados);
  65.    printf ("Ingrese la cantidad de goles a favor: ");
  66.    scanf ("%d",&golesafavor);
  67.    printf ("Ingrese la cantidad de goles recibidos: ");
  68.    scanf ("%d",&golesrecibidos);
  69.  
  70.    puntos=ganados*3 + empatados;
  71.    diferencia=golesafavor-golesrecibidos;
  72.  
  73.  
  74.    arreglo2[fila][columna]=puntos;
  75.    columna++;
  76.    arreglo2[fila][columna]=partidosjugados;
  77.    columna++;
  78.     arreglo2[fila][columna]=ganados;
  79.    columna++;
  80.     arreglo2[fila][columna]=empatados;
  81.    columna++;
  82.     arreglo2[fila][columna]=perdidos;
  83.    columna++;
  84.     arreglo2[fila][columna]=golesafavor;
  85.    columna++;
  86.     arreglo2[fila][columna]=golesrecibidos;
  87.    columna++;
  88.     arreglo2[fila][columna]=diferencia;
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97. }
  98.  
  99. void IMPRIMIR(char arreglo1[5][20],int arreglo2[5][8])
  100. {
  101.    int fila=0,columna=0;
  102.  
  103.   for (fila=0;fila<5;fila++)
  104.   {
  105.       printf ("%s",arreglo1[fila]);    ///IMPRIMO EL NOMBRE DE UN EQUIPO
  106.       for (columna=0;columna<8;columna++)
  107.       {
  108.  
  109.           printf ("  %d  ",arreglo2[fila][columna]);  /// CON EL FOR DE ADENTRO IMPRIMO TODA LA COLUMNA DE NUMEROS.
  110.  
  111.  
  112.       }
  113.       printf ("\n");
  114.   }
  115.  
  116.  
  117.  
  118.  
  119. }
  120.  


El problema es que al momento de ejecutarlo tira todos numeros y letras raras. El compilador que uso es el codeblocks que informa si tengo algun error, en este caso lanzo lo siguiente que no logro entender que significa.

Linea 44

Warning: multi-character character constant (-Wmultichar)
Warning: overflow in implicit constant conversion (-Woverflow)


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: (Consulta) Ejercicio en C - Errores que no logro entender.
« Respuesta #1 en: 21 Agosto 2016, 17:38 pm »

Código
  1. letra='-4';

Letra es un char, no puede tener 2 simbolos, '-'  y '4'.

si quieres manejarlo como numeros entonces debe de ser un entero y se declara asi:

Código
  1. int letra;
  2. letra =4;
  3. //algo mas
  4. letra = -4;

No he visto que hace todo tu codigo pero eso es lo del error que preguntas.

Saludos


En línea

palacio29

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Re: (Consulta) Ejercicio en C - Errores que no logro entender.
« Respuesta #2 en: 21 Agosto 2016, 19:04 pm »

Código
  1. letra='-4';

Letra es un char, no puede tener 2 simbolos, '-'  y '4'.

si quieres manejarlo como numeros entonces debe de ser un entero y se declara asi:

Código
  1. int letra;
  2. letra =4;
  3. //algo mas
  4. letra = -4;

No he visto que hace todo tu codigo pero eso es lo del error que preguntas.

Saludos

Hola

Muchas gracias, si tenes razon!, que tonto q soy, muchas gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No logro realizar una consulta con limite !!
PHP
Diabliyo 2 2,006 Último mensaje 19 Julio 2008, 00:55 am
por дٳŦ٭
Entender lo que hay que hacer en este ejercicio.
Scripting
Meta 5 3,566 Último mensaje 14 Octubre 2010, 06:15 am
por Meta
ayuda para entender la rta de este ejercicio
Java
JuanLopezla 2 1,715 Último mensaje 1 Agosto 2012, 22:06 pm
por JuanLopezla
(PYTHON) No logro entender una parte del código
Scripting
Runforyourlife 2 1,847 Último mensaje 3 Agosto 2015, 16:53 pm
por Runforyourlife
(consulta) No logro ralentizar la salida!
Programación C/C++
Cabezon_Encebollao 1 1,673 Último mensaje 17 Junio 2016, 00:49 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines