// 04032008.cpp, P H Anderson, Apr 3, '08

#include <stdio.h>

typedef struct
 {
    int da, mo, yr;
 } DATE;


DATE add_one_day(DATE d);
DATE add_days(DATE d, int num_days);
int calc_day_of_year(DATE d);
int calc_num_days(DATE d1, DATE d2); // calculate the number of days between the
// two dates
void print_date(DATE d);
 
int main()
{
    DATE d1 = {3, 4, 2008}, d2, d3;     
    DATE d4 = {3, 4, 2008}, d5 = {9, 10, 2008};
    int day, num_days;
 
    d2 = add_one_day(d1);
    d3 = add_days(d1, 276);
    print_date(d1);
    print_date(d2);
    
    day = calc_day_of_year(d4);
    num_days = calc_num_days(d4, d5);
    
    printf("%i\t%i\n", day, num_days);
            
    while(getchar() != 'x')
    {
    }
}    

DATE add_one_day(DATE d)
{ // stub
     ++d.da;
     return(d);
}
        
DATE add_days(DATE d, int num_days)
{ // stub - a very dumb stub
   ++d.da; ++d.mo;
   return(d);
}
    
int calc_day_of_year(DATE d)
{  // dumb stub
   static int day = 173;
   day = day+ 27;
   return(day);
}
    
int calc_num_days(DATE d1, DATE d2)
{  // stub
   int day1, day2;
   day1 = calc_day_of_year(d1);
   day2 = calc_day_of_year(d2);
   return(day2-day1);
}

void print_date(DATE d)
{
    printf("%02d/%02d/%04d\n", d.mo, d.da, d.yr);
}

********************************
// 04032008b.cpp. P H Anderson

#include <stdio.h>

int main()
{
    char op;
    float v;
    int n;
   
    for (n=0; n<5; n++)
    {
        printf(":");
        scanf("%c %f", &op, &v);
        printf("%c %f\n", op, v);
    }
       
    for (n=0; n<5; n++)
    {
        printf(":");
        fflush(stdin);
        scanf("%c %f", &op, &v);
        printf("%c %f\n", op, v);
    }
    
    while(getchar() != 'x')
    {
    }
}

#ifdef OUTPUT    
:a 1
a 1.000000
:b 2

 1.000000
:b 2.000000
:c 3

 2.000000
:c 3.000000

*****************
:a 1
a 1.000000
:b 2
b 2.000000
:c 3
c 3.000000
:d 4
d 4.000000
:e 5
e 5.000000

#endif

*******************************
//04032008c.cpp, P H Anderson, Apr 3, '08
#include <stdio.h>

int main()
{
    float r = 0.0, v;
    char op;
    
    while(1)
    {
        printf(":");
        fflush(stdin);
        scanf("%c %f", &op, &v);    
        switch(op)
        {
            case 's':
            case 'S': r = v;
                      printf("%.2f\n", r);
                      // error
            case '+': r = r + v;
                      printf("%.2f\n", r);
                      break;
            case 'e':
            case 'E': printf("Done\n");
                      goto DONE;                      
        }
    }
DONE:
    printf("At the DONE\n");
    while(getchar() != 'x')
    {
    }
}       

#ifdef OUTPUT
       
:s 3
3.00
6.00
:e 4
Done
At the DONE                                         

#endif