Buscar

ponteiros e arquivos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Instituto Federal da Bahia – IFBA 
Campus Vitória da Conquista 
 
Página 1 de 2 
Lista de Exercícios – Ponteiros e Arquivos 
1 - Criar uma função que, recebendo duas palavras, concatena a primeira com a segunda sem usar strcat(). 
Utilize ponteiros. 
 
2 - Qual o resultado produzido pelo programa abaixo? 
#include <iostream> 
using namespace std; 
int main(){ 
int **a, *b, numero; 
cin >> numero; 
a = &b; 
b = &numero; 
cout << *b << " " << b << " " << **a << " " ; 
cout << *a << " " << a << endl; 
return 0;} 
 
3 - Qual o resultado produzido pelo programa abaixo? 
#include <iostream> 
using namespace std; 
int main(){ 
char s[20], *c, **d, *e, **f; 
gets(s); 
c = s; 
e = &s[strlen(s) - 1]; 
d = &c; 
f = &e; 
cout << (e - c) << endl; 
cout << **d << endl; 
cout << **f << endl; 
return 0;} 
 
4 - O programa abaixo se propõe a trocar os valores de duas variáveis inteiras. Por que ele não funciona? 
#include <iostream> 
using namespace std; 
int main(){ 
int v, t, u; 
int *p, *q; 
cin >> v; 
cin >> t; 
p = &v; 
q = &t; 
u = p; 
p = q; 
q = u; 
cout << "Valores trocados: " << v << " e " << t << endl; 
return 0;} 
 
 
Instituto Federal da Bahia – IFBA 
Campus Vitória da Conquista 
 
Página 2 de 2 
5 - O programa abaixo se propõe a copiar o conteúdo de first para last. Por que ele não funciona 
corretamente? 
#include <iostream> 
using namespace std; 
int main(){ 
FILE *arq, *arq_dest; 
char cg; 
if((arq = fopen("first", "w+")) == NULL){ 
cout << "Erro" << endl; 
exit(1);} 
do{ 
cg = getchar(); 
putc(cg, arq); 
}while(cg != '@'); 
if((arq_dest = fopen("last", "w+")) == NULL){ 
cout << "Erro" << endl; 
exit(1);} 
return 0;} 
 
6 - Corrija o problema do programa acima. 
 
7 - O que há de errado no programa abaixo? 
#include <iostream> 
using namespace std; 
int main(){ 
FILE *arq; 
char cg; 
if((arq = fopen("escolas", "w+")) == NULL){ 
cout << "Erro" << endl; 
exit(1);} 
do{ 
cg = getchar(); 
putc(cg, arq); 
}while(cg != '@'); 
cout << endl; 
while((cg = getc(arq)) != EOF) 
putchar(cg); 
fclose(arq); 
cout << endl; 
system("PAUSE"); 
return 0;} 
 
8- Construir um programa que copia o conteúdo de um arquivo-texto para outro, trocando as letras 
minúsculas pelas maiúsculas.

Outros materiais