• Nenhum resultado encontrado

2EntradaeSa´ıda–usodearquivos 1Introdu¸c˜ao Datadeentrega: 12dejunhode2012 TerceiroExerc´ıcio-Programa(EP3):LojasPontoChic MAC110–Introdu¸c˜ao`aComputa¸c˜ao–BMeBMA

N/A
N/A
Protected

Academic year: 2022

Share "2EntradaeSa´ıda–usodearquivos 1Introdu¸c˜ao Datadeentrega: 12dejunhode2012 TerceiroExerc´ıcio-Programa(EP3):LojasPontoChic MAC110–Introdu¸c˜ao`aComputa¸c˜ao–BMeBMA"

Copied!
3
0
0

Texto

(1)

Departamento de Ciˆ encia da Computac ¸˜ ao – IME-USP – Primeiro Semestre de 2012 MAC 110 – Introdu¸ c˜ ao ` a Computa¸ c˜ ao – BM e BMA

Terceiro Exerc´ıcio-Programa (EP3): Lojas PontoChic

Informa¸ c˜ oes adicionais

Data de entrega: 12 de junho de 2012

1 Introdu¸ c˜ ao

No EP3 vocˆ e far´ a uso dos seguinte novos t´ opicos: vari´ aveis dos tipos char (para caracteres) e float ou double (para n´ umeros reais), comando switch, fun¸ c˜ oes, leitura e cria¸ c˜ ao de arquivos como descrito na se¸ c˜ ao seguinte. Al´ em disso, vocˆ e implementar´ a o chamado m´ etodo de Newton para ‘determinar ra´ızes de fun¸ c˜ oes’. Ao fazer o EP3 vocˆ e ir´ a aprender v´ arios conceitos novos, todos muito importantes.

2 Entrada e Sa´ıda – uso de arquivos

No EP3 ´ e pedido que vocˆ e fa¸ ca leitura e cria¸ c˜ ao de arquivos de entrada e de sa´ıda. A seguir descrevemos como vocˆ e pode fazer isso.

O seu programa dever´ a ler os dados de um arquivo de entrada. Para isso, vocˆ e pode criar, no mesmo diret´ orio onde se encontra o seu programa, um arquivo chamado “entrada.txt”, com o formato de conte´ udo como especificado abaixo (e tamb´ em no enunciado do EP3). Para criar esse arquivo, vocˆ e pode usar o pr´ oprio ambiente do CodeBlocks. Para tanto, abra um arquivo novo, digite os dados abaixo (ou outros que vocˆ e quiser), e salve-o com o nome “entrada.txt”.

19

v 70.00 3.2 15 p 850.05 3.2 15 n 850.05 70.0 3.2 j 850.05 70.0 15 v 70 1 15

p 980.26 1 15 n 980.25 70.0 1 j 980.25 70.0 15 v 90 50 2

p 150 50 2 n 150 90 50 j 150 90 2 v 1000 200 10 p 1499.97 200 10 n 1499.97 1000 200 j 1499.97 1000 10 n 1200 100 10 n 20810 1000 5 n 20805.8 1000 5

1

(2)

Para fazer leitura dos dados que est˜ ao no arquivo entrada.txt que vocˆ e criou, vocˆ e deve usar o seguinte programa. Al´ em de ler um arquivo de nome entrada.txt este programa cria no disco um arquivo chamado saida.txt (com a sa´ıda/resposta do seu programa).

#include <stdio.h>

#define ENTRADA "entrada.txt"

#define SAIDA "saida.txt"

int main() {

FILE *entrada, *saida;

int n;

float v, p, p_max, j;

char codigo;

entrada = fopen(ENTRADA,"r"); /* Abre o arquivo entrada.txt para leitura */

if (entrada == NULL){ /* O arquivo existe? */

printf("ERRO: arquivo de entrada nao encontrado\n");

return -1; /* Indica que houve erro */

}

saida = fopen(SAIDA,"w"); /* Abre o arquivo saida.txt para escrita */

if (saida == NULL){

printf("ERRO: arquivo de saida nao pode ser gravado!\n");

return -1;

}

/* escreva um cabecalho de identificacao do tipo abaixo no arquivo de saida */

fprintf(saida,"****************************************************************\n");

fprintf(saida,"*** ***\n");

fprintf(saida,"*** MAC0110 - Introducao a Computacao - 1o. semestre 2012 ***\n");

fprintf(saida,"*** Terceiro Exercicio-Programa (EP3) ***\n");

fprintf(saida,"*** ***\n");

fprintf(saida,"*** Aluno : ***\n");

fprintf(saida,"*** Numero USP : ***\n");

fprintf(saida,"*** Curso : ***\n");

fprintf(saida,"*** ***\n");

fprintf(saida,"****************************************************************\n\n\n");

while (!feof(entrada)){ /* Enquanto o fim de arquivo ("end of file") n~ao foi encontrado... */

fscanf(entrada, "%c", &codigo);

switch (codigo) { case ’v’:

fscanf(entrada, "%f %f %d ", &p, &j, &n);

fprintf(saida, "Queremos calcular o valor a vista!\n");

fprintf(saida, "Valor da prestacao: %.2f\n", p);

fprintf(saida, "Valor dos juros: %.2f%%\n", j);

fprintf(saida, "Numero de meses: %d\n\n", n);

break;

2

(3)

case ’p’:

fscanf(entrada, "%f %f %d ", &v, &j, &n);

fprintf(saida, "Queremos calcular o valor das prestacoes!\n");

fprintf(saida, "Valor a vista: %.2f\n", v);

fprintf(saida, "Valor dos juros: %.2f%%\n", j);

fprintf(saida, "Numero de meses: %d\n\n", n);

break;

case ’j’:

fscanf(entrada, "%f %f %d ", &v, &p, &n);

fprintf(saida, "Queremos calcular o valor dos juros!\n");

fprintf(saida, "Valor a vista: %.2f\n", v);

fprintf(saida, "Valor da prestacao: %.2f\n", p);

fprintf(saida, "Numero de meses: %d\n\n", n);

break;

case ’n’:

fscanf(entrada, "%f %f %f ", &v, &p_max, &j);

fprintf(saida, "Queremos calcular o valor da prestacao e o numero de meses!\n");

fprintf(saida, "Valor a vista: %.2f\n", v);

fprintf(saida, "Valor maximo da prestacao: %.2f\n", p_max);

fprintf(saida, "Valor dos juros: %.2f%%\n\n", j);

break;

default:

/* Leia e ignore os caracteres ate’ o fim da linha. */

while (codigo != ’\n’ && !feof(entrada)) fscanf(entrada, "%c", &codigo);

break;

} }

fclose(entrada); /* Libera os recursos do sistema que estavam sendo usados */

fclose(saida); /* para controlar o acesso aos arquivos. */

return 0; /* Terminou normalmente. */

}

3 Observa¸ c˜ oes Gerais

1. S´ o use os recursos da linguagem

C

que foram vistos em aula e os que fazem parte desse enunciado.

2. Vocˆ e pode considerar que os valores de entrada (ou seja, os valores ` a vista, das presta¸ c˜ oes, dos juros e o n´ umero de presta¸ c˜ oes) s˜ ao sempre positivos, e dentro dos intervalos descritos no enunciado.

