P2
Main(){ long media, cont, valor;
Media= 0; cont=0;
Do { Printf(“\n\nDigite um numero inteiro: “}; Scanf(“%ld”, &valor); if (valor >= 0){ media = media + valor; cont = cont + 1; } }while (cont != valor);
Printf(“\n\nFOram digitados %ld números positivos: “, cont); media = media / cont;
Printf(“\n\nA média dos valores positivos digitados é %ld”, media); }
EXERCICIO 2
Utilize ponteiros e vetor de estruturas de 3 posições
Struct reg{char nome[30];char end[30];char cidade[25];char estado[3];char CEP[6];};
Main() { char opcao; int f; struct reg dados[3], struct reg * p;
___p_ = &dados_____;
For(;;) { printf(“1 – entra dados\n”); Printf(“2 – procura\n”); Printf(“3 – fim\n”); Scanf(%c”, &opcao); getchar(); Switch(opcao) { Case ‘1’: entdados(_____); break; Case ‘2’: f=procura(____); If(_____) printf(“nome procura: %s\n”, dados [f].nome); Break;
Case ‘3’: exit(0); } } }
Exclui(____)
Struct reg ____;{ intx;
X = procura(p)
If(x==-1){ printf(“não existe\n”); _____________; }
Else{ printf(‘o nome é %s\n”, _______;}
(p+x)->nome(0) = “*”;
Pintf(“registro excluído”); }
Procura(*p)
Struct reg p; { char nome[20]; int x,y;
Printf(“digite o nome:”); gets(nome);
For(y=0; y<3;y++) { For(x=0;x<20;x++) { If(nome [x]!= dados [y]. nome [x]) break; } If( x==19) { Return y; } }
Return ___________; }
EXERCÍCIO 3
Main() { int x, tot, resultado; char letra, operador;
Printf(“Digite um numero: “); scanf(%d, &resultado); tot = resultado;
Do{ printf(“\nDigite outro numero ou 0 para terminar a operação: “); Scanf(%d, resultado); If( resultado == 0) { break; } x = resultado; Printf(“\nDigite o operador: “); operador = getchar(); Switch(operador) { Case ‘+’; Resultado = soma(tot,x); break; Case ‘-’; Resultado = subtraçao(tot,x); Break; Case ‘*”; Resultado = multiplicação(tot,x); Break; Case ‘/’; Resultado = divisão(tot,x); Break; Printf(“\nResultado: %d %c %d =