Telaryon

Menükezelés I. (számológépes példa pointertömbbel)

Mar 24th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. float osszead(int x, int y);
  5. float kivon(int x, int y);
  6. float szoroz(int x, int y);
  7. float eloszt(int x, int y);
  8.  
  9. int main(void){
  10.     char *menu[][15]={"\n", "1. Osszeadas", "2. Kivonas", "3. Szorzas", "4. Osztas", "---------", "0. Kilepes", "\n", NULL};
  11.     int i;
  12.     int valasz;
  13.     int a;
  14.     int b;
  15.     float eredmeny;
  16.     char ch;
  17.     char **p=menu;
  18.     do{
  19.         p=menu;
  20.         while(*p){
  21.             printf("%s\n", *p);
  22.             *p++;
  23.         }
  24.         printf("Valasztas:\n");
  25.         if(scanf("%d", &valasz)!=1){
  26.             printf("Hibas input!\n");
  27.             exit(-1);
  28.         }
  29.         else if(valasz>0 && valasz<5){
  30.             printf("Adj meg ket szamot: ");
  31.             scanf("%d, %d", &a, &b);
  32.             switch(valasz){
  33.                 case 1: eredmeny=osszead(a, b);
  34.                         printf("%d + %d = %.2f", a, b, eredmeny);
  35.                         break;
  36.                 case 2: eredmeny=kivon(a, b);
  37.                         printf("%d + %d = %.2f", a, b, eredmeny);
  38.                         break;
  39.                 case 3: eredmeny=szoroz(a, b);
  40.                         printf("%d + %d = %.2f", a, b, eredmeny);
  41.                         break;
  42.                 case 4: eredmeny=eloszt(a, b);
  43.                         printf("%d + %d = %.2f", a, b, eredmeny);break;
  44.             }
  45.         }
  46.         else if(valasz==0)
  47.             break;
  48.         else
  49.             printf("Nincs ilyen menupont!\n");
  50.         printf("A folytatashoz nyomja meg az entert!\n");
  51.         if ((ch=getchar()) == '\n') ch=getchar();;
  52.     } while (valasz!=0);
  53.  
  54.     return 0;
  55. }
  56.  
  57. float osszead(int x, int y){
  58.     return x+y;
  59. }
  60.  
  61. float kivon(int x, int y){
  62.     return x-y;
  63. }
  64.  
  65. float szoroz(int x, int y){
  66.     return x*y;
  67. }
  68.  
  69. float eloszt(int x, int y){
  70.     return x/(float)y;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment