Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
tanton
/
programmeerimine_1
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d44797a4
authored
Sep 11, 2020
by
tonis2
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tundub töötavat
parent
2e861166
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
85 additions
and
44 deletions
panga_automaat/automaat
panga_automaat/automaat.c
panga_automaat/automaat
View file @
d44797a4
No preview for this file type
panga_automaat/automaat.c
View file @
d44797a4
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#define SUMMA 100
struct
resource
{
struct
Bills
{
int
amount
;
int
size
;
};
// struct bank_resources
// {
// int five;
// int twenty_five;
// int fifty;
// int hundred;
// };
struct
Result
{
int
total
;
struct
Bills
content
[
100
];
};
// Kontrollib kas kasutaja vastas soovitud vastusega
int
is_correct_choice
(
char
user_answer
[
8
])
...
...
@@ -26,67 +25,109 @@ int is_correct_choice(char user_answer[8])
return
(
strcmp
(
new
,
"no"
)
==
0
)
||
(
strcmp
(
new
,
"yes"
)
==
0
);
}
// int withdraw_from_lowest(struct resource data) {
// int return_amount = 0;
// if (data.five > 0) {
// data.five -= 1;
// return_amount = 5;
// }
// else if (data.twenty_five > 0) {
// data.twenty_five -= 1;
// return_amount = 25;
// }
// else if (data.fifty > 0) {
// data.fifty -= 1;
// return_amount = 50;
// }
// else if (data.hundred > 0) {
// data.hundred -= 1;
// return_amount = 100;
// }
// }
int
main
(
void
)
{
struct
resource
bank
[
4
];
struct
Bills
bank
[
4
];
struct
Result
result
;
result
.
total
=
0
;
bank
[
0
].
amount
=
rand
()
%
2
;
char
user_answer
[
8
];
//Paneme raha kogustes kupüüre
bank
[
0
].
amount
=
5
;
bank
[
0
].
size
=
5
;
bank
[
1
].
amount
=
rand
()
%
3
;
bank
[
1
].
amount
=
3
;
bank
[
1
].
size
=
25
;
bank
[
2
].
amount
=
rand
()
%
2
;
bank
[
2
].
amount
=
1
;
bank
[
2
].
size
=
50
;
bank
[
3
].
amount
=
rand
()
%
2
;
bank
[
3
].
size
=
100
;
char
user_answer
[
8
];
int
return_total
=
0
;
//Küsime kasutajalt sisendit
printf
(
"Kas soovite väikseid kupüüre? ( yes / no )
\n
"
);
scanf
(
"%s"
,
user_answer
);
int
user_choice
=
is_correct_choice
(
user_answer
);
//Kui kasutaja valesti vastab, laseme tal uuesti vastata
while
(
user_choice
!=
1
)
{
//Laseme kasutajal uuesti vastata
printf
(
"Vale vastus !
\n
"
);
printf
(
"Kas soovite väikseid kupüüre? ( yes / no )
\n
"
);
scanf
(
"%s"
,
user_answer
);
user_choice
=
is_correct_choice
(
user_answer
);
}
//Anname suuri kupüüre
if
(
strcmp
(
user_answer
,
"no"
)
==
0
)
int
low_bills
=
strcmp
(
user_answer
,
"yes"
)
==
0
;
int
bill_index
=
0
,
result_index
=
0
;
bool
wrong_amount_of_bills
=
false
;
// Kui kasutaja ei taha väikseid kupüüre alustame suurtest esimesena.
if
(
!
low_bills
)
{
bill_index
=
2
;
}
// Üritame pangast võtta vajalikku summa kupüüre.
while
(
result
.
total
<
SUMMA
&&
!
wrong_amount_of_bills
)
{
if
(
low_bills
&&
bank
[
bill_index
].
amount
==
0
)
{
if
((
bill_index
+
1
)
<=
2
)
{
bill_index
+=
1
;
}
}
//Anname väikseid kupüüre
if
(
strcmp
(
user_answer
,
"yes"
)
==
0
)
if
(
!
low_bills
&&
bank
[
bill_index
].
amount
==
0
)
{
printf
(
"Vastus %d
\n
"
,
user_choice
);
if
(
bill_index
-
1
>=
0
)
{
bill_index
-=
1
;
}
}
//Kui vastavat kupüüri on pangas, üritame selle kogu kasutajale tagasi antavasse rahasse lisada.
if
(
bank
[
bill_index
].
amount
>
0
)
{
result
.
content
[
result_index
].
amount
=
1
;
result
.
content
[
result_index
].
size
=
bank
[
bill_index
].
size
;
result_index
+=
1
;
result
.
total
+=
bank
[
bill_index
].
size
;
if
(
result
.
total
>
SUMMA
)
{
wrong_amount_of_bills
=
true
;
break
;
}
bank
[
bill_index
].
amount
-=
1
;
}
}
if
(
wrong_amount_of_bills
)
{
printf
(
"Masinal pole piisavalt vajatud kupüüre, et summat vahetada
\n
"
);
}
else
{
int
i
=
0
;
for
(
i
;
i
<
sizeof
result
.
content
/
sizeof
*
result
.
content
;
i
++
)
{
if
(
result
.
content
[
i
].
amount
==
1
&&
result
.
content
[
i
].
size
>
0
)
{
printf
(
"Masin tagastab raha %d
\n
"
,
result
.
content
[
i
].
size
);
}
}
printf
(
"Tagastatud summa kokku %d
\n
"
,
result
.
total
);
}
return
0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment