Dev - C++ - Que puedo mejorar aquí y una duda en un error.

 
Vista:
Imágen de perfil de Luís
Val: 30
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Que puedo mejorar aquí y una duda en un error.

Publicado por Luís (17 intervenciones) el 15/01/2020 13:57:06
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#include <iostream>
#include <conio2.h>
 
using namespace std;
 
#define Nal 41
#define maxcar 61
#define opmax 51
 
typedef char nombre[maxcar];
typedef char sistema_operativo[opmax];
 
 
typedef struct
{
	nombre usuario;
	sistema_operativo opera;
	float memoria;
	bool usara_app;
 
 
}TFG;
 
typedef TFG FP[Nal];
 
void introducir_inform(TFG FP, float &memoria, int &numuser);
void mostra_inform(const TFG FP, float memoria, int numuser);
void cuantos_sist_oper(const TFG FP, int numuser, int &wp, int &io );
int cuantos_estudiantes(const TFG FP, int numuser);
 
int main(int argc, char * argv[])
{
	TFG FP;
	int numuser;
	float memoria;
	char resp;
	int wp, io;
	cout<<"Desea iniciar el programa s/n: ";
	cin>>resp;
 
	while(resp=='s')
	{
		introducir_inform(FP, memoria, numuser);
		mostra_inform(FP, memoria, numuser);
 
		cout<<"Hay" <<cuantos_estudiantes( FP, numuser);
		cuantos_sist_oper(FP, numuser, wp, io );
		{
 
		}
 
		cout<<"Desea ejecutar de nuevo el programa? s/n";
		cin>>resp;
 
		return 0;
	}
}
 
void introducir_inform(TFG FP, float &memoria, int &numuser)
{
 
	numuser=0;
	char respapp, resp;
	cout<<"Desea introducir algun usuario s/n: ";
	cin >> resp;
 
	while(resp=='s' && numuser<Nal)
	{
 
		cout<<"Introduzca nombre y apellidos sin espacios blancos: ";
		cin >> FP[numuser].usuario;
		cout<<"Introduzca sistema operativo sin espacios blancos: ";
		cin >> FP[numuser].opera;
		cout<<"Introduzca memoria disponible: ";
		cin >> FP[numuser].memoria;
		cout<<"Esta dispuesto a usar la app S/N ";
		cin >> respapp;
 
		switch(respapp)
		{
		case 'S':
			FP[numuser].usara_app=true;
			break;
 
		case 'N':
			FP[numuser].usara_app=false;
			break;
		}
		numuser++;
		cout<<"Desea introducir mas usuarios s/n: ";
		cin>>resp;
	}
}
 
void mostra_inform(const TFG FP, float memoria, int numuser)
{
 
	for (int i=0; i<numuser; i++)
	{
		cout<<"Listado de estudiantes";
		cout<<endl<<FP[numuser].usuario;
		cout<<"Sistema operativo: "<<FP[numuser].opera;
		cout<<"Memoria disponible: "<<FP[numuser].memoria;
 
		if(FP[numuser].usara_app==true)
		{
			cout<<"Esta dispuesto a usar la app";
		}
		else{
			cout<<"No esta dispuesto a usar la app";
		}
		cout<<endl;
	}
 
}
 
void cuantos_sist_oper(const TFG FP, int numuser, int &wp, int &io )
{
 
	for(int i=0; i<numuser; i++)
	{
		switch(FP[i].opera)
		{
		case 'W':
			wp++;
			break;
		case 'i':
			io++;
			break;
		}
	}
	cout<<"Hay "<<io<<" estudiantes que usan iOs y"<<wp<<" que usan Windows Phone";
 
}
 
int cuantos_estudiantes(const TFG FP, int numuser)
{
	int cont=0;
	while(FP.memoria>220 && FP.opera=='A')
	{
		for(int i=0; i<numuser; i++)
		{
			cont++;
 
		}
 
	}
	return cont;
}




Buenas, tengo que este código que estaba haciendo, pero me sale el error en mi función void de introducir datos en mi struct
1
error: no match for 'operator[]' in 'FP[numuser]'
, si pongo un array en mi parametro de la función me funciona, pero no quiero que sea así. Y hay algo que mejorar??
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