exemplo.c

/* MAC0122 - Princípios de Desenvolvimento de Algoritmos  *
 *                                                        *
 * Prof. Alair                                            *
 *                                                        *
 * Primeiro Exercício-Programa: Um Compilador de Fractais *
 *                                                        *
 * Nome - número USP                                      */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define  PI 3.14159265358979323846


int main(int argc, char *argv[]) {
  int n; /* nível de recursão da curva fractal */
  double alfa; /* valor alfa */
  double beta; /* valor de beta */
  double u; /* comprimento u */
  double x, y; /* coordenadas x e y do estado inicial */
  
  char *R; /* string correspondente à recorrência */
  char *A; /* string correspondente ao axioma */

  if(argc != 9) {
    /* impressão de mensagem de erro */
    fprintf(stderr, "Uso: %s <n> <q1> <R> <A> <u> <x> <y> <q2>\n", argv[0]);
    fprintf(stderr, "   <n> e o nivel de recursao da curva fractal;");
    fprintf(stderr, "   <q1> e o quociente pi/beta;");
    fprintf(stderr, "   <R> e o string R correspondente a recorrencia;");
    fprintf(stderr, "   <A> e o string A correspondente ao axioma;");
    fprintf(stderr, "   <u> e o comprimento u;");
    fprintf(stderr, "   <x> e a coordenada x do estado inicial;");
    fprintf(stderr, "   <y> e a coordenada y do estado inicial;");
    fprintf(stderr, "   <q2> e o quociente pi/alfa, onde alfa e a direcao "
	    "do estado inicial.");

    return(-1);
  }

  /* interpretação dos parâmetros */
  n = atoi(argv[1]);

  beta = PI/atof(argv[2]);

  if((R = malloc(strlen(argv[3]))) == NULL) {
    fprintf(stderr, "Memoria insuficiente");
    return(-1);
  }
  strcpy(R, argv[3]);


  if((A = malloc(strlen(argv[4]))) == NULL) {
    fprintf(stderr, "Memoria insuficiente");
    return(-1);
  }
  strcpy(A, argv[4]);

  u = atof(argv[5]);

  x = atof(argv[6]);

  y = atof(argv[7]);

  alfa = PI/atof(argv[8]);

  /* seu programa */

  return(0);
}

Generated by GNU enscript 1.6.4.