Buscar

exercicios cap 8

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include<stdio.h>
#define ex5
#ifdef ex1
/*1 - Escreva um programa que receba via teclado um char, int, long, unsigned,
 float, double, unsigned long e unsigned char, declare ponteiros para os
 mesmos e imprima-os no video utilizando o operador de conteudo * no
 seguinte formato:
 10 20 30 40 50 60
 123456789012345678901234567890123456789012345678901234567890
 int long unsigned
 float double	 char
 unsigned long unsigned char
*/
main(){
int varint;
long varlong;
unsigned varu;
float varfloat;
double vardouble;
char varchar;
unsigned long varulong;
unsigned char varuc;
printf("Entre com valores: \n");
printf(">(06) ");
scanf("%d",&varint);
printf(">(11) ");
scanf("%d",&varlong);
printf(">(06) ");
scanf("%u",&varu);
printf(">(15) ");
scanf("%f",&varfloat);
printf(">(15) ");
scanf("%f",&vardouble);
printf(">(01) ");
scanf("%s",&varchar);getchar();
printf(">(11) ");
scanf("%lu",&varulong);
printf(">(03) ");
scanf("%us",&varuc);getchar();
///Ponteiros
int *pvarint = &varint;
long *pvarlong = &varlong;
unsigned *pvaru = &varu;
float *pvarfloat = &varfloat;
double *pvardouble = &vardouble;
char *pvarchar = &varchar;
unsigned long *pvarulong = &varulong;
unsigned char *pvaruc = &varuc;
printf(" 10 20 30 40 50 60\n");
printf("123456789012345678901234567890123456789012345678901234567890\n");
printf(" %-6d %-11d %-6d\n",*pvarint,*pvarlong,*pvaru);
printf(" %-15.0f %-15.0f %-1c\n",*pvarfloat,*pvardouble,*pvarchar);
printf(" %-11lu %-3u\n",*pvarulong,*pvaruc);
}
#endif // ex1
#ifdef ex2
/*2 - Utilizando os 3 comandos de loop while, do-while e for escreva um programa
 para imprimir na tela os conteudos dos vetores abaixo usando ponteiros.
 valores -> 1,10,100,1000,10000,100000,1000000 -> variavel global
 valores -> 1.1,103.34,156987012.456,33.78954e+30 -> variavel local
 string -> isto e' um teste de string dos alunos do 2. ciclo -> variavel
 global
 string -> teste de vetores de string -> variavel local */
main(){
int i; int vetor1[7] = {1,10,100,1000,10000,100000,1000000};
static double vetor2[4] = { 1.1,103.34,156987012.456,33.78954e+30 };
char vetc1[]= {"isto e' um teste de string dos alunos do 2. ciclo\n"};
static char vetc2[]={'t','e','s','t','e',' ','d','o','s',' ','v','e','t','o','r','e','s',' ','d','e',' ','s','t','r','i','n','g','\n'};
///declaração dos ponteiros
int *pvet1; double *pvet2; char *pvetc1, *pvetc2;
///sequencia 1
printf("valores - > ");
for(i=0;i<7;i++){
pvet1= &vetor1[i];
printf("%d, ",*pvet1);
}
printf("\n");
///sequencia 2
printf("valores - > ");
for (i=0;i<4;i++){
pvet2 = & vetor2[i];
printf("%f, ",*pvet2);
}
printf("\n");
///sequencia de string 1
printf("string - > ");
for(i=0;i<50;i++){
pvetc1 = &vetc1[i];
printf("%c",*pvetc1);
}
///sequencia de string 2
printf("string - > ");
for(i=0;i<27;i++){
pvetc2 = &vetc2[i];
printf("%c",*pvetc2);
}
getchar();
}
#endif // ex2
#ifdef ex3
/*
3 - Escreva um programa que tem uma estrutura da dados com os membros abaixo
 e inicialize-a com algum conteudo. Imprima os conteudos no video usando
 ponteiros.
 nome, end, cidade, estado, cep
*/
struct struct_dados{
char nome[50];
char endereco[50];
char cidade[40];
char estado[2];
char cep[9];
};
struct struct_dados membro_dados={"Leandro Santos", "Rua das Goiabas", "Santos","SP","11550000"};
main(){
int i;
char *pnome,*pend,*pcid,*pest,*pcep;
printf("Nome: ");
for (i=0;i<50;i++){
pnome = &membro_dados.nome[i];
printf("%c",*pnome);
}
printf("\n");
printf("Endereco: ");
for (i=0;i<50;i++){
pend = &membro_dados.endereco[i];
printf("%c",*pend);
}
printf("\n");
printf("Cidade: ");
for (i=0;i<40;i++){
pcid = &membro_dados.cidade[i];
printf("%c",*pcid);
}
printf("\n");
printf("Estado: ");
for (i=0;i<2;i++){
pest = &membro_dados.estado[i];
printf("%c",*pest);
}
printf("\n");
printf("CEP: ");
for (i=0;i<9;i++){
pcep = &membro_dados.cep[i];
printf("%c",*pcep);
}
printf("\n");
}
#endif // ex3
#ifdef ex4
/*
4 - Com a estrutura do exercicio acima, defina um vetor de estruturas de 3
 elementos. Receba os dados pelo teclado e imprima-os no video usando
 ponteiros. Utilize um comando de loop. (vetor de estruturas)
*/
struct struct_dados{
char nome[50];
char endereco[50];
char cidade[40];
char estado[2];
char cep[9];
};
struct struct_dados membro_dados[3];
main(){
int i,x;
char *pnome,*pend,*pcid,*pest,*pcep;
for(x=0;x<3;x++){
printf("Nome: ");
gets(membro_dados[x].nome);
printf("Endereco: ");
gets(membro_dados[x].endereco);
printf("Cidade: ");
gets(membro_dados[x].cidade);
printf("Estado: ");
gets(membro_dados[x].estado);
printf("CEP: ");
gets(membro_dados[x].cep);
printf("\n\n");
}
printf("-----------------------------\n");
for(x=0;x<3;x++){
printf("Nome: ");
for (i=0;i<50;i++){
pnome = &membro_dados[x].nome[i];
printf("%c",*pnome);
}
printf("\n");
printf("Endereco: ");
for (i=0;i<50;i++){
pend = &membro_dados[x].endereco[i];
printf("%c",*pend);
}
printf("\n");
printf("Cidade: ");
for (i=0;i<40;i++){
pcid = &membro_dados[x].cidade[i];
printf("%c",*pcid);
}
printf("\n");
printf("Estado: ");
for (i=0;i<2;i++){
pest = &membro_dados[x].estado[i];
printf("%c",*pest);
}
printf("\n");
printf("CEP: ");
for (i=0;i<9;i++){
pcep = &membro_dados[x].cep[i];
printf("%c",*pcep);
}
printf("\n\n");
}
}
#endif // ex4
#ifdef ex5
/*
5 - Defina um vetor de ponteiros com 7 elementos. Receba via teclado 7 strings
 (use ponteiros) e imprima no video as strings usando ponteiros. */
main(){
int i;
char teste[7]={'1','2','3','4','5','6','7'};
char *pteste;
for(i=0;i<7;i++){
pteste = &teste[i];
printf("%c",*pteste);
 }
}
#endif // ex5

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais