SHARE
TWEET

Untitled

a guest Oct 15th, 2019 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  *   Programeksempel nr 20 - St�rre programeksempel.
  3.  *
  4.  *   som vektlegger:
  5.  *     - l�kker (for, do, while)
  6.  *
  7.  *   @file     EKS_20.C
  8.  *   @author   Frode Haug, NTNU
  9.  */
  10.  
  11. #include <stdio.h>          // printf, scanf
  12. #include <ctype.h>          // toupper
  13. #define STRLEN 50     // max antall siffer til bruk i kalkulator
  14.  
  15.  
  16. int main(){
  17.     float tall[STRLEN], input,
  18.         akkumulator = 0.0;  
  19.     char tegn[STRLEN], operator;
  20.     int i = 0;
  21.  
  22.     printf("Enkel Kalkulator\n-------------------\n");
  23.     printf("= %f", akkumulator);
  24.  
  25.     do{
  26.  
  27.         i += 1;
  28.         printf("\n: ");
  29.         scanf(" %c", &operator);
  30.         operator = toupper(operator);
  31.         scanf(" %f", &input);
  32.    
  33.             switch (operator){
  34.                 case '*':
  35.                     akkumulator *= input;
  36.                     tegn[i] = '*';
  37.                     tall[i] = input;
  38.                     printf("\n= %f", akkumulator);
  39.                     break;
  40.                 case '+':
  41.                     akkumulator += input;
  42.                     tegn[i] = '+';
  43.                     tall[i] = input;
  44.                     printf("\n= %f", akkumulator);
  45.                     break;
  46.                 case '-':
  47.                     akkumulator -= input;
  48.                     tegn[i] = '-';
  49.                     tall[i] = input;
  50.                     printf("\n= %f", akkumulator);
  51.                     break;
  52.                 case '/':
  53.                     akkumulator /= input;
  54.                     tegn[i] = '/';
  55.                     tall[i] = input;
  56.                     printf("\n= %f", akkumulator);
  57.                     break;
  58.                 case 'C':
  59.                     akkumulator = 0.0;
  60.                     tegn[i] = 'C';
  61.                     tall[i] = input;
  62.                     printf("\n= %f", akkumulator);
  63.                     break;
  64.                 case 'T':
  65.                     akkumulator = input;
  66.                     tegn[i] = 'T';
  67.                     tall[i] = input;
  68.                     printf("\n= %f", akkumulator);
  69.                     break;
  70.                 default:
  71.                     printf("\nPrøv å bruk en operasjon (*, /, + eller -) etterfulgt av et tall.");
  72.                     break;
  73.             }
  74.  
  75.         if(operator == '/' && input == 0)
  76.             printf("\nDeling på null er tull");  
  77.    
  78.  
  79.     }while(operator != 'S');
  80.    
  81.     if(operator == 'S'){
  82.         printf("\nOperasjonene og tallene involvert: \n");
  83.             for(int y = 1; y<i; y++){
  84.                 printf("\n%c %f", tegn[y], tall[y]);
  85.             }
  86.     }
  87.    
  88.    
  89.     return 0;
  90. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top