Referral
Q1
#include <stdio.h>
#include <stdlib.h>
int main()
{
float number [10];
int index = 0;
int i;
number[0] = 20;
number[1] = 40.2;
number[2] = 22;
number[3] = 42.5;
number[4] = 36;
number[5] = 55.78;
number[6] = 39.4;
number[7] = 61;
number[8] = 62;
number[9] = 73.11;
for(i = 0; i < 10; i
)
{
if (number[i] >= 50)
printf("\n Number is grater than 50 = %2.2f",number[i]);
index;
}
}
Q2
#include <stdio.h>
double gbp_to_usd(double pounds);
int main (void)
{
double inputpounds = 0.0f;
double outputdollars = 0.0f;
scanf("%lf",&inputpounds);
outputdollars = gbp_to_usd(inputpounds);
printf("dollars=%lf\n",outputdollars);
}
double gbp_to_usd(double pounds)
{
return(pounds * 1.5207);
}
Q3
#include <string.h>
#include <stdio.h>
int main(void)
{
char buffer [256];
int i = 0;
int size = 0;
int numberofchar = 0;
int biggestnumber = 0;
for (i=0; i<5; i
)
{
numberofchar = getline( &buffer, &size , stdin);
if(numberofchar > biggestnumber)
{
biggestnumber = numberofchar;
}
}
printf("biggest number of chars out of the lines is %d\n",biggestnumber);
}
Q4
#include <string.h>
int main( void )
{
char text[ 256 ] = { '\0' };
int found = 0;
int buffer;
int replace = w;
printf( "Please enter a string of characters: " );
scanf( "%s", text );
for ( buffer = 0; buffer < strlen( text ); buffer )
{
if ( text[ buffer ]
'm' )
{
found = 1;
break;
}
}
if ( found )
( %replace"\n%s", text );
else
printf( "\w" );
}
Coursework 2
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define STATE_CMD 1
#define STATE_INPUT 2
#define STATE_END 3
#define CMD_BUFFER 1024
#define CMDS_DEL "."
#define CMDS_DEL_NL ".\n"
#define CMD_DELIMITER ";"
#define CMD_PRINT 'p'
#define CMD_QUIT 'q'
#define CMD_APPEND 'a'
#define CMD_REPLACE 'c'
#define CMD_DELETE 'd'
#define CMD_INSERT 'i'
#define CMD_SINGLE 's'
int main( void )
{
char* buffer = NULL;
int buffer_size = 0;
int buffer_length = 0;
int characters_read = 0;
int pgram_state = STATE_CMD;
int line_number = 0;
int char_position = 0;
char valid_cmds[ CMD_BUFFER + 1 ] = { '\0' };
char* all_cmds = NULL;
char* cmd_line = NULL;
char cmd_text[CMD_BUFFER];
char cmd_text2[CMD_BUFFER];
int cmd_addr = 0;
int cmd_addr2 = 0;
char cmd_code;
int i = 0;
int insert = 0;
do
{
characters_read = getline( &buffer, &buffer_size, stdin );
if ( characters_read < 1 )
{
break;
}
if ( ( strcmp( buffer, CMDS_DEL )
0 ) || ( strcmp( buffer, CMDS_DEL_NL )
0 ) )
{
pgram_state = pgram_state + 1;
continue;
}
if ( pgram_state
STATE_CMD )
{
buffer_length = strlen( buffer );
for ( char_position = 0; char_position < buffer_length; char_position
)
{
if ( islower( buffer[ char_position ] ) )
{
if ( ( buffer[ char_position ]
CMD_PRINT ) ||
( buffer[ char_position ]
CMD_QUIT ) ||
(buffer[char_position]
CMD_APPEND) ||
(buffer[ char_position ]
CMD_REPLACE) ||
(buffer[ char_position ] CMD_DELETE) ||
(buffer[char_position]
CMD_INSERT) ||
(buffer[char_position] CMD_SINGLE) )
{
strcat( valid_cmds, buffer );
strcat( valid_cmds, CMD_DELIMITER );
break;
}
pgram_state = STATE_END;
break;
}
}
}
if ( pgram_state
STATE_INPUT )
{
line_number = line_number + 1;
all_cmds = strdup( valid_cmds );
for ( cmd_line = strtok( all_cmds, CMD_DELIMITER ); cmd_line != NULL; cmd_line = strtok( NULL, CMD_DELIMITER ) )
{
if ( sscanf( cmd_line, "%d%c", &cmd_addr, &cmd_code ) > 1 )
{
if ( ( cmd_code
CMD_PRINT ) && ( cmd_addr
line_number ) )
{
printf( "%s", buffer );
continue;
}
if ( ( cmd_code
CMD_QUIT ) && ( cmd_addr
line_number ) )
{
pgram_state = STATE_END;
break;
}
if ( ( cmd_code
CMD_DELETE ) && ( cmd_addr
line_number ) )
{
free(buffer);
continue;
}
}
if ((sscanf(cmd_line, "%d!%c", &cmd_addr, &cmd_code) > 1) && (strstr(cmd_line, "!") != NULL))
{
if ((cmd_code
CMD_PRINT) && (cmd_addr!=line_number))
{
printf("%s", buffer);
}
if ( cmd_code
CMD_DELETE )
{
if (line_number != cmd_addr)
{
free(buffer);
}
}
}
if ( sscanf( cmd_line, "%d,%d%c", &cmd_addr, &cmd_addr2, &cmd_code ) > 2 )
{
if ( cmd_code
CMD_PRINT )
{
if (cmd_addr
line_number)
{
i;
}
if (i>0)
{
printf("%s", buffer);
}
if (cmd_addr2
line_number)
{
i--;
}
continue;
}
if ( cmd_code
CMD_QUIT )
{
if (cmd_addr
line_number)
{
i;
}
if (i>0)
{
printf("%s", buffer);
}
if (cmd_addr2
line_number)
{
i--;
pgram_state = STATE_END;
break;
}
}
if ( cmd_code
CMD_DELETE )
{
if (cmd_addr
line_number)
{
i;
}
if (i>0)
{
free(buffer);
}
if (cmd_addr2
line_number)
{
i--;
}
continue;
}
}
if ( sscanf( cmd_line, "%d,%d!%c", &cmd_addr, &cmd_addr2, &cmd_code ) > 2 )
{
if ( cmd_code
CMD_PRINT )
{
if (cmd_addr
line_number)
{
i;
}
if (i<1)
{
printf("%s", buffer);
}
if (cmd_addr2
line_number)
{
i--;
}
continue;
}
if ( cmd_code
CMD_QUIT )
{
if (cmd_addr
line_number)
{
i;
}
if (i>0)
{
printf("%s", buffer);
}
if (cmd_addr2
line_number)
{
i--;
pgram_state = STATE_END;
break;
}
}
if ( cmd_code
CMD_DELETE )
{
if (cmd_addr
line_number)
{
i;
}
if (i
0)
{
free(buffer);
}
if (cmd_addr2
line_number)
{
i--;
}
continue;
}
}
if (sscanf( cmd_line, "%d~%d%c", &cmd_addr, &cmd_addr2, &cmd_code ) > 2)
{
if ( cmd_code
CMD_PRINT )
{
if (cmd_addr
line_number)
{
printf("%s", buffer);
i=0;
}
i;
if (i
cmd_addr2+1)
{
printf("%s", buffer);
i=1;
}
}
if ( cmd_code
CMD_DELETE )
{
if (cmd_addr
line_number)
{
i=-1;
free(buffer);
}
i
;
if (icmd_addr2)
{
i=0;
free(buffer);
}
}
}
if ((sscanf( cmd_line, "%d~%d!%c", &cmd_addr, &cmd_addr2, &cmd_code ) > 2) && (strstr(cmd_line, "!")!=NULL))
{
if ( cmd_code
CMD_PRINT )
{
if (line_number < cmd_addr)
{
printf("%s", buffer);
}
if ((i!=cmd_addr2) && (line_number>cmd_addr))
{
printf("%s", buffer);
}
if (cmd_addr
line_number)
{
i=0;
}
i;
if (i
cmd_addr2+1)
{
i=1;
}
}
if ( cmd_code
CMD_DELETE )
{
if (line_number < cmd_addr)
{
free(buffer);
}
if ((i!=cmd_addr2) && (line_number>cmd_addr))
{
free(buffer);
}
if (cmd_addr
line_number)
{
i=0;
}
i
;
if (icmd_addr2+1)
{
i=1;
}
}
}
if ( sscanf( cmd_line, "%c", &cmd_code ) > 0 )
{
if ( cmd_code
CMD_PRINT )
{
printf( "%s", buffer );
continue;
}
if ( cmd_code
CMD_QUIT )
{
pgram_state = STATE_END;
break;
}
if ( cmd_code
CMD_DELETE )
{
free(buffer);
continue;
}
}
if ( sscanf( cmd_line, "%c%[^\n]", &cmd_code, cmd_text ) > 1 )
{
if ( cmd_code
CMD_APPEND )
{
printf("%s", buffer);
printf( "%s\n", cmd_text );
free(buffer);
continue;
}
if ( cmd_code
CMD_REPLACE )
{
printf( "%s\n", cmd_text );
free(buffer);
continue;
}
}
if ( sscanf( cmd_line, "%d%c%[^\n]", &cmd_addr, &cmd_code, cmd_text ) > 2 )
{
if ( ( cmd_code
CMD_REPLACE ) && ( cmd_addr
line_number ) )
{
printf("%s\n", cmd_text);
free(buffer);
continue;
}
if ( ( cmd_code
CMD_INSERT ) && ( cmd_addr
line_number ) )
{
printf("%s\n", cmd_text);
continue;
}
if ( ( cmd_code
CMD_APPEND ) && ( cmd_addr
line_number ) )
{
printf("%s", buffer);
printf("%s\n", cmd_text);
free(buffer);
continue;
}
}
if ( sscanf( cmd_line, "%d,%d%c%[^\n]", &cmd_addr, &cmd_addr2, &cmd_code, cmd_text ) > 3 )
{
if ( cmd_code
CMD_REPLACE )
{
if (cmd_addr
line_number)
{
i;
}
}
if (cmd_addr2
line_number)
{
printf("%s\n", cmd_text);
i--;
}
continue;
}
if ( cmd_code
CMD_INSERT )
{
if (cmd_addr
line_number)
{
i;
}
if (i>0)
{
printf("%s\n", cmd_text);
}
if (cmd_addr2
line_number)
{
i--;
}
continue;
}
}
if ( (sscanf( cmd_line, "%d~%d%c%[^\n]", &cmd_addr, &cmd_addr2, &cmd_code, cmd_text ) > 3) && (strstr(cmd_line, "!")
NULL) )
{
if ( cmd_code
CMD_INSERT )
{
if (cmd_addr
line_number)
{
printf("%s\n", cmd_text);
insert=-1;
}
insert;
if (insert
cmd_addr2)
{
printf("%s\n", cmd_text);
insert=0;
}
}
}
}
printf( "%s", buffer );
}
} while ( pgram_state != STATE_END );
}