Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Prog2
/
labor_peldak
/
lab_05
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
85d27c54
authored
Mar 06, 2019
by
Szeberényi Imre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ell.
parent
a9506e39
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
8 deletions
+26
-8
rendez.cpp
+1
-1
string5_test.cpp
+25
-7
No files found.
rendez.cpp
View file @
85d27c54
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
#include <cstring>
#include <cstring>
#include <cstdlib>
#include <cstdlib>
#include <clocale>
#include <clocale>
#if defined(WIN32) || defined(_WIN32)
#if defined(WIN32) || defined(_WIN32)
|| defined(WIN64) || defined(_WIN64)
# include <windows.h>
# include <windows.h>
# include "rendez.h" // latin-2 kódolású szövegek
# include "rendez.h" // latin-2 kódolású szövegek
#else
#else
...
...
string5_test.cpp
View file @
85d27c54
...
@@ -15,7 +15,9 @@
...
@@ -15,7 +15,9 @@
#include "memtrace.h" // a standard header-ek után kell lennie
#include "memtrace.h" // a standard header-ek után kell lennie
#include "gtest_lite.h"
#include "gtest_lite.h"
#include "string5.h"
#include "string5.h"
#include "rendez.h"
#if ELKESZUT >= 12 && !defined(CPORTA)
# include "rendez.h"
#endif
using
std
::
cout
;
using
std
::
cout
;
using
std
::
cin
;
using
std
::
cin
;
...
@@ -32,10 +34,12 @@ int main() {
...
@@ -32,10 +34,12 @@ int main() {
TEST
(
Elkeszult1
,
construct
)
{
TEST
(
Elkeszult1
,
construct
)
{
String
ures
;
String
ures
;
ures
.
printDbg
(
"Ures sztring: "
);
// debug kiíratás
ures
.
printDbg
(
"Ures sztring: "
);
// debug kiíratás
if
(
ures
.
size
()
==
0
)
if
(
ures
.
size
()
!=
0
)
SUCCEED
()
<<
"Hurra! Van egy sztringem, de nem biztos, hogy ures!"
<<
endl
;
else
FAIL
()
<<
"Baj van a string hosszaval"
<<
endl
;
FAIL
()
<<
"Baj van a string hosszaval"
<<
endl
;
#ifndef CPORTA
else
SUCCEED
()
<<
"Hurra! Van egy sztringem, de nem biztos, hogy ures!"
<<
endl
;
#endif // CPORTA
}
ENDM
}
ENDM
#endif
#endif
...
@@ -47,6 +51,8 @@ int main() {
...
@@ -47,6 +51,8 @@ int main() {
TEST
(
Elkeszult2
,
emptyStr
)
{
TEST
(
Elkeszult2
,
emptyStr
)
{
String
ures
;
String
ures
;
EXPECT_EQ
((
size_t
)
0
,
ures
.
size
())
<<
"Baj van a string hosszaval"
<<
endl
;
EXPECT_EQ
((
size_t
)
0
,
ures
.
size
())
<<
"Baj van a string hosszaval"
<<
endl
;
/// Ellenőrizzük, hogy üres sztringet ("") kaptunk-e vissza?
EXPECT_STREQ
(
""
,
ures
.
c_str
())
<<
"Nem ures sztring jott letre"
<<
endl
;
EXPECT_STREQ
(
""
,
ures
.
c_str
())
<<
"Nem ures sztring jott letre"
<<
endl
;
}
ENDM
}
ENDM
#endif
#endif
...
@@ -60,6 +66,7 @@ int main() {
...
@@ -60,6 +66,7 @@ int main() {
String
a
(
ch
);
String
a
(
ch
);
EXPECT_EQ
((
size_t
)
1
,
a
.
size
())
<<
"Baj van a string hosszaval"
<<
endl
;
EXPECT_EQ
((
size_t
)
1
,
a
.
size
())
<<
"Baj van a string hosszaval"
<<
endl
;
EXPECT_STREQ
(
"a"
,
a
.
c_str
())
<<
"Karakterbol sztring letrehozasa nem sikerult!"
<<
endl
;
EXPECT_STREQ
(
"a"
,
a
.
c_str
())
<<
"Karakterbol sztring letrehozasa nem sikerult!"
<<
endl
;
String
b
(
'a'
);
// konstansból is megy?
String
b
(
'a'
);
// konstansból is megy?
EXPECT_STREQ
(
"a"
,
b
.
c_str
())
<<
"Karakterbol sztring letrehozasa nem sikerult!"
<<
endl
;
EXPECT_STREQ
(
"a"
,
b
.
c_str
())
<<
"Karakterbol sztring letrehozasa nem sikerult!"
<<
endl
;
}
ENDM
}
ENDM
...
@@ -76,6 +83,7 @@ int main() {
...
@@ -76,6 +83,7 @@ int main() {
EXPECT_EQ
(
strlen
(
hello
),
a
.
size
())
<<
"Baj van a string hosszaval"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
a
.
size
())
<<
"Baj van a string hosszaval"
<<
endl
;
EXPECT_STREQ
(
hello
,
a
.
c_str
())
<<
"C-sztringbol string letrehozasa nem sikerult!"
<<
endl
;
EXPECT_STREQ
(
hello
,
a
.
c_str
())
<<
"C-sztringbol string letrehozasa nem sikerult!"
<<
endl
;
/// Ellenőrizzük, hogy lemásolta-e a sztringet. Nem elég a pointert!
char
cpp
[]
=
{
'C'
,
'+'
,
'+'
,
'\0'
};
char
cpp
[]
=
{
'C'
,
'+'
,
'+'
,
'\0'
};
String
b
(
cpp
);
String
b
(
cpp
);
cpp
[
0
]
=
'X'
;
cpp
[
0
]
=
'X'
;
...
@@ -94,10 +102,13 @@ int main() {
...
@@ -94,10 +102,13 @@ int main() {
EXPECT_EQ
(
strlen
(
hello
),
b
.
size
())
<<
"Baj van a string hosszaval!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
b
.
size
())
<<
"Baj van a string hosszaval!"
<<
endl
;
EXPECT_STREQ
(
hello
,
b
.
c_str
())
<<
"Baj van a masolo konstruktorral!"
<<
endl
;
EXPECT_STREQ
(
hello
,
b
.
c_str
())
<<
"Baj van a masolo konstruktorral!"
<<
endl
;
/// Ellenőrizzük, hogy lemásolta-e a sztringet. Nem elég a pointert!
if
(
a
.
c_str
()
==
b
.
c_str
())
// Ha a két pointer egyezik, akkor nem másolta le az adatot
if
(
a
.
c_str
()
==
b
.
c_str
())
// Ha a két pointer egyezik, akkor nem másolta le az adatot
FAIL
()
<<
"!** ctor: nem elegendo a pointereket lemasolni!"
<<
endl
;
FAIL
()
<<
"!** ctor: nem elegendo a pointereket lemasolni!"
<<
endl
;
EXPECT_STREQ
(
hello
,
a
.
c_str
())
<<
"Masolo kontsr. elromlott a forras!"
<<
endl
;
EXPECT_STREQ
(
hello
,
a
.
c_str
())
<<
"Masolo kontsr. elromlott a forras!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
a
.
size
())
<<
"Masolo konstr. alatt elromlott a forras hossza!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
a
.
size
())
<<
"Masolo konstr. alatt elromlott a forras hossza!"
<<
endl
;
const
String
c
=
a
;
const
String
c
=
a
;
String
d
=
c
;
// konstansból is megy?
String
d
=
c
;
// konstansból is megy?
EXPECT_STREQ
(
hello
,
d
.
c_str
())
<<
"Baj van a masolo konstruktorral"
<<
endl
;
EXPECT_STREQ
(
hello
,
d
.
c_str
())
<<
"Baj van a masolo konstruktorral"
<<
endl
;
...
@@ -117,14 +128,18 @@ int main() {
...
@@ -117,14 +128,18 @@ int main() {
EXPECT_EQ
(
strlen
(
hello
),
a
.
size
())
<<
"Baj van az ertekadassal: a = a hossz"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
a
.
size
())
<<
"Baj van az ertekadassal: a = a hossz"
<<
endl
;
EXPECT_STREQ
(
hello
,
a
.
c_str
())
<<
"Baj van az ertekadassal: a = a"
<<
endl
;
EXPECT_STREQ
(
hello
,
a
.
c_str
())
<<
"Baj van az ertekadassal: a = a"
<<
endl
;
c
=
b
=
a
;
c
=
b
=
a
;
/// Ellenőrizzük, hogy lemásolta-e a sztringet. Nem elég a pointert!
if
(
a
.
c_str
()
==
b
.
c_str
())
// Ha a két pointer egyezik, akkor nem másolta le az adatot
if
(
a
.
c_str
()
==
b
.
c_str
())
// Ha a két pointer egyezik, akkor nem másolta le az adatot
FAIL
()
<<
"!** op=: nem elegendo a pointereket lemasolni!"
<<
endl
;
FAIL
()
<<
"!** op=: nem elegendo a pointereket lemasolni!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
a
.
size
())
<<
"Ertekedasnal elromlott a forras hossza!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
a
.
size
())
<<
"Ertekedasnal elromlott a forras hossza!"
<<
endl
;
EXPECT_STREQ
(
hello
,
a
.
c_str
())
<<
"Ertekadasnal elromlott a forras!"
<<
endl
;
EXPECT_STREQ
(
hello
,
a
.
c_str
())
<<
"Ertekadasnal elromlott a forras!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
b
.
size
())
<<
"Ertekedas: nem jo a hossz!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
b
.
size
())
<<
"Ertekedas: nem jo a hossz!"
<<
endl
;
EXPECT_STREQ
(
hello
,
b
.
c_str
())
<<
"Ertekadas nem sikerult!"
<<
endl
;
EXPECT_STREQ
(
hello
,
b
.
c_str
())
<<
"Ertekadas nem sikerult!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
c
.
size
())
<<
"Ertekedas: nem jo a hossz!"
<<
endl
;
EXPECT_EQ
(
strlen
(
hello
),
c
.
size
())
<<
"Ertekedas: nem jo a hossz!"
<<
endl
;
EXPECT_STREQ
(
hello
,
c
.
c_str
())
<<
"Ertekadas nem sikerult!"
<<
endl
;
EXPECT_STREQ
(
hello
,
c
.
c_str
())
<<
"Ertekadas nem sikerult!"
<<
endl
;
const
String
d
(
"Konst."
);
const
String
d
(
"Konst."
);
c
=
d
;
// konstansból is megy?
c
=
d
;
// konstansból is megy?
EXPECT_EQ
(
c
.
size
(),
c
.
size
())
<<
"Ertekedas konstansbol: nem jo a hossz!"
<<
endl
;
EXPECT_EQ
(
c
.
size
(),
c
.
size
())
<<
"Ertekedas konstansbol: nem jo a hossz!"
<<
endl
;
...
@@ -146,6 +161,7 @@ int main() {
...
@@ -146,6 +161,7 @@ int main() {
EXPECT_STREQ
(
"Hello "
,
a
.
c_str
())
<<
"A + muvelet elrontja a bal oldalt?"
<<
endl
;
EXPECT_STREQ
(
"Hello "
,
a
.
c_str
())
<<
"A + muvelet elrontja a bal oldalt?"
<<
endl
;
EXPECT_STREQ
(
"sztring"
,
b
.
c_str
())
<<
"A + muvelet elrontja a jobb oldalt?"
<<
endl
;
EXPECT_STREQ
(
"sztring"
,
b
.
c_str
())
<<
"A + muvelet elrontja a jobb oldalt?"
<<
endl
;
const
String
a1
=
a
,
b1
=
b
;
const
String
a1
=
a
,
b1
=
b
;
String
c1
;
String
c1
;
c1
=
a1
+
b1
;
// konstansból is megy?
c1
=
a1
+
b1
;
// konstansból is megy?
EXPECT_STREQ
(
"Hello sztring"
,
c1
.
c_str
())
<<
"Nem sikerult a + String muvelet!"
<<
endl
;
EXPECT_STREQ
(
"Hello sztring"
,
c1
.
c_str
())
<<
"Nem sikerult a + String muvelet!"
<<
endl
;
...
@@ -157,6 +173,7 @@ int main() {
...
@@ -157,6 +173,7 @@ int main() {
b
=
a
+
'B'
;
b
=
a
+
'B'
;
EXPECT_STREQ
(
"Hello B"
,
b
.
c_str
())
<<
"Nem sikerult a + char muvelet!"
<<
endl
;
EXPECT_STREQ
(
"Hello B"
,
b
.
c_str
())
<<
"Nem sikerult a + char muvelet!"
<<
endl
;
EXPECT_STREQ
(
"Hello "
,
a
.
c_str
())
<<
"A + muvelet elrontja a bal oldalt?"
<<
endl
;
EXPECT_STREQ
(
"Hello "
,
a
.
c_str
())
<<
"A + muvelet elrontja a bal oldalt?"
<<
endl
;
const
String
a1
=
a
;
const
String
a1
=
a
;
String
b1
;
String
b1
;
b1
=
a1
+
'B'
;
// konstansból is megy?
b1
=
a1
+
'B'
;
// konstansból is megy?
...
@@ -177,6 +194,7 @@ int main() {
...
@@ -177,6 +194,7 @@ int main() {
b
=
h
+
a
;
b
=
h
+
a
;
EXPECT_STREQ
(
"Hello"
,
b
.
c_str
())
<<
"Nem sikerult char + Str muvelet!"
<<
endl
;
EXPECT_STREQ
(
"Hello"
,
b
.
c_str
())
<<
"Nem sikerult char + Str muvelet!"
<<
endl
;
EXPECT_STREQ
(
"ello"
,
a
.
c_str
())
<<
"A + muvelet elrontja a jobb oldalt?"
<<
endl
;
EXPECT_STREQ
(
"ello"
,
a
.
c_str
())
<<
"A + muvelet elrontja a jobb oldalt?"
<<
endl
;
String
b1
;
String
b1
;
b1
=
'H'
+
a
;
// konstanssal is megy?
b1
=
'H'
+
a
;
// konstanssal is megy?
EXPECT_STREQ
(
"Hello"
,
b
.
c_str
())
<<
"Nem sikerult char + Str muvelet!"
<<
endl
;
EXPECT_STREQ
(
"Hello"
,
b
.
c_str
())
<<
"Nem sikerult char + Str muvelet!"
<<
endl
;
...
@@ -244,7 +262,7 @@ int main() {
...
@@ -244,7 +262,7 @@ int main() {
* szorgalmi feladat feladat. Most a rendezésen van a hangsúly.
* szorgalmi feladat feladat. Most a rendezésen van a hangsúly.
* Értse meg a rendez.cpp fájlban levő kód működését és futtassa a programot!
* Értse meg a rendez.cpp fájlban levő kód működését és futtassa a programot!
*/
*/
#if ELKESZULT == 12
#if ELKESZULT == 12
&& !defined(CPORTA)
rendez
();
rendez
();
#endif
#endif
...
@@ -253,12 +271,12 @@ int main() {
...
@@ -253,12 +271,12 @@ int main() {
* szükséges nyelvi környezetet (LC_COLLATE) próbálja ki! Változott a rendezési
* szükséges nyelvi környezetet (LC_COLLATE) próbálja ki! Változott a rendezési
* sorrend?
* sorrend?
*/
*/
#if ELKESZULT >= 13
#if ELKESZULT >= 13
&& !defined(CPORTA)
cout
<<
endl
;
cout
<<
endl
;
/// beállítja az op.rendszer által használt nyelvi környezetet, amit feltételezünk, hogy magyar
/// beállítja az op.rendszer által használt nyelvi környezetet, amit feltételezünk, hogy magyar
cout
<<
"Nyelvi beallitas: "
<<
setlocale
(
LC_ALL
,
""
)
<<
endl
;
cout
<<
"Nyelvi beallitas: "
<<
setlocale
(
LC_ALL
,
""
)
<<
endl
;
#if defined(WIN32) || defined(_WIN32) || defined(_WIN64)
#if defined(WIN32) || defined(_WIN32) || defined(
WIN64) || defined(
_WIN64)
/// Windows alatt egyéb varázslatra is szükség van ...
/// Windows alatt egyéb varázslatra is szükség van ...
SetConsoleCP
(
1250
);
SetConsoleCP
(
1250
);
SetConsoleOutputCP
(
1250
);
SetConsoleOutputCP
(
1250
);
...
...
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