<mosaic.cnfolio.com>


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 (i
cmd_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 (i
cmd_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 (i>0)
{
free(buffer);

}
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 );
}