• Martes 12 de Noviembre de 2024, 21:08

Mostrar Mensajes

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


Mensajes - Lregrey

Páginas: [1]
1
C/C++ / Re: Buenas!!
« en: Jueves 20 de Enero de 2011, 15:30 »
Niguna idea para ordenar las pruebas de mejor a peor?? :S

2
C/C++ / Re: Buenas!!
« en: Miércoles 19 de Enero de 2011, 18:36 »
Aquí ando de nuevo! =) La verdad que pasarme por aquí me ha servido para dar comienzo con el proyecto y ya me queda poco =)

Aquí pego mi codigo... solo me falta dos opciones una de echas no dificil... la dificil y la que me gustaría que me ayudaran si fuera posible es la de ordenar de mejor a peor el resultado de la prueba... :S
Este es el main.c:
Código: C
  1.  #include "opositores.h"
  2.  #include <stdio.h>
  3.  #include <stdlib.h>
  4.  #include <string.h>
  5.  
  6.  main(){
  7.    int repetir,seleccion, contador, posicion;
  8.    contador=0;
  9.    repetir=1;
  10.    char  dni[10];
  11.    opositor opositores[100];
  12.    //Mostramos el menu mientras repetir sea igula a true o 1 ;-)
  13.    while (repetir==1)   {
  14.  
  15.               printf("n1. Dar de alta un opositorn");
  16.               printf("n2. Dar de baja un opositorn");
  17.               printf("n3. Listado completo de los opositoresn");
  18.               printf("n4. Consultar para un opositor el resultado de sus pruebasn");
  19.               printf("n5. Realizar la prueba para un opositorn");
  20.               printf("n6. Listar el resultado de una prueba de mejor a peor resultadon");
  21.               printf("n7. Salirn");  
  22.               printf("n¨Que desea hacer?n");
  23.               scanf("%d",&seleccion);//Capturando la seleccion
  24.    
  25.               switch(seleccion)
  26.               {
  27.                   case 1: printf("Haz elegido dar de altan");
  28.                           altaopositor(opositores,contador);
  29.                           contador++;
  30.                           break;
  31.                   case 2: printf("Haz elegido dar de bajan");
  32.                           printf("nDame el DNI del opositorn");
  33.                           scanf("%s",dni);
  34.                           posicion=buscar(opositores,contador,dni);
  35.                           dardebaja(opositores,contador,posicion);
  36.                           contador--;
  37.                           break;
  38.                   case 3: printf("Haz elegido ver el listado completon");
  39.                           listar(opositores, contador);
  40.                   break;
  41.                   case 4: printf("Haz elegido consultar las pruebas de un opositorn");break;
  42.                   case 5: printf("Haz elegido realizar prueban");
  43.                           printf("nDame el DNI del opositorn");
  44.                           scanf("%s",dni);
  45.                           posicion=buscar(opositores,contador,dni);
  46.                           dardebaja(opositores,contador,posicion);
  47.                           realizar(opositores,posicion);
  48.                           break;
  49.                   case 6: printf("Haz elegido listar el las pruebas de mejor a peorn");break;
  50.                   case 7: repetir=0;break;//se indica que debe salir
  51.                   //Si la opcion es incorrecta, entra aqui
  52.                   default: printf("Opcion Invalida");
  53.                                        
  54.               }
  55.           }
  56.       }
  57.  
  58.  

