Advertisement
milanmetal

Arduino_vezbe_1 // Zadatak 2

Dec 8th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.80 KB | None | 0 0
  1. /*
  2.  *
  3.  * 1. Napisati program koji omogućava korisniku unos broja poena osvojenih na ispitu i na osnovu
  4. unete vrednosti izračunava i prikazuje ocenu.
  5. IZLAZ: Unesite broj poena:
  6. ULAZ: 83
  7. IZLAZ: Uneli ste 83 poena => Ocena je 8.
  8.  
  9. 2. Modifikovati program iz prethodnog zadatka tako da ima i proveru da li je unešen broj poena
  10. dozvoljen (opseg je [0, 100]) pa ako nije ispisuje poruku o tome, a ako jeste ispisuje ocenu kao u
  11. prethodnom zadatku.
  12.  
  13. */
  14.  
  15.  
  16. /*
  17. Unesite broj poena:
  18. Uneli ste: 2 poena ==> Ocena : 5
  19. Unesite broj poena:
  20. Uneli ste: 55 poena ==> Ocena : 6
  21. Unesite broj poena:
  22. Uneli ste: 66 poena ==> Ocena : 7
  23. Unesite broj poena:
  24. Uneli ste: 77 poena ==> Ocena : 8
  25. Unesite broj poena:
  26. Uneli ste: 88 poena ==> Ocena : 9
  27. Unesite broj poena:
  28. Uneli ste: 99 poena ==> Ocena : 10
  29. Unesite broj poena: // ovde sam unio 123
  30. Dozvoljeni opseg poena je [0, 100]
  31. Unesite broj poena:
  32.  
  33. */
  34. String inputString;
  35. String poruka = "";
  36. int ocena;
  37. int brojPoena;
  38. bool stringComplete;
  39. bool ispisano = false;
  40.  
  41. void setup() {
  42.   // put your setup code here, to run once:
  43.   Serial.begin(9600);
  44.   inputString.reserve(200);
  45. }
  46.  
  47. void loop() {
  48.   // put your main code here, to run repeatedly:
  49.   //Serial.println("Unesite broj poena:");
  50.   while(!ispisano) {
  51.       Serial.println("Unesite broj poena:");
  52.       ispisano = true;
  53.   }
  54.  
  55.   if(stringComplete) {
  56.       // Ovako se string prebacuje u int tip.
  57.       brojPoena = inputString.toInt();
  58.  
  59.       if(brojPoena >= 0 && brojPoena <= 100) {
  60.         if(brojPoena < 55) {
  61.           ocena = 5;
  62.         } else if(brojPoena >= 55 && brojPoena < 65) {
  63.           ocena = 6;  
  64.         } else if (brojPoena >= 65 && brojPoena < 75) {
  65.           ocena = 7;
  66.         } else if (brojPoena >= 75 && brojPoena < 85) {
  67.           ocena = 8;
  68.         } else if (brojPoena >= 85 && brojPoena < 95) {
  69.           ocena = 9;
  70.         } else {
  71.           ocena = 10;
  72.         }
  73.  
  74.         // String(nesto) --> pretvara NESTO u String, mora tako da bi mogao
  75.         // da konkatenujes na poruku, mora da se poklapa po tipu, tako preklopljen operator.
  76.         // http://www.instructables.com/id/Converting-integer-to-character/
  77.         poruka = "Uneli ste: " + String(brojPoena) + " poena ==> Ocena : " + ocena;
  78.         Serial.println(poruka);
  79.       } else {
  80.         Serial.println("Dozvoljeni opseg poena je [0, 100]");  
  81.       }
  82.      
  83.       inputString = "";
  84.       stringComplete = false;
  85.  
  86.       // ovo ce mu reci da poruka nije ispisana i ponovice sve ispocetka, u nedogled
  87.       // ce da ispisuje poruku za unos sve dok mu unosis nove vrijednosti.
  88.       ispisano = false;
  89.   }
  90. }
  91.  
  92.  
  93. void serialEvent() {
  94.   while(Serial.available()){
  95.       char inChar = (char)Serial.read();
  96.       inputString += inChar;
  97.  
  98.       if(inChar == '\n') {
  99.         stringComplete = true;  
  100.       }
  101.     }    
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement