Telaryon

Struktúra alapok 2

Apr 8th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.41 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. typedef struct pont{
  5.     int x;
  6.     int y;
  7. } Pont;
  8.  
  9. typedef struct kor{
  10.     Pont kp;
  11.     float r;
  12. } Kor;
  13.  
  14. void kor_beolvas(Kor *km);
  15. void kor_kiir(Kor k);
  16. void pont_beolvas(Pont *pm);
  17. int kor_pont_viszony(Kor k, Pont p);
  18.  
  19. int main(void){
  20.     Kor k;
  21.     kor_beolvas(&k);
  22.     Pont p;
  23.     pont_beolvas(&p);
  24.     //kor_kiir(k);
  25.     switch(kor_pont_viszony(k,p)){
  26.         case -1: printf("A pont a korvonalon belul van. \n");
  27.             break;
  28.         case 0: printf("A pont a korvonalon van. \n");
  29.             break;
  30.         case 1: printf("A pont a korvonalon kivul van. \n");
  31.             break;
  32.     }
  33.     return 0;
  34. }
  35.  
  36. void kor_beolvas(Kor *km){
  37.     printf("Adja meg a kor kozeppontjat vesszovel elvalasztva (x,y): ");
  38.     scanf("%d,%d", &km->kp.x, &km->kp.y);
  39.     printf("Adja meg a kor sugarat: ");
  40.     scanf("%f", &km->r);
  41.     return;
  42. }
  43.  
  44. void kor_kiir(Kor k){
  45.     printf("A kor kozeppontja: x=%d, y=%d\n", k.kp.x, k.kp.y);
  46.     printf("A kor sugara: r=%.2f\n", k.r);
  47.     return;
  48. }
  49.  
  50. void pont_beolvas(Pont *pm){
  51.     printf("Adja meg a pont kozeppontjat vesszovel elvalasztva (x,y): ");
  52.     scanf("%d,%d", &pm->x, &pm->y);
  53.     return ;
  54. }
  55.  
  56. int kor_pont_viszony(Kor k, Pont p){
  57.     float tavolsag = sqrt((k.kp.x-p.x)*(k.kp.x-p.x)+(k.kp.y-p.y)*(k.kp.y-p.y));
  58.     if (tavolsag==k.r) return 0;
  59.     else if (tavolsag<k.r) return -1;
  60.     else return 1;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment