Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Can you please help fix the errors in the code or tell me why it dosnt work? Also, I use visual studio 2022 for this.

Can you please help fix the errors in the code or tell me why it dosnt work?

Also, I use visual studio 2022 for this.

#include

#include

#include //error 1

#include

#include

int main()

{

int sel;

char word[1024];

unsigned char reg = 0;

while (1)

{

printf("1) Author info 2) check status 3) clear status 4) save status 5) load status 6) set LED color 7) Set user value 8) toggle reset 9) turn on 10) turn off 11) Shift 12) Set value 0) Exit ");

printf("Enter your choice: ");

scanf("%d", &sel);

switch (sel)

{

case 1:

printf("Author: Jon Smith Student ID: 1234567 ");

break;

case 2:

printf("Value of stored value: %d ", reg);

printf("Power: ");

if ((reg & 0x01) == 0) printf("OFF ");

else

{

printf("ON ");

printf("Color: ");

if ((reg & 0x60) == 0x00) printf("OFF ");

else if ((reg & 0x60) == 0x20) printf("Red ");

else if ((reg & 0x60) == 0x40) printf("Green ");

else if ((reg & 0x60) == 0x60) printf("Blue ");

printf("Reset: ");

if ((reg & 0x80) == 0x00) printf("Low ");

else printf("High ");

printf("User value: %d ", (reg & 0x18) >> 3);

}

break;

case 3:

reg = 0;

break;

case 4:

printf("Enter file name: ");

scanf("%s", word);

int fd = open(word, O_RDWR | O_CREAT, 0666); //error 2

write(fd, , sizeof(reg)); //error 3 & 4

close(fd); //error 5

break;

case 5:

printf("Enter file name: ");

scanf("%s", word);

int fd = open(word, O_RDONLY);

read(fd, , sizeof(reg));

close(fd);

break;

case 6:

printf("Enter LED color (0-OFF, 1-Red, 2-Green, 3-Blue): ");

int color;

scanf("%d", &color);

reg &= ~0x60;

switch (color)

{

case 1:

reg |= 0x20;

break;

case 2:

reg |= 0x40;

break;

case 3:

reg |= 0x60;

break;

}

break;

case 7:

printf("Enter two binary bits (in decimal form): ");

int bit1, bit2;

scanf("%d%d", &bit1, &bit2); reg &= ~0x18;

reg |= (bit1 << 3) | (bit2 << 4);

break;

case 8: reg ^= 0x80;

break;

case 9: reg |= 0x01;

break;

case 10: reg &= ~0x01;

break;

case 11: printf("Enter shift value (1-left, 2-right): "); int shift; scanf("%d", &shift); if (shift == 1) { int temp = (reg & 0x01) << 7; reg >>= 1; reg |= temp; }

else if (shift == 2) {

int temp = (reg & 0x80) >> 7;

reg <<= 1; reg |= temp;

} break;

case 12: printf("Enter 8-bit value: ");

int value; scanf("%d", &value);

reg = value;

break;

case 0:

return 0;

break;

default: printf("Invalid choice ");

break;

}

}

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

AWS Certified Database Study Guide Specialty DBS-C01 Exam

Authors: Matheus Arrais, Rene Martinez Bravet, Leonardo Ciccone, Angie Nobre Cocharero, Erika Kurauchi, Hugo Rozestraten

1st Edition

1119778956, 978-1119778950

More Books

Students also viewed these Databases questions

Question

cooporate finance

Answered: 1 week ago