Create union integer with members char c, short s, int i and long b. Write a program that inputs the values of type char, short, int, and long and stores the values in union variables of type union integer. Each union variable should be printed as a char, a short, an int and a long. D the values always print correctly? Also create pseodocode or flowchart.
Here is the feedback that I received when I originally turned this in:
I have the following concerns: You need to save your program file with a .c extension. You should declare your union above the main module and then utilize it from within this portion. You have declared the union and then created a function definition prior to entering the main() function.
Here is the original code provided by homework help: Thanks in advance
#include
union myUnion {
char c;
short s;
int i;
long l;
};
void print(myUnion u) {
printf("As a character: %c\n", u.c);
printf("As a short: %hd\n", u.s);
printf("As an int: %d\n", u.i);
printf("As a long: %ld\n\n", u.i);
}
int main() {
myUnion u;
printf("Please enter a character: ");
scanf("%c", &(u.c));
print(u);
printf("Please enter a short: ");
scanf("%hd", &(u.s));
print(u);
printf("Please enter an int: ");
scanf("%d", &(u.i));
print(u);
printf("Please enter a long: ");
scanf("%ld", &(u.l));
print(u);
return 0;

Respuesta :

Answer:

The updated program in C is as follows:

#include <stdio.h>

union myUnion{ char c; short s; int i; long l; };

int main(){

   union myUnion inputs;

   printf("Character: ");    scanf("%c", &inputs.c);

   printf("Output: %c", inputs.c);

   printf("\nShort: ");    scanf("%hd", &inputs.s);

   printf("Short: %hd", inputs.s);

   printf("\nInteger: ");    scanf("%d", &inputs.i);

   printf("Output: %d", inputs.i);

   printf("\nLong: ");    scanf("%ld", &inputs.l);

   printf("Long: %ld", inputs.l);

   return 0;

   }

The pseudocode is as follows:

Function union myUnion {

character; short; int; long

}

main() {

myUnion inputs;

Input inputs.c;  Print inputs.c

Input inputs.s; Print inputs.s

Input inputs.i; Print inputs.i;

Input inputs.l; Print inputs.l

}

Explanation:

This defines the union function

union myUnion{ char c; short s; int i; long l; };

The main begins here

int main(){

This calls the union function to main

   union myUnion inputs;

This prompts and gets input for character variable

   printf("Character: ");    scanf("%c", &inputs.c);

This prints the character input

   printf("Output: %c", inputs.c);

This prompts and gets input for short variable

   printf("\nShort: ");    scanf("%hd", &inputs.s);

This prints the short input

   printf("Short: %hd", inputs.s);

This prompts and gets input for integer variable

   printf("\nInteger: ");    scanf("%d", &inputs.i);

This prints the integer input

   printf("Output: %d", inputs.i);

This prompts and gets input for long variable

   printf("\nLong: ");    scanf("%ld", &inputs.l);

This prints the long input

   printf("Long: %ld", inputs.l);

   return 0;

  ��}