C/Visual C - Problemas con el uso de los arrays bidimensionales.

 
Vista:
sin imagen de perfil
Val: 26
Ha aumentado su posición en 2 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Problemas con el uso de los arrays bidimensionales.

Publicado por Ricardo (14 intervenciones) el 29/05/2018 02:37:50
Hola a todos, saludos, estoy haciendo un programa que presenta un menu con switch-case pero tengo que usar arrays bidimensionales, el problema es lo que se puede apreciar en las siguientes fotos:

WLKnAun

0rrJLiZ

Cuando elijo 'a' para dar de alta el nombre del estado, el numero de municipios y la cantidad de habitantes todo parece que lo hace bien me manda de nuevo al menú pero lo hace dos veces como se muestra en la primera imagen despues cuando elijo consulta general o especifica por estado me sale el error que se muestra en la segunda imagen espero que me puedan ayudar a entender mis errores.

PD: Aun me falta que cuando elija 'd' se muestre el estado con mas estados.

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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
void consulta_general(char [][50], int [][50], int [][50], int c);
void consulta_estado(char [][50], int [][50], int [][50], int c);
void estado_con_mas_municipios(char [][50], int [][50], int [][50], int c);
void main(){
 
	char opc, estado[50][50];
	int Nmunicipios[50][50], Nhabitantes[50][50], c=0, i=0;
 
 
	do{
	system("cls");
	printf("\na. ALTAS\nb. CONSULTAS GENERALES\nc. CONSULTAS POR ESTADO\nd. ESTADO CON MAS MUNICIPIOS\ne. SALIR\nOPCION: [ ]\b\b");
	scanf("%c", &opc);
	system("cls");
	switch(opc){
 
	case 'A':
	case 'a':
	printf("\n\t\tMENU ALTAS\n");
 
	printf("\nIntroduce el nombre del estado: ");
	fflush(stdin);
	gets(estado[c]);
	printf("\nIntroduce el numero de municipios: ");
	scanf("%i", &Nmunicipios[c]);
	printf("\nIntroduce el numero de habitantes: ");
	scanf("%i", &Nhabitantes[c]);
 
        ++c;
	break;
 
	case 'B':
	case 'b':
		printf("\n\t\tMENU CONSULTA GENERAL\n");
 
		consulta_general(estado, Nmunicipios, Nhabitantes,c);
		break;
 
	case 'C':
	case 'c':
		printf("\n\t\tMENU CONSULTA POR ESTADO\n");
 
		consulta_estado(estado, Nmunicipios, Nhabitantes,c);
		break;
 
	case 'D':
	case 'd':
		printf("\n\t\tMENU ESTADO CON MAS MUNICIPIOS\n");
 
		estado_con_mas_municipios(estado, Nmunicipios, Nhabitantes,c);
		break;
 
	case 'E':
	case 'e':
		printf("Salir...bye");
		break;
 
	}
 
	}while(opc!='e'&&opc!='E');
 
	system("pause");
 
}
 
void consulta_general(char estado[][50], int Nmunicipios[][50], int Nhabitantes[][50], int c){
int i;
 
	for (i = 0; i<c; ++i)
	{
		printf("\nEstado: %s", estado[i]);
		printf("\nMunicipios: %i", Nmunicipios[i]);
		printf("\nHabitantes: %i", Nhabitantes[i]);
 
	}
	system("pause");
 
}
 
void consulta_estado(char estado[][50], int Nmunicipios[][50], int Nhabitantes[][50], int c){
	int i;
	char aux[50];
 
	printf("\nNombre del estado: ");
	fflush(stdin);
	gets(aux);
 
	for (i = 0; i<c; ++i)
	{
		if (strcmp(aux, estado[i]) == 0)
		{
 
		printf("\nEstado: %s", estado[i]);
		printf("\nMunicipios: %i", Nmunicipios[i]);
		printf("\nHabitantes: %i", Nhabitantes[i]);
 
		}
 
	}
	system("pause");
 
}
 
void estado_con_mas_municipios(char estado[][50], int Nmunicipios[][50], int Nhabitantes[][50], int c){
 
 
system("pause");
}
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