Dev - C++ - Error al enviar parametros: expected primary-expression before int...

 
Vista:
sin imagen de perfil

Error al enviar parametros: expected primary-expression before int...

Publicado por Diana (1 intervención) el 17/08/2017 21:23:21
Buenas! debo tener varios errores, pero los principales son a la hora de enviar los parámetros: expected primary-expression before int y too few arguments to function int...
agradecería cualquier ayuda que me pudieran dar.

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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
using namespace std;
int damas(int totaldamas, int totdimp, int td, int subtotal, int sub1, int sub2, int sub3);
int cosmeticos(int totalcosmet, int totalcimp, int tc);
int zapateria(int totalzapat, int totalzimp, int tz);
int deptos();
int cant;
 
 
int deptos(){
int opc, resp, totdepd;
int totaldamasimpuesto;
int totalcosmetimpuesto;
int totalzapatimpuesto;
int totalapagar=0;
int puntos=0;
 
	cout<<"Digite un numero para elegir el departamento 1-Damas, 2-Cosmeticos o 3-Zapateria"<<endl;
	cin>>opc;
 
	switch(opc){
		case 1:
		do{
		damas(int totaldamas, int totdimp, int td, int subtotal, int sub1, int sub2, int sub3);
		cout<<"Desea realizar otra compra en este departamento: 1-Si, 2-No"<<endl;
        cin>>resp;
        cout<<"Total en el departamento: "<<damas(totaldamasimpuesto)<<endl;
        }while(resp!=2);
 
		break;
 
	    case 2:
	    do{
			cosmeticos(int totalcosmet, int totalcimp, int tc);
		cout<<"Desea realizar otra compra en este departamento: 1-Si, 2-No"<<endl;
        cin>>resp;
          cout<<"Total en el departamento: "<<cosmeticos(totalcosmetimpuesto)<<endl;
        }while(resp!=2);
		break;
 
		case 3:
		do{
			zapateria(int totalcosmet, int totalcimp, int tc);
		cout<<"Desea realizar otra compra en este departamento: 1-Si, 2-No"<<endl;
        cin>>resp;
          cout<<"Total en el departamento: "<<zapateria(totalzapatimpuesto)<<endl;
        }while(resp!=2);
		break;
 
    totalapagar=totaldamasimpuesto+totalcosmeticos+totalzapatimpuestos;
    cout<<"Su total a pagar es: "<<totalapagar<<endl;
 
    puntos=totalapagar/1000*3;
    cout<<"Ha ganado: "<<puntos<<" puntos"<<endl;
}
}
 
int damas(int totaldamas, int totdimp, int td, int subtotal, int sub1, int sub2, int sub3){
int opc2;
 
 
    cout<<"Digite 1-Blusas, 2-Jeans, 3-Shorts, 4-Abrigos"<<endl;
	cin>>opc2;
		    switch(opc2){
		       	case 1:
		       	    cout<<"El precio de las blusas es de 13.000 colones"<<endl;
		       	    cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subtotal=13000*cant;
		       	    cout<<"Su subtotal por esta compra es de: "<<subtotal<<endl;
		       	break;
 
		       	case 2:
		       		cout<<"El precio de los jeans es de 20.000 colones"<<endl;
		       		cout<<"Digite la cantidad"<<endl;
		       		cin>>cant;
		       		sub1=20000*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<sub1<<endl;
		       	break;
 
		       	case 3:
		       		cout<<"El precio de los shorts es de 10.000 colones"<<endl;
		       		cout<<"Digite la cantidad"<<endl;
		       		cin>>cant;
		       		sub2=10000*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<sub2<<endl;
		       	break;
 
		       	case 4:
		       	    cout<<"El precio de los abrigos es de 19.000 colones"<<endl;
		       	    cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    sub3=19000*cant;
		       	    cout<<"Su subtotal por esta compra es de: "<<sub3<<endl;
		       	break;
totaldamas=subtotal+sub1+sub2+sub3;
totdimp=totaldamas*0.13;
td=totaldamas+totdimp;
return td;
}
}
int cosmeticos(int totalcosmet, int totalcimp, int tc){
int opc3,subc1=0,subc2=0,subc3=0,subc4=0;
    cout<<"Digite 1-Base compacta, 2-Rubor, 3-Mascara de pestanas, 4-Sombras"<<endl;
    cin>>opc3;
            switch(opc3){
            	case 1:
            		cout<<"El precio de la base compacta es de 11.250 colones"<<endl;
            		cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subc1=11250*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<subc1<<endl;
            	break;
 
            	case 2:
            		cout<<"El precio del rubor es de 10.800 colones"<<endl;
            		cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subc2=10800*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<subc2<<endl;
            	break;
 
            	case 3:
            		cout<<"El precio de la mascara es de 9.500 colones"<<endl;
					cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subc3=9500*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<subc3<<endl;
            	break;
 
            	case 4:
            		cout<<"El precio de las sombras es de 12.000 colones"<<endl;
            		cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subc4=12000*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<subc4<<endl;
            	break;
    totalcosmet=subc1+subc2+subc3+subc4;
    totalcimp=totalcosmet*0.13;
    tc=totalcosmet+totalcimp;
return tc;
}
}
 
