Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.75 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4.  
  5. // Mathematic package ********************************************************
  6. void max (int cTbl[], int size, int *maxPtr,int *pAntal) {
  7.     *maxPtr = cTbl[0];
  8.     for (int c=1; c<size; c++) {
  9.         if (cTbl[c] > *maxPtr)
  10.             *maxPtr = cTbl[c];
  11.         }
  12.     }
  13. void min (int cTbl[], int size, int *minPtr,int *pAntal) {
  14.     *minPtr = cTbl[0];
  15.     for (int c=1; c<size; c++) {
  16.         if (cTbl[c] < *minPtr && cTbl[c]!=0)
  17.             *minPtr = cTbl[c];
  18.         }
  19.     }
  20. void average (int cTbl[], int size, int *averagePtr, int *pAntal) {
  21.     int sum=0;
  22.     for (int c=1; c<size; c++) {
  23.         sum += cTbl[c];
  24.     }
  25.         *averagePtr = sum / size;
  26. }
  27. void norm(int cTbl[], int size) {
  28.     printf("[ ");
  29.     for (int c=0; c<size; c++) {
  30.         printf(" %1d ", cTbl[c]);
  31.     }
  32.     printf(" ]\n");
  33. }
  34.  
  35. void doCompute(int cTbl[], int size, int *cPtr, int *antalPtr) {
  36.     int stor, liten, medel, antal;
  37.    
  38.     max (cTbl, size, &stor,&antal);
  39.     printf("Max: %d\n", stor);
  40.    
  41.     min (cTbl, size, &liten, &antal);
  42.     printf("Min: %d\n", liten);
  43.    
  44.     average (cTbl,size, &medel, &antal);
  45.     printf("Average: %d\n", medel);
  46.    
  47.     norm (cTbl, size);
  48. }
  49.  
  50. // End of Mathematic package *************************************************
  51.  
  52. // Measurement package *******************************************************
  53. #define MAXANTAL 10
  54. void viewMeasurement(int mTbl[], int size) {
  55. int m=0;
  56.     printf("[ ");
  57.         if (mTbl[m]==0)
  58.         printf("No measurements");
  59.         else {
  60.         for (m=0; m<size; m++) {
  61.         printf(" %1d ", mTbl[m]);
  62.         }
  63.     }
  64.     printf(" ]\n");
  65. }
  66. void enterMeasurement(int mTbl[], int size, int *antalPtr) {
  67. int n;
  68.     for (int m=0; m<size; m++) {
  69.     n=n+1;
  70.     printf("Enter measurements %d (or 0): ", n);
  71.     scanf("%d", &mTbl[m]);
  72.     if (mTbl[m]==0){
  73.         break;
  74.         }
  75.     }
  76. }
  77. void resetMeasurement(int mTbl[], int size, int *antalPtr) {
  78.     for (int m=0; m<size; m++) {
  79.         mTbl[m]=0;
  80.         *antalPtr = 0;
  81.     }
  82.         printf("Measurements are reset!\n");
  83. }
  84. // End of Measurement package ************************************************
  85.  
  86. // Main **********************************************************************
  87. int main(void){
  88.    // Variable declarations and default values...
  89. char val;
  90. int nrTbl[MAXANTAL];
  91. int values;  
  92. int antal=0;
  93.  
  94.     printf("Measurement tool 0.1\n");
  95.     printf("VECRQ? x\n");
  96.     printf("Please use:\n");
  97.     printf("v to View\ne to Enter\nc to Compute\nr to Reset\nq to Quit\n");
  98.  
  99. do {
  100.     printf("VECRQ? ");
  101.     scanf(" %c", &val);
  102.     switch (val) {
  103.     case 'v' : viewMeasurement(nrTbl, MAXANTAL); break;
  104.     case 'e' : enterMeasurement(nrTbl, MAXANTAL, &antal); break;
  105.     case 'c' : doCompute(nrTbl, MAXANTAL, &values, &antal); break;
  106.     case 'r' : resetMeasurement(nrTbl, MAXANTAL, &antal); break;
  107.     default :  ;  
  108.     }
  109. } while (val!='q');
  110.      printf("Exit Measurement tool!\n");
  111.    return EXIT_SUCCESS;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement