Advertisement
Guest User

Untitled

a guest
Mar 1st, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. #define N 5
  6.  
  7. int givenPrice();
  8.  
  9. struct eisitirio {
  10. char eidos[15];
  11. float timi;
  12. }
  13. katalogos[N] = {{"Ενιαίο", 1.40},
  14. {"Μειωμένο", 0.60},
  15. {"Ημερήσιο", 4.50},
  16. {"Εβδομαδιαίο", 9.00},
  17. {"Αεροδρόμιο", 10.00}};
  18.  
  19.  
  20. int main() {
  21.  
  22. system("chcp 1253>null");
  23. int i, choice, ticket;
  24. float Z, resta, ipoloipo, price;
  25.  
  26. // Μενού επιλογών των εισιτηρίων
  27. printf("\n\nΠαρακαλώ επιλέξτε ένα από τα παρακάτω:");
  28. printf("\n\n=====================================\n");
  29. printf("\n1. Ενιαιο 1.40 ευρώ");
  30. printf("\n2. Μειωμένο 0.60 ευρώ");
  31. printf("\n3. Ημερήσιο 4.50 ευρώ");
  32. printf("\n4. Εβδομαδιαίο 9.00 ευρώ");
  33. printf("\n5. Αεροδρόμιο 10.00 ευρώ");
  34.  
  35. // Αμυντικός προγραμμτισμός για το είδος των εισιτηρίων
  36. do {
  37. printf("\n\nΠαρακαλώ εισάγετε την επιλογή σας: ");
  38. scanf("%d", &choice);
  39. if (choice < 1 || choice > 5)
  40. printf("\nΛανθασμένη επιλογή.");
  41. } while (choice < 1 || choice > 5);
  42.  
  43. // Επιλογή αριθμού εισιτηρίων
  44. printf("\nΠοσα εισιτήρια θέλετε; ");
  45. scanf("%d", &ticket);
  46.  
  47. price = ipoloipo = katalogos[choice - 1].timi * ticket;
  48.  
  49. printf("\nΠρέπει να εισάγετε %0.2f ευρώ συνολικά.", price);
  50.  
  51. do {
  52. Z = givenPrice();
  53. if (Z < price) {
  54. ipoloipo = price - Z;
  55. printf("\nΠρέπει να εισάγετε %0.2f ευρώ συνολικά.", ipoloipo);
  56. } else if (Z > price) {
  57. printf("\nΠαρακαλώ πάρτε ρέστα %.2f", Z - price);
  58. }
  59.  
  60. } while (ipoloipo <= price);
  61.  
  62. return 0;
  63. }
  64.  
  65. int givenPrice() {
  66. float Z;
  67. do {
  68. printf("\nΕισάγετε μια έγκυρη τιμή: 0.05 / 0.10 / 0.20 / 0.50 / 1 / 2 / 5 / 10 / 20 / 50\n");
  69. printf("\n\nΠόσα εισάγεται: ");
  70. scanf("%f", &Z);
  71. printf("%f", Z);
  72. } while (Z != 0.05 && Z != 0.10 && Z != 0.20 && Z != 0.50 && Z != 1 && Z != 2 && Z != 5 && Z != 10 && Z != 20 &&
  73. Z != 50);
  74. return Z;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement