×
Samples Blogs Make Payment About Us Reviews 4.9/5 Order Now

Create a Program to Implement Structures in C++ Assignment Solution

June 14, 2024
Harry F. Grimmett
Harry F.
🇨🇦 Canada
C++
Harry F. Grimmett, with a master’s in computer science from the University of Kent, is a C++ homework helper, boasting six years of field experience.
Key Topics
  • Instructions
    • Objective
  • Requirements and Specifications
Tip of the day
When working on OCaml assignments, make use of pattern matching to simplify your code. It provides a clean and efficient way to handle different cases, especially for recursive functions and data structures like lists and trees. This can reduce complexity and improve readability.
News
Universities worldwide are seeing a surge in programming enrollment, as coding becomes an essential skill across disciplines. To meet growing academic pressures, more students are seeking online help for programming assignments and coursework.

Instructions

Objective

Write a program to implement structures in C++.

Requirements and Specifications

program-to-implement-structures-in-C (1)
program-to-implement-structures-in-C 1

Source Code

PART 1

#include #include #include // Hold mobile phone information struct Phone { char os[255]; // Operating system like Android, iOS char make[255]; // Google, Apple, Samsung, Huawei and the like int ram; // Ram in GB double size; // Size inches like 6.5, 5.0, 5.5, and the like int battery; // Capacity of battery like 4000mah and the like }; // Create a new phone and add it to the list of phones void addPhone(struct Phone *phones, int capacity, int *numPhones) { // Stop if we ran out of space if (*numPhones >= capacity) { printf("Error: We have reached the maximum number of phones.\n"); return; } // Create the phone struct Phone phone; printf("Enter the operating system (e.g. Android, iOS): "); scanf("%s", phone.os); printf("Enter the make (e.g. Google, Apple, Samsung): "); scanf("%s", phone.make); printf("Enter the RAM in GB: "); scanf("%d", &phone.ram); printf("Enter the screen size in inches (e.g. 6.5, 5.0, 5.2): "); scanf("%lf", &phone.size); printf("Enter battery capacity in mAh: "); scanf("%d", &phone.battery); // Add the new phone phones[(*numPhones)++] = phone; printf("Ok: Phone created.\n"); } // Display the phone details void printPhone(struct Phone *phone) { printf("OS: %s\n", phone->os); printf("Make: %s\n", phone->make); printf("RAM: %d GB\n", phone->ram); printf("Screen Size: %.1lf inches\n", phone->size); printf("Battery Capacity: %d mAh\n", phone->battery); } // Search the phones that matches a screen size void searchPhonesByScreenSize(struct Phone *phones, int numPhones) { printf("Enter the screen size in inches (e.g. 6.5, 5.0, 5.2): "); double size; scanf("%lf", &size); // Find all phones that matches the screen size int numFound = 0; for (int i = 0; i < numPhones; i++) { if (phones[i].size == size) { printPhone(&phones[i]); printf("\n"); numFound++; } } printf("%d phone(s) found.\n", numFound); } // Print all phones void printPhones(struct Phone *phones, int numPhones) { for (int i = 0; i < numPhones; i++) { printPhone(&phones[i]); printf("\n"); } } // Entry point of the program int main() { printf("What is the maximum number of phones we can add? "); int capacity; scanf("%d", &capacity); // Make sure the capacity is logical if (capacity <= 0) { printf("Invalid value.\n"); return 0; } // Initialize the array struct Phone *phones = (struct Phone *) malloc(sizeof(struct Phone) * capacity); int numPhones = 0; // Display a menu while (1) { printf("Menu:\n"); printf("1. Add a new phone\n"); printf("2. Search phones by screen size\n"); printf("3. Display all phones\n"); printf("0. Exit\n"); printf("Option: "); int option; scanf("%d", &option); if (option == 1) addPhone(phones, capacity, &numPhones); else if (option == 2) searchPhonesByScreenSize(phones, numPhones); else if (option == 3) printPhones(phones, numPhones); else if (option == 0) break; printf("\n"); } // Delete the array free(phones); return 0; }

PART 2

#include #include // A cartesian coordinate stores x and y values struct CartesianCoordinate { double x; double y; }; // A polar coordinate stores a length and angle struct PolarCoordinate { double length; double angle; }; // A coordinate can store either a Cartesian or a Polar union Coordinate { struct CartesianCoordinate cartesian; struct PolarCoordinate polar; }; // Convert cartesian to polar union Coordinate convertCartesianToPolar(struct CartesianCoordinate cartesian) { struct PolarCoordinate polar; polar.length = sqrt(pow(cartesian.x, 2) + pow(cartesian.y, 2)); polar.angle = atan(cartesian.y / cartesian.x); polar.angle *= (180 / 3.14); union Coordinate coordinate; coordinate.polar = polar; return coordinate; } // Convert polar to cartesian union Coordinate convertPolarToCartesian(struct PolarCoordinate polar) { struct CartesianCoordinate cartesian; cartesian.x = polar.length * cos(polar.angle * 3.14/180); cartesian.y = polar.length * sin(polar.angle * 3.14/180); union Coordinate coordinate; coordinate.cartesian = cartesian; return coordinate; } // Entry point of the program int main() { // Let the user decide printf("Enter C if you want to enter a cartesian coordinate or P if you want to enter a polar coodinate: "); char option; scanf("%c", &option); if (option == 'C' || option == 'c') { // Create a cartesian coordinate and convert it to polar struct CartesianCoordinate cartesian; printf("Enter X: "); scanf("%lf", &cartesian.x); printf("Enter Y: "); scanf("%lf", &cartesian.y); // Convert union Coordinate coordinate = convertCartesianToPolar(cartesian); // Display the result printf("Polar Coordinate: Length = %.2f, Angle = %.2f degrees.\n", coordinate.polar.length, coordinate.polar.angle); } else if (option == 'p' || option == 'P') { // Create a polar coordinate and convert it to cartesian struct PolarCoordinate polar; printf("Enter length: "); scanf("%lf", &polar.length); printf("Enter the angle in degrees: "); scanf("%lf", &polar.angle); // Convert union Coordinate coordinate = convertPolarToCartesian(polar); printf("Cartesian Cordinate: X = %.2f,, Y = %.2f.\n", coordinate.cartesian.x, coordinate.cartesian.y); } return 0; }

Similar Samples

Check out our diverse programming homework samples to see the high-quality solutions we provide. These examples demonstrate our expertise in various programming languages and problem-solving skills. Use them to get a glimpse of how we can help you achieve your academic goals.