Este es oposiores.c:
Código: C
  1.  #include "opositores.h"
  2.  #include <stdio.h>
  3.  #include <string.h>
  4.  #include <stdlib.h>
  5.  
  6.  void altaopositor(opositor opositores[],int contador){
  7.       char nombre[20], apellidos[40], dni[10];
  8.       printf("nDame el nombre del opositorn");
  9.       scanf("%s",opositores[contador].nombre);
  10.       printf("nDame el primer apellido del opositorn");
  11.       scanf("%s",opositores[contador].apellidos);
  12.       printf("nDame el DNI del opositorn");
  13.       scanf("%s",opositores[contador].dni);
  14.                             }  
  15.      
  16.      
  17. int buscar(opositor opositores[],int contador, char dni[]){
  18.     int c, op, pOp;
  19.     c=0;
  20.     op=0;
  21.     pOp=-1;
  22.     while(c<contador && !op) {
  23.                      int  comparar=strcmp(opositores[c].dni,dni);
  24.                      if (comparar==0) {
  25.                                       op=1;
  26.                                       pOp=c;
  27.                                       }
  28.                      else {
  29.                           c++;
  30.                                }
  31.                                }
  32.                                return pOp;
  33.                                }
  34.                                
  35. void dardebaja(opositor opositores[],int contador, int posicion){
  36.      while  (posicion<contador-1&&posicion!=-1){
  37.             opositores[posicion]=opositores[posicion+1];
  38.             posicion++;
  39.      }
  40.      }
  41.      
  42. void listar(opositor opositores[],int contador){
  43.      int c=0;
  44.      printf("nListado de opositores.n");
  45.      while(c<contador){
  46.          printf("n%s, %s, DNI:%sn",opositores[c].apellidos, opositores[c].nombre, opositores[c].dni);
  47.          c++;
  48.      }
  49. }
  50.  
  51. void realizar(opositor opositores[],int posicion){
  52.      
  53. int s, salver, milm, cienm ;
  54. int SALTOV=60;
  55. int CIENMETROS=12;
  56. int MILMETROS=180;
  57.  
  58.  
  59.                              
  60.                                       printf("nIntroduce la distancia saltada en cm del participanten");
  61.                                       fflush (stdin);
  62.                                       scanf("%d",&salver);
  63.                                       opositores[posicion].prueba1[0]=salver;
  64.                                       printf("nIntroduce el tiempo que ha tardado en recorrer los 100 metros en segundos del participanten");
  65.                                       fflush (stdin);
  66.                                       scanf("%d",&cienm);
  67.                                       opositores[posicion].prueba2[0]=cienm;
  68.                                       printf("nIntroduce el tiempo que ha tardado en recorrer los 1000 metros en segundos del participanten");
  69.                                       fflush (stdin);
  70.                                       scanf("%d",&milm);
  71.                                       opositores[posicion].prueba3[0]=milm;
  72.                                      
  73.          
  74.                                       for(s=1;s<3;s++){    
  75.                                               if (salver<SALTOV&&cienm<=CIENMETROS&&milm<=MILMETROS) {
  76.                                                                                                    printf("nEl participante debe repertir la prueba de salto.(Tiene %d intentos mas)n", 3-s);
  77.                                                                                                    printf("nIntroduce la distancia saltada en cm del participanten");
  78.                                                                                                    fflush (stdin);
  79.                                                                                                    scanf("%d",&salver);                                                                                                                                                                                                    
  80.                                                                                                    opositores[posicion].prueba1[s]=salver;                                                                                              
  81.                                                                                                    }//Fin cuarto else if
  82.                              else if (salver>=SALTOV&&cienm>CIENMETROS&&milm<=MILMETROS) {
  83.                                                                                                    printf("nEl participante debe repertir la prueba de 100 m.(Tiene %d intentos mas)n", 3-s);
  84.                                                                                                    printf("nIntroduce el tiempo nuevo que ha tardado en recorrer los 100 metros en segundos del participanten");
  85.                                                                                                    fflush (stdin);
  86.                                                                                                    scanf("%d",&cienm);
  87.                                                                                                    opositores[posicion].prueba2[s]=cienm;
  88.                                                                                                                  
  89.                                                                                            }//Fin quinto else if
  90.                               else if (salver>=SALTOV&&cienm<=CIENMETROS&&milm>MILMETROS) {
  91.                                                                                                    printf("nEl participante debe repertir la prueba de 1000 m.(Tiene %d intentos mas)n", 3-s);
  92.                                                                                                    printf("nIntroduce el tiempo nuevo que ha tardado en recorrer los 1000 metros en segundos del participanten");
  93.                                                                                                    fflush (stdin);
  94.                                                                                                    scanf("%d",&milm);      
  95.                                                                                                    opositores[posicion].prueba3[s]=milm;                                                                                            
  96.                                                                                                                      
  97.                                                                                                    }//Fin sexto else if probable
  98.                                                                                                    
  99.                                               else if (salver>=SALTOV&&cienm>CIENMETROS&&milm>MILMETROS) {
  100.                                                                                                    printf("nEl participante debe repertir las prueba de 100 m. y 1000 m. (Tiene %d intentos mas)n", 3-s);
  101.                                                                                                    printf("nIntroduce el tiempo nuevo que ha tardado en recorrer los 100 metros en segundos del participanten");
  102.                                                                                                    fflush (stdin);
  103.                                                                                                    scanf("%d",&cienm);
  104.                                                                                                    opositores[posicion].prueba2[s]=cienm;
  105.                                                                                                    printf("nIntroduce el tiempo nuevo que ha tardado en recorrer los 1000 metros en segundos del participanten");
  106.                                                                                                    fflush (stdin);
  107.                                                                                                    scanf("%d",&milm);
  108.                                                                                                    opositores[posicion].prueba3[s]=milm;
  109.                                                                                                    
  110.                                                                                                  
  111.                                                                                               }//Fin del primer else if probable
  112.                                 else if (salver<SALTOV&&cienm>CIENMETROS&&milm<=MILMETROS) {
  113.                                                                                                    printf("nEl participante debe repertir las prueba de salto y 100 m.(Tiene %d intentos mas)n", 3-s);
  114.                                                                                                    printf("nIntroduce la distancia saltada en cm del participanten");
  115.                                                                                                    fflush (stdin);
  116.                                                                                                    scanf("%d",&salver);
  117.                                                                                                    opositores[posicion].prueba1[s]=salver;
  118.                                                                                                    printf("nIntroduce el tiempo nuevo que ha tardado en recorrer los 100 metros en segundos del participante:n");
  119.                                                                                                    fflush (stdin);
  120.                                                                                                    scanf("%d",&cienm);
  121.                                                                                                    opositores[posicion].prueba2[s]=cienm;                                                                                                  
  122.                                                                                                    
  123.                                                                                                                                                                                                                      
  124.                                                                                         }//Fin del segundo else if probable
  125.                                 else if (salver<SALTOV&&cienm<=CIENMETROS&&milm>MILMETROS) {
  126.                                                                                                    printf("nEl participante debe repertir las prueba de salto y 1000 m.(Tiene %d intentos mas)n", 3-s);
  127.                                                                                                    printf("nIntroduce la distancia saltada en cm del participante:n");
  128.                                                                                                    fflush (stdin);
  129.                                                                                                    scanf("%d",&salver);
  130.                                                                                                    opositores[posicion].prueba1[s]=salver;
  131.                                                                                                    printf("nIntroduce el tiempo nuevo que ha tardado en recorrer los 1000 metros en segundos del participante:n");
  132.                                                                                                    fflush (stdin);
  133.                                                                                                    scanf("%d",&milm);        
  134.                                                                                                    opositores[posicion].prueba3[s]=milm;                    
  135.                                                                                                                                                                                            
  136.                                
  137.                                                                                          }//Fin del tercer else if probable                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  138.                                                                                                                  
  139.                                 else if (salver<SALTOV&&cienm>CIENMETROS&&milm>MILMETROS){                    
  140.                                                                                          printf("nEl participante debe repertir todas las prueba de nuevo.(Tiene %d intentos mas)n", 3-s);  
  141.                                                                                                    printf("nIntroduce la nueva distancia saltada en cm del participante:n");
  142.                                                                                                    fflush (stdin);
  143.                                                                                                    scanf("%d",&salver);
  144.                                                                                                    opositores[posicion].prueba1[s]=salver;
  145.                                                                                                    printf("nIntroduce el tiempo nuevo que ha tardado en recorrer los 100 metros en segundos del participante:n");
  146.                                                                                                    fflush (stdin);
  147.                                                                                                    scanf("%d",&cienm);
  148.                                                                                                    opositores[posicion].prueba2[s]=cienm;
  149.                                                                                                    printf("nIntroduce el tiempo nuevo que ha tardado en recorrer los 1000 metros en segundos del participante:n");
  150.                                                                                                    fflush (stdin);
  151.                                                                                                    scanf("%d",&milm);                                                                                          
  152.                                                                                                    opositores[posicion].prueba3[s]=milm;
  153.                                                                                                    }//Fin septimo probable    
  154.                                                                                                                                                              
  155. }//fin else for s
  156. if (salver>=SALTOV&&cienm<=CIENMETROS&&milm<=MILMETROS) printf("nEl participante numero ha superado la prueba.n");
  157. else printf("nEl participante no ha superado la prueba.n");
  158.  
  159. }    
  160.  
  161.  
  162.  

