home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
049.lha
/
joke.c
< prev
next >
Wrap
C/C++ Source or Header
|
1986-11-20
|
2KB
|
83 lines
/************************* Main *********************/
/* */
/* Joke: a random Joke selector */
/* */
/****************************************************/
#include <stdio.h>
extern int rand(),srand();
extern long time();
FILE *jokefile;
char buf[80],name[80];
short num,line;
#define ABS(x) ((x)>0?(x):(-(x)))
main(argc,argv)
int argc;
char *argv[];
{
char *src;
src = argv[1];
if(src[0]=='?'||(argc!=2&&argc!=3))
{
help:
printf("\f"); /* clear screen (clear) */
center(1," ");
center(2," J O K E O F T H E D A Y ");
center(3," ");
center(5,"Written by");
center(7,"Charles Jeffery Carter");
center(8,"4601 Wilshire Cove ");
center(9,"Huntsville, Ala. 35816");
center(11,"This software may be freely distributed");
center(12,"If you like this program, Let me know! ");
center(14,"Joke is used to help select a random joke for the day!");
center(16,"Usage--> Joke Type [Number]");
center(18,"Types avaliable are in current directory as Type.Joke ");
center(19,"File format is number of records followed by records. ");
center(20,"Each record ends with a '/' in the first column. ;8^) ");
center(22," Press Return to Continue ");
getchar();
printf("\f"); /* reset screen (clear) */
exit(0);
}
strcpy(name,src);
strcat(name,".Joke");
jokefile=fopen(name,"r");
if (jokefile==NULL)
{
printf("File %s not found! Hit Return\n",name);
getchar();
goto help;
}
fgets(buf,80,jokefile);
num=atoi(buf);
if(num==0)
{
printf("Invalid number [%s] in file %s\n",buf,name);
fclose(jokefile);
goto help;
}
srand((short)time(0L));
if(argc==3) line=atoi(argv[2])-1;
else line=rand();
line=ABS(line);
line%=num;
printf("Number %d in %s\n",line+1,name);
while(line && fgets(buf,80,jokefile)) if (buf[0]=='/') --line;
while(fgets(buf,80,jokefile) && buf[0]!='/') printf(buf);
fclose(jokefile);
}
/************************* center ***********************/
center(row,string)
int row;
char *string;
/* printf the string centered on given row */
{
int col;
col = (76-strlen(string))/2;
printf("%d;%dH%s",row,col,string);
}