Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Apellidos y nombre:_________________________________________________________________
1
Alumno:___________________________________________________________________________________________
struct Agenda
{
struct Persona Amigos[100];
char Propietario[50];
int NAmigos;
};
int main(){
struct Agenda agenda_personal[5];}// se supone que el usuario tiene 5 agendas
a) Pedir una clave por teclado y comprobar si la clave del último Amigo de la primera agenda coincide con la
pedida por teclado. (1.2 ptos)
char c[10];
cout << "Introduzca la clave: ";
u=agenda_personal[
if(strcmp(c,Agenda_personal.Amigos[u].clave)==0)
cout << "clave correcta";
else
cout << "clave incorrecta";
b) Mostrar el número fijo de todos los Amigos de todas las agendas. (1.8 ptos).
int i, j, k;
for(i=0;i<5;i++){
n_a=agenda_persona [i].nAmigos;
for(j=0;j<n_a ;j++){
for(k=0;k<4; k++){
cout<< agenda_persona[i].Amigos[j].contacto[k].telefono_fijo);
}
}
}
2
Alumno:___________________________________________________________________________________________
agenda_personal[5]
3
Alumno:___________________________________________________________________________________________
Pregunta 3: Indicar cómo va quedando la matriz del ejemplo tras cada iteración si se ejecuta el siguiente
programa. (3 puntos)
1 2 1
2 3 2
3 0 3
int main() 3 0 3
{ Iteración 2:
int M[n][n]= {1,2,1,2,3,2,3,0,3};
int j,d; 15 16 15
j=0;
do{ 23 24 23
if (j%2){
d=Fun(M,0); 3 0 3
}
Iteración 3:
else{
d=Fun(M,1); 15 16 15
}
Proc (M, j, d); 23 24 23
j++;
}while(j<n); 87 84 87
system(“Pause”);
return 0; Iteración 4:
}
4
Alumno:___________________________________________________________________________________________
4.- Programa que calcula el número de créditos y la cantidad de curso que un alumno está matriculado. Sin embargo se han
cometido ciertos errores. Se pide escribir correctamente cada una de las líneas en las que detecte algún error (ya sea de tipo
sintáctico, o un error que hace que la ejecución del programa no sea la esperada)(2 ptos)
Programa con errores Programa sin errores
1 #include<iostream> #include<iostream>
2 #include<string> #include<string>
3 #include <conio.h> #include <conio.h>
4 int main() int main()
5 { {
6 int ncredisp, ncred, ncursos=0,ciclo; int ncredisp, ncred, ncredmat=0, ncursos=0,ciclo;
7 char i, nom[25], seguir; char i, nom[25], seguir;
8 do{ do{
9 printf("Quiere introducir nuevo alumno (S/N): "); printf("Quiere introducir nuevo alumno (S/N): ");
10 getche(seguir); seguir=getche();
11 while(seguir!='S' | | seguir!='s' | | seguir!='N' | | seguir!='n'){ while(seguir!='S' && seguir!='s' && seguir!='N' &&
seguir!='n'){
12 printf("\nOp. erroena, (S/N): "); printf("\nOp. erroena, (S/N): ");
13 seguir=getche();} seguir=getche();}
14 if (seguir== 'N' || seguir== 'n') if (seguir== 'N' || seguir== 'n')
15 ciclo=3; ciclo=3;
16 else{ else{
17 printf("Nombre del alumno: "); printf("Nombre del alumno: ");
18 nom=gets(); gets(nom);
19 printf("Introd. el ciclo (1.-grado 2.- master): "); printf("Introd. el ciclo (1.-grado 2.- master): ");
20 scanf("%i",&ciclo);}//1.- grado 2.- master scanf("%i",&ciclo);}//1.- grado 2.- master
21 switch(ciclo){ switch(ciclo){
22 case 1: case 1:
23 ncredisp=60;ncredmat=0;ncursos=0;i=1; ncredisp=60;ncredmat=0;ncursos=0;i=1;
24 printf("Creditos disponibles: %f\n", ncredisp); printf("Creditos disponibles: %i\n", ncredisp);
25 do{ do{
26 printf("Intr. los creditos de %i- curso: ", i); printf("Intr. los creditos de %i- curso: ", i);
27 scanf("%i", &ncred); scanf("%i", &ncred);
28 while(ncred<0||ncred>ncredisp){ while(ncred<0||ncred>ncredisp){
29 printf("Debe estar entre 0 y %i:", ncredisp); printf("Debe estar entre 0 y %i:", ncredisp);
30 scanf("%i", &ncred);} scanf("%i", &ncred);}
31 ncredmat+=ncred; ncredmat+=ncred;
32 if(ncred>0) if(ncred>0)
33 ncursos+1; ncursos++;
5
Alumno:___________________________________________________________________________________________