Aquí opositores.h
Código: C
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct opositor{
  6.         char apellidos[40];
  7.         char nombre[20];
  8.         char dni[10];
  9.         int edad;
  10.         float prueba1[3];
  11.         float prueba2[3];
  12.         float prueba3[3];
  13.         }opositor;
  14.        
  15. void altaopositor(opositor opositores[],int contador);
  16. int buscar(opositor opositores[],int contador, char dni[]);
  17. void dardebaja(opositor opositores[],int contador, int posicion);
  18. void listar(opositor opositores[],int contador);
  19. void realizar(opositor opositores[],int posicion);
  20.  
  21.  

3
C/C++ / Re: Buenas!!
« en: Jueves 13 de Enero de 2011, 16:39 »
Lo siento... Simplemente quiero ayuda para saber ha hacer la cabesera y como introducirla al algoritmo del programa... Tengo el algoritmo del programa lo tengo echo pero solo para ver si pasa las pruebas o no... fue un trabajo anterior el que nos mandaron..
O si fuera posible algun algoritmo que tengais que me pueda servir de ejemplo o ayuda en lo k consiste trabajar con arrays...

Muchas Gracias.

4
C/C++ / Buenas!!
« en: Miércoles 12 de Enero de 2011, 20:53 »
Bueno ante todo me presento: Soy un joven estudiante interesado en la programación y le he echado un vistazo a esta página y parece muy interesante.

Me han encargado el siguiente programa y no tengo ni idea de como empezarlo ni de que hacer... sería posible algo de ayuda?

Aquí el programa:

Designing a C program to manage the opposition to fire a
city. The program must submit the following menu:

1. Register an opponent
2. Derecognition of an opponent
3. Complete list of opponents
4. Refer to an opponent of your test results
5. Testing for an opponent
6. List the result of a test result from best to worst
7. Exit

PRACTICE REQUIREMENTS
Practice requirements are:

1. Arrays should be used to store the list of opponents
2. Using a modular design making each task by a module
3. It must deliver the source code listing
4. Module Flowchart list of opponents
5. The main flowchart
6. CD with documentation and program

Lo pongo en inglés para que si mi profe busca por google no lo encuentre xD

Gracias!

5
C/C++ / Re: FAQ de C/C++
« en: Miércoles 12 de Enero de 2011, 20:48 »
Es posible abrir un nuevo tema, o debo tener un mínimo de mensajes posteados?

Páginas: [1]