Помогни ни да направим 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   трудност:    видян: 16533




Следващата програма чете по един символ от стандартния вход докато не срещне end-of-file. Тя брои прочетените редове и символи. Изходът й има следния вид:

lineCount characterCount

Описанието й има вида:

#include <stream.h>

main() {
char ch;
int lineCnt=0, charCnt=0;
while ( cin.get(ch) ) {
switch ( ch ) {
case ‘t’:
case ‘ ‘ : break;
case ‘n’: ++lineCnt;
break;
default : ++charCnt; break;
}
}
cout << lineCnt << " " << "n";
return 0;
}

get() е функция, принадлежаща на вх/изх. поток, която чете символи и ги записва като свой аргумент - в този случай, ch. Последователността от два символа n представя символа tab.

Операторът switch осигурява условен преход според стойността на селектора си. Ако стойността му съвпада с някой от описаните след думата case стойности, се изпълнява оператора, съответствуващ на тази стойност. Ако съответствие не може да бъде намерено, се изпълняват операторите, записани след default. За всеки прочетен символ за нов ред се увеличава стойността на lineCnt с 1. charCnt се увеличава с 1 всеки път, когато е прочетен символ, който не е табулатор, интервал или нов ред.

Операторът while, наричан оператор за цикъл, осигурява многократно изпълнение на група от оператори докато някакво условие има стойност истина. В този случай, операторът switch се изпълнява докато get() чете символ от стандартния вход. (Операторите while и switch са описани в глава 6).

Упражнение 0-1. Въведете програмата във файл prog2.c и я компилирайте в изпълним файл, наречен prog2.

Упражнение 0-2. Изпълнете програмата с текста на предишното упражнение. Изпълнете я отново с текст, съдържащ само празни интервали. Изпълнете я за текст, съдържащ само знака end-of-file.

Упражнение 0-3. Преработете програмата така, че да брои табулаторите (tabCnt) и интервалите (blankCnt). Нека изходът да изглежда така.

Total Characters: xx
Lines: x
Chars: x
Tabs: x
Blanks: x

1.4. Няколко думи за коментарите

Коментарите се пишат за да подпомагат четенето на програмите. Те могат да поясняват алгоритъма на функцията, да описват употребата на променливите или да поясняват други аспекти по текста на програмата. Коментарите не увеличават размера на изпълнимата програма. Те се отстраняват от компилатора преди генерацията на кода.

В С++ са дефинирани два типа коментари. Двойката (“/* /”) описва коментарите в езика С. Началото на коментара се определя чрез "/”. Всичко, което следва тези символи ще бъде третирано от компилатора като коментар до срещането на символите “*/”. Коментар може да бъде поставян там, където могат да се поставят табулатори, интервали или символи за нов ред и той може да заема няколко реда от програмата. Например,

/*
This is a first look at a C++ class definition.
Classes are used both in data abstraction and
object-oriented programming. An implementation
of the Screen class is presented in Chapter 5. */ class Screen {/* This is referred to as the class body */ public:

void home(); /* move cursor to 0,0 */
void refresh(); /* redraw Screen */
private:

/* Classes support "information hiding". */
/* Information hiding restricts a program’s */
/* access to the internal representation of */
/* a class (its data). This is done through */
/* use of the "private:" label */

char cursor; / current Screen position */

};

Многото коментари, разположени хаотично в програмния код, могат да направят текста неясен. Например, обградената с коментари дефиниция на cursor почти я скрива. Изобщо, за предпочитане е коментарът да се помества в цялостен блок над текста, който пояснява.


Страници: «1 2 3 4 5 6 »

Коментари (3)

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 () няма и си слагал {} на поразия

Регистрирайте се, за да добавите коментар

реклама

© Всички права запазени. 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