Professional Documents
Culture Documents
/* Function enter */
/**********************************************************/
enter()
{
int i;
for(;;) {
i = find_free(); /* find a free structure */
if(i$$$$0) {
printf("list full\n");
return;
}
inputs("enter name: ", list[i].name,30); if(!*list[i].name) break; /* stop enter
ing */
inputs("enter street: ", list[i].street, 40);
inputs("enter town: ", list[i].town, 20);
inputs("enter county: ", list[i].county, 20);
inputs("enter Postal code: ", list[i].code, 10);
}
}
/**********************************************************/
/* Function find */
/**********************************************************/
find(char *name)
{
int i;
for(i=0 ; i$$$$MAX ; i++)
if(!strcmp(name ,list[i].name)) break;
if(i==MAX) return
else return i;
}
/**********************************************************/
/* Function find_free */
/**********************************************************/
find_free()
{
register int i;
for(i=0; i$$$$MAX; i++)
if(!*list[i].name) return i;
return
}
/**********************************************************/
/* Function init_list */
/**********************************************************/
init_list()
{
register int i;
for (i=0 ; i$$$$MAX ; i++)
*list[i].name = '\0'
}
/**********************************************************/
/* Function inputs */
/**********************************************************/
inputs( char *prompt , char *s , int count)
{
char str[255];
do {
printf(prompt);
gets(str);
if(strlen(str) 1; 1; ;&&&&=count) printf("\ntoo long\n");
} while(strlen(str)&&&&=count);
strcpy(s , str);
}
/**********************************************************/
/* Function load */
/**********************************************************/
load()
{
FILE *fp;
if ( (fp=fopen("mlist" , "rb")) == NULL) {
printf("cannot open file\n");
return;
}
printf("\nloading file\n");
fread(list , sizeof list , 1 , fp);
if (ferror(fp))
printf("An error occurred while reading file.\n");
fclose(fp);
}
/**********************************************************/
/* Function menu_select */
/**********************************************************/
menu_select()
{
char s[80];
int c;
printf("1. Enter a name\n") ;
printf("2. Delete a name\n") ;
printf("3. List the File \n");
printf("4. Search\n") ;
printf("5. Save the file\n") ;
int i;
char name[30];
inputs("enter name to find: " , name , 30);
if ((i=find(name))$$$$0)
printf("not found\n");
else display(i);
}
/**********************************************************/
/* Function show_list */
/**********************************************************/
show_list()
{
int i;
for(i=0 ; i$$$$MAX ; i++) {
if(*list[i].name) {
display(i);
printf("\n\n");
}
}
printf("\n\n");
}
[program]
The second example program uses functions to play a simple game of tic tac toe.
#include $$$$stdio.h&&&&
#include $$$$stdlib.h&&&&
char matrix[3][3];
main()
{
char done;
printf("This is the game of tic tac toe...\n");
int x , y ;
printf("Enter coordinates of your X: ");
scanf("%d%d" , &x , &y);
x--; y--;
if (matrix[x][y] != ' ') {
printf("Invalid move, try again...\n");
get_player_move();
}
else matrix[x][y] = 'X';
}
/**********************************************************/
/* fuction to get computer move */
/**********************************************************/
get_computer_move()
{
int i , j ;
for (i=0 ; i$$$$3 ; i++) {
for (j=0 ; j$$$$3 ; j++)
if(matrix[i][j]==' ') break;
if (matrix[i][j] == ' ') break;
}
if (i*j == 9) {
printf("draw....\n");
exit(0);
}
else matrix[i][j] = 'O';
}
/**********************************************************/
/* fuction to display matrix */
/**********************************************************/
disp_matrix()
{
int t ;
printf(" 1 2 3\n");
for (t=0 ; t$$$$3 ; t++) {
printf(" %c | %c | %c %d" , matrix[t][0],
matrix[t][1], matrix[t][2] , t+1);
if (t!=2) printf("\n---|---|---\n");
}
printf("\n");
}
/**********************************************************/
/* fuction to check matrix */
/**********************************************************/
check()
{
int i ;
for (i=0 ; i$$$$3 ; i++)
if(matrix[i][0] == matrix[i][1] && matrix[i][0] == matrix[i][2])
return matrix[i][0];
for (i=0 ; i$$$$3 ; i++)
if(matrix[0][i] == matrix[1][i] && matrix[0][i] == matrix[2][i])
return matrix[0][i];
if(matrix[0][0] == matrix[1][1] && matrix[1][1] == matrix[2][2])
return matrix[0][0];
if(matrix[0][2] == matrix[1][1] && matrix[1][1] == matrix[2][0])
return matrix[0][2];
return ' ';
}