Questão
ID 1542861Disciplina: Tecnologia da Informação
Assunto: C e C++
Ano: 2018 Banca: FUNDATEC - Fundação Universidade Empresa de Tecnologia e Ciências Órgão: Prefeitura Municipal de Foz do Iguaçu
Para responder às questões 48 a 52, considere o código escrito em C que trata de uma primeira versão de um programa, o qual foram solicitados testes. O programa foi compilado e não apresentou erros.
#include <stdio.h> #include <string.h> #define N 30 void a(); void b(); void c(); int sai=0, escolha=0, i=0; typedef struct{ int mat; int status; int oc; float p1,p2,p3; }registro; registro al[N]; int mat_x, OK=0; void main(){ while(!sai){ printf("\n Escolha 0 a 3:\n"); scanf("%d", &escolha); switch(escolha){ case 0: {sai=1;break;} case 1: {a();break;} case 2: {b();break;} case 3: {c();break;} default: {printf("Valor invalido!\n");} } } } void a(){ printf("Digite a matricula: "); scanf("%d", &mat_x); if(al[mat_x].oc) printf("\nOcupado!\n"); else{ printf("\n1a Nota: \n"); scanf("%f", &al[mat_x].p1); printf("\n2a Nota: \n"); scanf("%f", &al[mat_x].p2); printf("\n3a Nota: \n"); scanf("%f", &al[mat_x].p3); al[mat_x].mat=mat_x; al[mat_x].oc=1; if(((al[mat_x].p1+al[mat_x].p2+al[mat_x].p3)/ 3)>=7) al[mat_x].status=1; else al[mat_x].status=0; } } void b(){ printf("\nMatricula: "); scanf("%d", &mat_x); if(mat_x != al[mat_x].mat) printf("\nNao existente."); else printf("%.1f - %.1f - %.1f - %d ", al[mat_x].p1, al[mat_x].p2, al[mat_x].p3, al[mat_x].status); } void c(){ printf("Digite a matricula: "); scanf("%d", &mat_x); printf("\n Matricula: %d. Excluindo. . .", mat_x); al[mat_x].oc=0; } |
Ao executar o programa, foram realizados os seguintes testes (digitação de valores, seguidos da tecla <ENTER>). Para melhorar a visualização, no lugar de <ENTER>, foram colocadas vírgulas. Ex.: “1, 2,” significa 1, seguido de <ENTER>, seguido de 2, seguido de <ENTER>. Abaixo a sequência do teste realizado logo após a execução do programa:
1, 5, 8, 7, 4, 1, 3, 3, 10, 9, 2, 5, 3, 6, 2, 3, 0, |
Logo após “5,” (o décimo segundo número da sequência do teste), o que deve ser mostrado na tela?