int  zapateria(int totalzapat, int totalzimp, int tz){
int opc4,subz1=0,subz2=0,subz3=0,subz4=0;
       cout<<"Digite 1-Tennis, 2-Sandalias, 3-Tacones, 4-Flats"<<endl;
       cin>>opc4;
       switch(opc4){
            	case 1:
            		cout<<"El precio de las tennis es de 49.000 colones"<<endl;
            		cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subz1=49000*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<subz1<<endl;
            	break;
 
            	case 2:
            		cout<<"El precio de las sandalias es de 11.300 colones"<<endl;
            		cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subz2=11300*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<subz2<<endl;
            	break;
 
            	case 3:
            		cout<<"El precio de los tacones es de 22.500 colones"<<endl;
            		cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subz3=22500*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<subz3<<endl;
            	break;
 
            	case 4:
            		cout<<"El precio de los flats es de 14.000 colones"<<endl;
            		cout<<"Digite la cantidad"<<endl;
		       	    cin>>cant;
		       	    subz4=14000*cant;
		       		cout<<"Su subtotal por esta compra es de: "<<subz4<<endl;
            	break;
    totalzapat=subz1+subz2+subz3+subz4;
    totalzimp=totalzapat*0.13;
    tz=totalzapat+totalzimp;
return tz;
}
}
 
 
int main(int argc, char** argv) {
int salir, codcl;
cout<<"Tienda RO.AR"<<endl;
do{
	cout<<"Digite el codigo de cliente"<<endl;
	cin>>codcl;
    deptos();
 
cout<<"Desea realizar otra compra: 1-si, 2-no"<<endl;
cin>>salir;
}while(salir!=1);
 
 
 
 
	  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
Imágen de perfil de Xhred

Error al enviar parametros: expected primary-expression before int...

Publicado por Xhred (18 intervenciones) el 18/08/2017 03:01:55
Estas poniendo cosas innecesarias dentro de tus funciones por ejemplo en tu primer Case de tu primer Switch

tienes la siguiente función damas a esta funcion le defines varios parametros totaldamas, totdimp, td, subtotal, sub1, sub2, sub1.
1
damas(int totaldamas, int totdimp, int td, int subtotal, int sub1, int sub2, int sub3);

Pero cuando haces la llamada de esta funcion solamente le introduces un parametro por eso te dice too few arguments to function.
1
cout<<"Total en el departamento: "<<damas(totaldamasimpuesto)<<endl;

La llamada de esta funcion deberia de ser llamada con todos los parametros antes definidos.
Por ejemplo suponemos que introducimos los numeros 1 al 7 por teclado totaldamas = 1, totdimp = 2, td = 3, subtotal = 4, sub1 = 5, sub2 = 6, sub3 = 7 en los parametros definidos para la funcion y el programa lo tomaría de la siguiente forma:
1
damas(1, 2, 3, 4, 5, 6, 7);

Yo recomendaria que todas las funciones las hagas igual que como hiciste la funcion deptos(), o sea, que los parentesis esten vacios en todas las declraciones de funcion y las llamadas de las mismas
1
2
3
4
5
6
7
8
9
damas(){
         //Codigo que tienes en tu programa
}
cosmeticos(){
         //Codigo que tienes en tu programa
}
zapateria(){
        //Codigo que tienes en tu programa
}

Y todo lo que pusiste dentro de los parentesis de estas funciones lo definas fuera de las mismas y para mostrar en pantalla solamente seria de la siguiente manera.
1
cout<<"Total en el departamento: "<<totaldamasimpuesto<<endl;

Y eso debería de resolver el problema pues no veo otros errores mas que los expected primary-expresion before int y too few arguments to function.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar