Dev - C++ - registros con matrices

 
Vista:

registros con matrices

Publicado por Antonio (6 intervenciones) el 28/05/2018 21:22:28
Buenas, estoy haciendo un programa para que a partir de un archivo, cargue los datos en una matriz, utilizando un vector para controlar la fila en la que se guarda la información.
El problema que me ha surgido es que al llamar a la función de mostrar el resultado que da es "0 0 0 0 0 0"
Los datos los cargo de un archivo llamado doc.txt con la siguiente estructura:

0 987456321 1 Esteban Ocon:
2 987456321 4 Brendom Hartley:

Si alguien sabe porque no guarda bien el contenido del archivo en el programa por favor que me ayude :(

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define nmax 100
typedef struct vendes{
	char tel[10];
	int conttar;
	char nom[40];
}ventas;
void cargar();
void buscar();
void mostrar();
void main(){
ventas A[3][nmax];
int op, num;
int V[3], i;
char fichero[10], telefono[10];
op=-1;
		for(i=0; i<3; i++){
			V[i]=0;
		}
	while(op!=0){
		printf("1-cargar fichero\n");
		printf("2-introducuir datos\n");
		printf("3-info cliente\n");
		printf("4-info todos los clientes\n");
		printf("5-eliminar cliente\n");
		printf("6-mostrar operadores\n");
		printf("7-salir\n");
		scanf("%d", &op);
		getchar();
			switch(op){
				case 0: printf("salir\n");
					break;
				case 1: system("clear");
					printf("introduce fichero\n");
					scanf("%s", fichero);
					cargar(A, V, fichero);
					mostrar(A, V);
					break;
				case 2: system("clear");
					printf("introduce número de telefono\n");
					scanf("%s", telefono);
					buscar(A, telefono);
					break;
				default: printf("op incorrecta\n");
					break;
			}
		}
}
void cargar(ventas A[3][nmax], int V[], char fich[]){
int opera;
	FILE *archivo;
	archivo=fopen(fich, "r");
		while(fscanf(archivo, "%d", &opera)>0){
			fscanf(archivo, " %s %d %[^:]:", A[opera][V[opera]].tel, &A[opera][V[opera]].conttar, A[opera]
 [V[opera]].nom);
				V[opera]=V[opera]+1;
		}
		fclose(archivo);
 
}
void mostrar(ventas A[3][nmax], int V[]){
int i, j;
	for(i=0; i<3; i++){
		for(j=0; j<V[i]; j++){
			printf("%s %d %s", A[i][V[i]].tel,A[i][V[i]].conttar, A[i][V[i]].nom);
		}
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder