Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con Funcion en C++

Estas en el tema de Problema con Funcion en C++ en el foro de C/C++ en Foros del Web. Hola, buenas tengo una pregunta, estoy haciendo un programa en donde matriculo estudiantes, los busco elimino etc, lo que pasa es que en la funcion ...
  #1 (permalink)  
Antiguo 07/11/2011, 22:40
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Pregunta Problema con Funcion en C++

Hola, buenas tengo una pregunta, estoy haciendo un programa en donde matriculo estudiantes, los busco elimino etc, lo que pasa es que en la funcion borradoEstudiantes, el Dev C++ me muestra un error y pues la verdad no se cual es

Código C++:
Ver original
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <string>
  4. #include <cstdlib>
  5.  
  6. using namespace std;
  7.  
  8.  
  9. int buscar(int vectorCarnet[], int longitud, int variable)
  10. {
  11.     for(int i=0;i<longitud;i++)
  12.     {
  13.       if(vectorCarnet[i]==variable)
  14.       return i;
  15.       }
  16.       return -1;
  17. }
  18.  
  19. void Matriculas(char matrizNombres[][100], char matrizApellidos[][100], int matrizTelefono[], char matrizDireccion[][100], int matrizCarnet[], int control)
  20. {
  21.     int carnetTemp;
  22.                              cout<<"******Nuevo Ingreso******"<<endl;
  23.                              cout<<endl;
  24.                              cout<<"Ingrese el nombre del estudiante #"<<control+1<<":"<<endl;
  25.                              cin>>matrizNombres[control];
  26.                              cout<<endl;
  27.                              cout<<"Ingrese el apellido:"<<endl;
  28.                              cin>>matrizApellidos[control];
  29.                              cout<<endl;
  30.                              cout<<"Ingrese el numero de carnet:"<<endl;
  31.                              cin>>carnetTemp;
  32.                              while(buscar(matrizCarnet,control,carnetTemp)!=-1)
  33.                               {
  34.                                 system("cls");
  35.                                 cout<<"Numero de carnet ya digitado!!! Ingrese un nuevo carnet!!"<<endl;
  36.                                 cout<<"Ingrese el numero de carnet:"<<endl;
  37.                                 cin>>carnetTemp;
  38.                                 }
  39.                              matrizCarnet[control]=carnetTemp;
  40.                              cout<<endl;
  41.                              cout<<"Ingrese el numero de telefono:"<<endl;
  42.                              cin>>matrizTelefono[control];
  43.                              cout<<endl;
  44.                              cout<<"Ingrese direccion:"<<endl;
  45.                              cin>>matrizDireccion[control];
  46.                              cout<<endl;
  47.                              cout<<"El estudiante pago los 20000 colones de la matricula!!"<<endl;
  48.                              cout<<endl;
  49. }
  50. void mostrarEstudiantes(int control, char matrizNombres[][100], char matrizApellido[][100], int matrizTelefono[], int matrizCarnet[], char matrizDireccion[][100])
  51. {
  52.              cout<<"////////////////////////////////Listado de Estudiantes/////////////////////////"<<endl;
  53.              cout<<"Nombres de los Estudiantes"<<setw(15)<<"Carnet"<<setw(15)<<"Telefono"<<setw(15)<<"Direccion"<<endl;
  54.      for(int i=0;i<control;i++)
  55.      {      
  56.              cout<<setw(15)<<matrizNombres[i]<<setw(11)<<matrizApellido[i]<<setw(15)<<matrizCarnet[i]<<setw(15)<<matrizTelefono[i]<<setw(15)<<matrizDireccion[i]<<endl;
  57.              
  58.              }
  59. }
  60. void borradoEstudiantes(char matrizNombre[][100],char matrizApellido[][100],int matrizTelefono[],int matrizCarnet[],char matrizDireccion[][100],int control, int control_eliminado,char matrizNombreEliminado[][100],char matrizApellidoEliminado[][100],int matrizTelefonoEliminado[],int matrizCarnetEliminado[],char matrizDireccionEliminado[][100], int longitud)
  61. {
  62.      int buscar;
  63.      int numeroTemp;
  64.             cout<<"*******Borrado de Estudiante*******"<<endl;                
  65.             cout<<"Ingrese el carnet del estudiante a eliminar:"<<endl;
  66.             cin>>buscar;
  67.                        
  68.             for(int j=0;j<control;j++)
  69.               {
  70.                 if(matrizCarnet[j]==buscar)
  71.                  {
  72.                   cout<<"El estudiante es: "<<matrizNombre[j]<<setw(10)<<matrizApellido[j]<<endl;
  73.                   numeroTemp=j;
  74.                
  75.                   }
  76.                }
  77.             for(int j=0;j<control;j++)
  78.                {
  79.                  if(matrizCarnet[j]!=buscar)
  80.                    {
  81.                       cout<<"El estudiante no existe"<<endl;
  82.                       cout<<endl;
  83.                    }
  84.                }
  85.            
  86.             strcpy(matrizNombreEliminado[control_eliminado],matrizNombre[numeroTemp]);
  87.             strcpy(matrizApellidoEliminado[control_eliminado],matrizApellido[numeroTemp]);
  88.             strcpy(matrizDireccionEliminado[control_eliminado],matrizDireccion[numeroTemp]);
  89.             matrizTelefonoEliminado[control_eliminado]=matrizTelefono[numeroTemp];
  90.             matrizCarnetEliminado[control_eliminado]=matrizCarnet[numeroTemp];
  91.             control_eliminado++;
  92.                                    
  93.                                    
  94.             while(numeroTemp<control)
  95.             {
  96.                strcpy(matrizNombre[numeroTemp],matrizNombre[numeroTemp+1]);
  97.                strcpy(matrizApellido[numeroTemp],matrizApellido[numeroTemp+1]);
  98.                strcpy(matrizDireccion[numeroTemp],matrizDireccion[numeroTemp+1]);
  99.                matrizTelefono[numeroTemp]=matrizTelefono[numeroTemp+1];
  100.                matrizCarnet[numeroTemp]=matrizCarnet[numeroTemp+1];
  101.                numeroTemp++;
  102.             }
  103.             control--;
  104.             longitud--;
  105.                                    
  106.             matrizNombre[control][0]='\0';
  107.             matrizApellido[control][0]='\0';
  108.             matrizDireccion[control][0]='\0';
  109.             matrizTelefono[control]='\0';
  110.             matrizCarnet[control]='\0';
  111.                                    
  112.             cout<<"Eliminando Estudiante....."<<endl;
  113.             cout<<"Espere por favor..."<<endl;
  114.            
  115.             for(int k=0;k<1000000;k++)
  116.             {
  117.                     }
  118.             cout<<"Estudiante eliminado con exito!!!"<<endl;
  119.                                    
  120.                                    
  121.  }
  122.  
  123.  
  124. int main()
  125. {
  126.     char Nombres[3][100];
  127.     char Apellidos[3][100];
  128.     int telefono[3];
  129.     char direccion[3][100];
  130.     int carnet[100];
  131.     char NombresEliminado[3][100];
  132.     char ApellidosEliminado[3][100];
  133.     int telefonoEliminado[3];
  134.     char direccionEliminado[3];
  135.     int carnetEliminado[3];
  136.     int opcion;
  137.     int contador_eliminado=0;
  138.     int numero;
  139.     string respuesta;
  140.     int contador_estudiantes=0;
  141.     int i=0;
  142.  
  143.     while(respuesta!="n" && respuesta!="N")
  144.     {
  145.     cout<<setw(55)<<"******************Matriculas UCR*****************"<<endl;
  146.     cout<<setw(55)<<"**   Digite#1, para matricular estudiantes     **"<<endl;
  147.     cout<<setw(55)<<"**   Digite#2, para buscar estudiantes         **"<<endl;
  148.     cout<<setw(55)<<"**   Digite#3, para ver estudiantes del curso  **"<<endl;
  149.     cout<<setw(55)<<"**   Digite#4, para eliminar estudiante        **"<<endl;
  150.     cout<<setw(55)<<"**   Digite#5, para ver los rubros             **"<<endl;
  151.     cout<<setw(55)<<"**   Digite#6, para ver estudiantes eliminados **"<<endl;
  152.     cout<<setw(55)<<"**   Digite#7, para Salir                      **"<<endl;
  153.     cout<<setw(55)<<"*************************************************"<<endl;
  154.     cout<<endl;
  155.     cout<<"Que opcion desea realizar?"<<endl;
  156.     cin>>opcion;
  157.     system("cls");
  158.  
  159.     switch(opcion)
  160.     {
  161.                       case 1:
  162.                            {
  163.                           if(i<3)
  164.                            {
  165.                                Matriculas(Nombres, Apellidos, telefono, direccion, carnet, i);
  166.                                i++;
  167.                                contador_estudiantes=i;
  168.                                  }
  169.                            else
  170.                            {
  171.                                 system("color 0c");
  172.                                 cout<<"ERROR/Memoria Llena"<<endl;
  173.                             }
  174.                             }
  175.                         break;
  176.  
  177.                         case 2:
  178.                              {
  179.                                  
  180.                              }
  181.                         break;
  182.  
  183.                         case 3:
  184.                              {
  185.                                     mostrarEstudiantes(contador_estudiantes, Nombres, Apellidos, telefono, carnet, direccion);
  186.                              }
  187.                         break;
  188.  
  189.                         case 4:
  190.                              {
  191.                                  borradoEstudiantes(Nombres,Apellidos,telefono,carnet,direccion,contador_estudiantes,contador_eliminado,NombresEliminado,ApellidosEliminado,telefonoEliminado,carnetEliminado,direccionEliminado, i);
  192.                              }
  193.                         break;
  194.  
  195.                        
  196.       break;
  197.       }
  198.      
  199.     cout<<"Desea realizar otra opcion?"<<endl;
  200.     cin>>respuesta;
  201.     system("cls");
  202. }
  203.  
  204.  
  205.     return 0;
  206. }

este es el error que me dice el compilador

cannot convert `char*' to `char (*)[100]' for argument `12' to `void borradoEstudiantes(char (*)[100], char (*)[100], int*, int*, char (*)[100], int, int, char (*)[100], char (*)[100], int*, int*, char (*)[100], int)'
  #2 (permalink)  
Antiguo 08/11/2011, 04:07
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Problema con Funcion en C++

Una reinterpretacion mia del mensaje:

"Si haces una funcion en que recibes un arreglo de cosas, no pases 1 sola cosa como si fuera un arreglo de ellos. No son equivalentes o no se pueden transformar."
__________________
Visita mi perfil en LinkedIn
  #3 (permalink)  
Antiguo 08/11/2011, 10:28
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Problema con Funcion en C++

era que char direccion le faltaba el [100]

Etiquetas: c++, funcion, parametros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:46.