Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- enum electric_lamps{
- Incandescent_lamps,
- Compact_fluorescent_lamps,
- Halogen_lamps,
- Metal_halide_Lamps,
- Light_Emitting_Diode,
- Fluorescent_tube,
- Neon_lamps,
- High_intensity_discharge_lamps
- };
- typedef struct rectangle rectangle;
- struct rectangle{
- double points_[3][2];
- double (*get_perimeter)(rectangle*);
- double (*get_square)(rectangle*);
- };
- double sqr(double d1){
- return d1 * d1;
- }
- double get_perimeter(rectangle* rect){
- return 2 * sqrt(sqr(rect->points_[0][0] - rect->points_[1][0]) +
- sqr(rect->points_[0][1] - rect->points_[1][1])) +
- 2 * sqrt(sqr(rect->points_[0][0] - rect->points_[2][0]) +
- sqr(rect->points_[0][1] - rect->points_[2][1]));
- }
- double get_square(rectangle* rect){
- return sqrt(sqr(rect->points_[0][0] - rect->points_[1][0]) +
- sqr(rect->points_[0][1] - rect->points_[1][1])) *
- sqrt(sqr(rect->points_[0][0] - rect->points_[2][0]) +
- sqr(rect->points_[0][1] - rect->points_[2][1]));
- }
- struct MP3{
- unsigned Play : 1;
- unsigned Pause : 1;
- unsigned Record : 1;
- };
- typedef union check check;
- union check{
- char input;
- struct MP3 a;
- };
- int main(){
- enum electric_lamps el = Halogen_lamps;
- printf("%d\n", el);
- rectangle rect = {.points_ = {{1, 0}, {0, 1}, {1, 1}},
- .get_perimeter = get_perimeter,
- .get_square = get_square
- };
- double p = rect.get_perimeter(&rect);
- double s = rect.get_square(&rect);
- printf("perimeter is %lf\n", p);
- printf("square is %lf\n", s);
- int hex;
- printf("enter MP3 options in hex:\n");
- scanf("%x", &hex);
- check ch;
- ch.input = hex;
- printf("Play: %d, Pause: %d, Record: %d\n",
- ch.a.Play, ch.a.Pause, ch.a.Record);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement