Problemas con punteros

Carlos
08 de Febrero del 2006
Estoy haciendo un programa y cuando intento compilar hay un error en un puntero de tipo char y ya no se que hacer para que compile. Pongo el codigo y a ver si alguien consigue quitarme la duda. El programa que uso es el devv-c++

#include <stdio.h>
#include <conio.c>
#include <iostream.h>
#include <string.h>
#include <alloc.h>
#include <stdlib.h>

#define tam 10

void leervector (int *vect, int x){

int i;

for(i=0;i<x;i++){
cout<<"Introduce los datos del alumno "<<i+1<<" ";
cin>>vect[i];
}
}

void leernombre (char x[][tam]){

int i;

for (i=0;i<tam;i++){

cout<<"Introduce el nombre: ";
cin>>x[i];
}
}

void escribir (int *vect, int col){

int i;

for(i=0;i<col;i++){
cout<<vect[i];
}
}
void escribirnombre (char vect[][tam]){

int i;

for(i=0;i<tam;i++){
cout<<vect[i];
}
}


int main (){

int *num,*cal,col,i;
char *nom[tam];
char cabecera[3][4]={"NUM","NOM","CAL"};

cout<<"Introduce el numero de alumnos a mostrar";
cin>>col;

num=(int *)malloc(col*sizeof(int));
if(num==NULL){
cout<<"ERROR";
exit(0);
}
cal=(int *)malloc(col*sizeof(int));
if(cal==NULL){
cout<<"ERROR";
exit(0);}

for (i=0;i<tam;i++){
nom[i]=(char *)malloc((tam)*sizeof(char));
if(nom[i]==NULL){
cout<<"ERROR";
exit(0);}}

cout<<"Introduce los datos de matricula: ";
leervector (num,col);
cout<<"Introduce el nombre del alumno: ";
leernombre (nom);
cout<<"Introduce la nota del alumno: ";
leervector (cal, col);
escribir(num, col);
escribirnombre(nom);
escribir (cal, col);
system("pause");
}



chuidiang
08 de Febrero del 2006
Hola:

Sería estupendo si dijeras en qué línea se produce el error...

se bueno

anonimo
08 de Febrero del 2006
creo que es mejor revisar la semnatica del programa.....

ve que recibes en las funciones y que estas trabajando dentro de estas ahi esta el problema...

nebuchanazer
08 de Febrero del 2006
No se cual es el error que te da, pero en vez de "char *nom[tam]" y reservar memoria para "nom[i]" podrias hacer una estructura, igual te liarias menos.

Saludos