3. Para facilitar os testes a serem feitos durante a corre¸ c˜ ao dos programas, deixe a sa´ıda idˆ entica (no conte´ udo e na forma) ao do exemplo do enunciado.

4. N˜ ao esque¸ ca de seguir as observa¸ c˜ oes muito importantes que est˜ ao em Informa¸ c˜ oes sobre a entrega dos EPs.

3

Referências

Documentos relacionados

Sugere-se alteração da resposta para positiva, pois o proponente poderia ser elegível, sim, à Leniência Plus se trouxesse ao conhecimento do CADE uma terceira infração, da qual

Com isso, alguns objetivo foram tra¸ cados tais como: o estudo te´ orico e a implementa¸ c˜ ao num´ erica de m´ etodos aplicados ` a resolu¸ c˜ ao de Sistemas de Equa¸ c˜ oes n˜

11. O Aluno maior de idade, sendo titular dos dados pessoais constantes do presente auto de entrega de bens/equipamentos informáticos autoriza expressamente a que os mesmos

As empresas abrangidas pela presente Norma Coletiva descontarão somente dos seus empregados associados ao sindicato profissional, unicamente no mês de agosto de 2015,

“Quando tratamos da pesquisa qualitativa, freqüentemente as atividades que compõem a fase exploratória, além de antecederem à construção do projeto, também a

camada disponibiliza fun¸ c˜ oes para entrada e sa´ıda da rede publish-subscribe,.. cria¸ c˜ ao de t´ opicos, inscri¸ c˜ ao e remo¸ c˜ ao de inscri¸ c˜ oes em t´ opicos

A magnitude da barreira de potencial, V D , apresentou pouca influência da temperatura com valor médio de 0,71 ± 0,07 eV (Figura 43-b).. Os ajustes dos resultados obtidos em

Tipo de aquisição referente a compra de passagem para embarque em meios de transportes diversos (passagens áereas, rodoviárias ou hidroviárias, em âmbito municipal, estadual,