Ïîìîãíè íè äà íàïðàâèì Uroci.net ïî - áîãàò! Äîáàâè óðîê
Êàòåãîðèè Äðóãè óðîöè Adobe Photoshop Adobe Illustrator Adobe Flash Adobe Fireworks DreamWeaver CSS è HTML Corel Draw Image Ready PHP SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic JavaScript Ajax 3ds Max Maya 3D C++
C++
Sound Forge Gimp SWiSH

Ñ++ ÷àñò.1 (Âúâåäåíèå)

C++ » C++
fix3d   òðóäíîñò:    âèäÿí: 17671



1. Ñèíòàêòè÷íè ãðåøêè. Ïðîãðàìèñòúò å íàïðàâèë “ãðàìàòè÷åñêà ãðåøêà” ñïîðåä åçèêà Ñ++. Íàïðèìåð:

int main(
{ // error: missing ‘)’
readIn: // error: illegal character ‘:’
sort();
compact();
print();
return 0 // error: missihg ‘;’
}

2. Ãðåøêè çà òèïîâå. Äàííèòå â Ñ++ ñå ñâúðçâàò ñ òèïîâå. Ñòîéíîñòòà 10, íàïðèìåð, å öÿëà. Äóìàòà “hello”, çàãðàäåíà îò äâîéíè êàâè÷êè å ñèìâîëåí íèç. Àêî íà äàäåíà ôóíêöèÿ î÷àêâàùà àðãóìåíò îò öÿë òèï ñå ïîäàäå àðãóìåíò òèï íèç, êîìïèëàòîðúò ùå ñèãíàëèçèðà çà ãðåøêà ïðè òèïîâåòå.

Âñÿêî ñúîáùåíèå çà ãðåøêà ñúäúðæà íîìåð íà ðåä è êðàòêî îïèñàíèå íà ïðè÷èíàòà, ïîðàäè êîÿòî ñå ñ÷èòà, ÷å âèå ñòå ñãðåøèëè. Ïðåïîðú÷âà ñå ãðåøêèòå äà ñå êîðèãèðàò â ïîñëåäîâàòåëíîñòòà, â êîÿòî ñå ïîÿâÿâàò. ×åñòî åäèíè÷íà ãðåøêà ìîæå äà ïðåäèçâèêà ëàâèíîîáðàçåí åôåêò è êîìïèëàòîðúò äà ñúîáùè çà ïîâå÷å ãðåøêè, îòêîëêîòî ôàêòè÷åñêè ñúùåñòâóâàò. Ñëåä êàòî êîðèãèðàòå òåêñòà íà ïðîãðàìàòà ñè, ìîæåòå äà ÿ êîìïèëèðàòå îòíîâî.

Çà îïåðàöèîííàòà ñèñòåìà MS-DOS, îáà÷å, ðàçøèðåíèåòî “.c” íå å äîïóñòèìî - MS-DOS íå ïðàâè ðàçëèêà ìåæäó ìàëêè è ãîëåìè áóêâè.

Ðåàëèçàöèÿòà íà Ñ++ ïîä óïðàâëåíèåòî íà MS-DOS ïîääúðæà ñëåäíèòå ðàçøèðåíèÿ íà ôàéëîâå:

cxx (x å + çàâúðòÿí íà 90 ãðàäóñà).
cpp (p ñúîòâåòñòâóâà íà “ïëþñ”-à).
Âòîðàòà ÷àñò îò ðàáîòàòà íà êîìïèëàòîðà å äà ïðåâåäå ôîðìàëíî êîðåêòíèÿ ïðîãðàìåí òåêñò. Òîçè ïðåâîä, íàðå÷åí ãåíåðàöèÿ íà êîä, ôàêòè÷åñêè ãåíåðèðà îáåêòîâ èëè àñåìáëåðåí òåêñò, ðàçáèðàåì çà êîìïþòúðà íà êîéòî ïðîãðàìàòà ùå áúäå èçïúëíÿâàíà.

Ðåçóëòàòúò îò óñïåøíà êîìïèëàöèÿ å èçïúëíèì ôàéë. Ïî ïîäðàçáèðàíå, ïðè ñèñòåìàòà íà àâòîðà òîçè ôàéë ñå íàðè÷à a.out. Òîé ìîæå äà áúäå èçïúëíåí êàêòî ñëåäâà:

$ a.out

Èçõîäúò íà ïðîãðàìàòà èçãëåæäà òàêà:

readIn()
sort()
compact()
print()

Êîìàíäíàòà îïöèÿ “-î èìå” ïîçâîëÿâà íà ïðîãðàìèñòà äà äàäå èìå íà ïðîãðàìíèÿ ôàéë, ðàçëè÷íî îò a.out. Íàïðèìåð, êîìàíäíèÿò ðåä

$ CC prog1 prog1.C

ùå ñúçäàäå èçïúëíèì ôàéë prog1. Çà äà ñå èçïúëíè òàçè ïðîãðàìà òðÿáâà äà ñå íàïèøå:

$ prog1

Îñâåí åçèêîâèÿ êîìïèëàòîð ðåàëèçàöèÿòà íà Ñ++ ïðåäëàãà è íàáîð îò ñòàíäàðòíè áèáëèîòåêè. Áèáëèîòåêèòå ñà ñúâêóïíîñò îò ïðåäâàðèòåëíî äåôèíèðàíè ôóíêöèè.  Ñ++, íàïðèìåð, âõîäúò è èçõîäúò ñå ïîääúðæàò îò ñòàíäàðòíà Ñ++ áèáëèîòåêà. Ïðîãðàìèñòèòå ìîãàò äà èçïîëçóâàò áèáëèîòå÷íèòå ôóíêöèè â ïðîãðàìèòå ñè ïî ñúùèÿ íà÷èí, ïî êîéòî èçïîëçóâàò ôóíêöèèòå, êîèòî ñà íàïèñàëè.

Íàé-ãîëÿìîòî ïðåäèìñòâî íà ïðîãðàìíèòå áèáëèîòåêè å òîâà, ÷å ïîçâîëÿâàò íà äîáðè ïðîãðàìèñòè äà îêîìïëåêòîâàò ñâîèòå çíàíèÿ çà èçïîëçóâàíå îò ìíîæåñòâî äðóãè ïðîãðàìèñòè. Ìàëêî îò íàñ, íàïðèìåð, çíàÿò êàê ðàáîòè åëåêòðè÷åñòâîòî, íî ïîâå÷åòî çíàÿò êàê äà âêëþ÷àò îñâåòëåíèåòî. Äîáðàòà áèáëèîòåêà ìîæå äà áúäå èçïîëçóâàíà òàêà ëåñíî, êàêòî è êëþ÷à çà îñâåòëåíèå.  ñëåäâàùàòà ÷àñò ñå ïðàâè åäèí êðàòúê ïðåãëåä íà âõîäíî-èçõîäíàòà áèáëèîòåêà.

1.3. Ïúðâîíà÷àëåí ïîãëåä âúðõó âõîä-èçõîäà.

Âõîäúò è èçõîäúò íå ñà ÷àñò îò åçèêà Ñ++, íî ñå ïîääúðæàò îò áèáëèîòåêà, íàïèñàíà íà Ñ++ è ïîçíàòà êàòî iostream (âõ/èçõ. ïîòîê). Ïðèëîæåíèå À ðàçãëåæäà ïîäðîáíî òàçè áèáëèîòåêà(¢).  òîçè äÿë å äàäåíà äîñòàòú÷íà èíôîðìàöèÿ çà íà÷èíàåùèÿ ÷èòàòåë.

Âõîäúò, ïîñòúïâàù îò ïîòðåáèòåëñêèÿò òåðìèíàë, íàðå÷åí ñòàíäàðòåí âõîä, å ñâúðçàí ñ ïðåäâàðèòåëíî äåôèíèðàíèÿ âúâ âõ/èçõ. ïîòîê âõîä cin (ïðîèçíàñÿ ñå “see-in”). Èçõîäúò, íàñî÷åí êúì ïîòðåáèòåëñêèÿ òåðìèíàë, ñå íàðè÷à ñòàíäàðòåí èçõîä è ñå ñâúðçâà ñ ïðåäâàðèòåëíî äåôèíèðàíèÿ âúâ âõ/èçõ. ïîòîê èçõîä cout (ïðîèçíàñÿ ñå “see-out”).

Îïåðàòîðúò çà èçõîä (“<<”) ñå èçïîëçóâà çà èçïðàùàíå íà ñòîéíîñò êúì ñòàíäàðòíèÿ èçõîä. Íàïðèìåð:

cout << "The sum of 7 + 3 = ";
cout << 7 + 3;
cout << "n";

Ïîñëåäîâàòåëíîñòòà îò ñèìâîëè n ïðåäñòàâÿ ñèìâîëà íîâ ðåä. Ïðè ïèñàíå òîé ïðåäèçâèêâà íàñî÷âàíå íà ïå÷àòà íà ñëåäâàùèÿ ðåä. Ïîñëåäîâàòåëíîñò îò âõîäíî-èçõîäíè îïåðàòîðè ìîæå äà áúäå îáåäèíåíà â åäèí îïåðàòîð. Íàïðèìåð,

cout << "The sum of 7 + 3 = " << 7 + 3 << "n";

Âñåêè ñëåäâàù èçõîäåí îïåðàòîð ìîæå äà áúäå äîáàâåí íà ñâîé ðåä êúì cout. Çà ÷åòèìîñò îáåäíåíèòå èçõîäíè îïåðàòîðè ìîãàò äà ñå ðàçïîëîæàò íà íÿêîëêî ðåäà. Íà ñëåäâàùèòå òðè ðåäà å çàïèñàí åäèí èçõîäåí îïåðàòîð.

×èòàòåëÿò, ðàçïîëàãàù ñ ðåàëèçàöèÿ íà Ñ++, êîÿòî íå ñå îñíîâàâà íà âåðñèÿ 2.0, èìà ïî-ðàííàòà âåðñèÿ íà áèáëèîòåêàòà, íàðå÷åíà stream. Ïðèìåðèòå â òàçè êíèãà èçïîëçóâàò ïîäìíîæåñòâî, îáùî çà äâåòå âåðñèè.

cout << "The sum of ";
<< v1 << " + ";
<< v2 << " = " << v1 + v2 << "n";

Ñúîòâåòíî îïåðàòîðúò çà âõîä (“ >> “) ñå èçïîëçóâà çà ÷åòåíå íà ñòîéíîñò îò ñòàíäàðòíèÿ âõîä. Íàïðèìåð, ñëåäíàòà ïðîãðàìà ðåàëèçèðà ïðîñò àëãîðèòúì çà ÷åòåíå íà äâå ñòîéíîñòè, îïðåäåëÿíå íà ïî-ãîëÿìàòà îò òÿõ è îòïå÷àòâàíåòî é.

#include <stram.h>

void read2 ( int1&, int2& );
int max( int, int );
void writeMax( int );

main() {
int val1, val2;
read2( val1, val2 );
int maxVal = max( val1, val2 );
writeMax( maxVal );
return 0;
}

void read2(int& v1, int& v2); {
cout << "nPlease enter two numeric values: ";
cin >> v1 >> v2;
}

int max( int v1, int v2); {
if ( v1 > v2 )
return v1;
else
return v2;
}

viod writeMax( int val ) {
cout << val << " is the largest value.n";
}

Ïî òàçè ïðîãðàìà ìîãàò äà áúäàò íàïðàâåíè íÿêîëêî çàáåëåæêè. Îïèñàíè ñà òðè èìåíà íà ôóíêöèè ïðåäè äà áúäå äåôèíèðàíà ôóíêöèÿòà main(). Ïúðâîíà÷àëíèÿò ñïèñúê ñå íàðè÷à ïðåäâàðèòåëíà äåêëàðàöèÿ, ñúîáùàâàùà íà ïðîãðàìàòà, ÷å òåçè ôóíêöèè ñúùåñòâóâàò è îïèñàíèÿòà èì ìîãàò äà áúäàò íàìåðåíè íÿêúäå â òåêñòà íà ïðîãðàìàòà, ïðåäñòàâåíà îò òîçè ôàéë èëè â îòäåëåí ôàéë. Âñÿêà ôóíêöèÿ òðÿáâà äà áúäå äåêëàðèðàíà ïðåäè äà ìîæå äà áúäå âèêàíà. Ïðåäâàðèòåëíàòà äåêëàðàöèÿ å åäèí îò íà÷èíèòå äà ñå íàïðàâè òîâà. val1 è val2 ñå íàðè÷àò ïðîìåíëèâè. Îïåðàòîðúò

int val1, val2;

äåôèíèðà òåçè ïðîìåíëèâè çà ïðîãðàìàòà. È ïðîìåíëèâèòå òðÿáâà äà áúäàò îáÿâåíè ïðåäè äà ìîãàò äà áúäàò èçïîëçóâàíè. Ïîäðîáåí ïðåãëåä íà ïðîìåíëèâèòå å íàïðàâåí â ãëàâà 1.

v1 è v2, íàðè÷àíè ôîðìàëíè ïàðàìåòðè, èçãðàæäàò ñïèñúêà îò àðãóìåíòè íà ôóíêöèèòå read2() è max(). val å åäèíñòâåíèÿ ôîðìàëåí ïàðàìåòúð íà writeMax(). Ñúùíîñòòà íà äåôèíèöèÿòà èì å ðàçãëåäàíà â äÿë 4.6, êúäåòî ñå îáñúæäà êàê ñå îïèñâàò ïàðàìåòðèòå íà ôóíêöèè.

×èòàòåëÿò ñèãóðíî å çàáåëÿçàë, ÷å main() e îïèñàíà ìàëêî ïî- ðàçëè÷íî òîçè ïúò. Íå å îïèñàí ÿâíî òèïà íà âðúùàíèÿ ðåçóëòàò. Òîâà å ðàçðåøåíî â Ñ++: ôóíêöèÿ, çà êîÿòî íå å çàäàäåí òèï çà âðúùàíå, âðúùà òèï öÿëî ÷èñëî ïî ïîäðàçáèðàíå. Êîãàòî ïðîãðàìàòà áúäå êîìïèëèðàíà è èçïúëíåíà ñå ïîëó÷àâà ñëåäíèÿ èçõîä (ïîòðåáèòåëÿò å âúâåë ñòîéíîñòèòå 17 è 124):

Please enter two numeric values: 17 124
124 is the largest value.

Äâåòå ñòîéíîñòè, 17 è 124, ñà ðàçäåëåíè ñ èíòåðâàë. Èíòåðâàëèòå, òàáóëàöèèòå è íîâèòå ðåäîâå ñà ïðàçíî ïðîñòðàíñòâî (white space) çà Ñ++. Îïåðàòîðúò

cin >> v1 >> v2;

ïðàâèëíî ÷åòå äâåòå ñòîéíîñòè, çàùîòî îïåðàòîðúò çà èçõîä (“>>”) ïðîïóñêà öÿëîòî ïðàçíî ïðîñòðàíñòâî, êîåòî å âúâåäåíî.

Ïðåäâàðèòåëíàòà äåôèíèöèÿ íà cin è cout ñå ñúäúðæà â stream.h. Àêî ïðîãðàìèñòúò çàáðàâè äà âêëþ÷è òîçè ôàéë, âñè÷êè îáðúùåíèÿ êúì cin è cout ùå áúäàò îòáåëÿçàíè îò êîìïèëàòîðà êàòî ãðåøêè. Âêëþ÷âàíåòî íà ïðåäâàðèòåëíèòå äåêëàðàöèè ïîêàçâà ïúðâè÷íàòà óïîòðåáà íà çàãëàâíèÿ ôàéë. ( ×àñò 5.5 ðàçãëåæäà çàãëàâíèòå ôàéëîâå â ïîäðîáíîñòè).

Ñúùåñòâóâà è åäèí òðåòè âõ/èçõ. ïîòîê, cerr (ïðîèçíàñÿ ñå “see-err”), íàðå÷åí ñòàíäàðòíà ãðåøêà, êîéòî ñúùî ñå ñâúðçâà ñ ïîòðåáèòåëñêèÿ òåðìèíàë. cerr ñå èçïîëçóâà çà äà óâåäîìÿâà ïîòðåáèòåëÿ îòíîñíî íÿêîè îñîáåíè ñúñòîÿíèÿ íà ïðîãðàìàòà ïî âðåìå íà èçïúëíåíèå. Íàïðèìåð, ñëåäíàòà ÷àñò îò ïðîãðàìà ïðåäïàçâà ïðîãðàìèñòà îò äåëåíèå íà íóëà:

if (v2 == 0 ) {
cerr << "nerror: attempt to divide by zero";
return;
}

v3 = v1/v2;


Ñòðàíèöè: «1 2 3 4 5 6 »

Êîìåíòàðè (5)

black_joker íà 27.01 2007 â 20:45÷.
 òîçè êîä èìà íÿêúäå ãðåøêà:

#include

void read() { cout pact() { cout n"; }
void write() { cout n() {
read();
sort();
compact();
write();
return 0;
}

Ïðè ìåí Ñ ìè èçâåæäà ãðåøêà îùå â ïúðâèÿ ðåä, äåìåê ïðè #include
NeronVylka íà 20.03 2008 â 15:54÷.
àìè êúäå òè å áèáëèîòåêàòà ïðè #include? #include
NeronVylka íà 20.03 2008 â 16:01÷.
È int main () íÿìà è ñè ñëàãàë {} íà ïîðàçèÿ
Lumos íà 16.10 2008 â 08:08÷.
Äîáðå, áëàãîäàðÿ, íî êúäå äà ãî íàïèøà òîâà íåùî? Àç ñúì ïúëåí ëàèê îòêúì Ñ++ è ìîëÿ íÿêîé äà ìè êàæå êúäå ñå ïèøå êîäà. Áëàãîäàðÿ ïðåäâàðèòåëíî.
LiLManiac íà 12.11 2008 â 19:32÷.
êàê äà ñè íàïðàâÿ áèáëèîòåêà (.h)

Ðåãèñòðèðàéòå ñå, çà äà äîáàâèòå êîìåíòàð

ðåêëàìà

© Âñè÷êè ïðàâà çàïàçåíè. 2006-2008. Created by: Site.bg
Ïðåïîðú÷âàìå: IT Íîâèíè | Êèíî è èãðè | Äèïëîìà.áã | Paparak.bg | Òóíèíã Ïîðòàë | uchenik.com | TRAVEL òóðèçúì | Ðåôåðàòè | AmAm.bg | Èäå.ëè | Êóðñîâè ðàáîòè | AnimeS-bg.com | Ôîòî Ôîðóì | Çàïîçíàíñòâà | Ìðåæà îò ïðèÿòåëè | IT Light | Spodeli.net | Ôîòî-Êóëò | IDG.BG | Teenproblem.net | Áëîã - Îáðàçîâàíèå | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | Êàçàíëúê.Com | News24 | Setcom.bg | Atol.bg | Elmaz.com | MobileBulgaria.com