Тауарды файлға енгізу процесі


Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 13 бет
Таңдаулыға:   

n=0

While

(n!=0)

Қате

cout<<

“\nсанды тандa\n”;

Енгізілген мәзір саны (cin>>n )

Esep()

Engiz()

Shygar()

Izdeu()

Sort()

Жоспар:

Кіріспе . . . 4

Негізгі бөлім . . . 5

Класс . . . 5

Функция . . . 9

Файл . . . 15

Қорытынды . . . 16

Кіріспе

Курстық жұмыс тапсырамасы С++ жоғарғы деңгейлі программалау тілінде жазылған. Барлық программаға қойылатын негізгі талап - олардың спецификациясы толық үйлесімде түрде жұмыс істеуі және қолданушының кез келген іс-әрекеттеріне дұрыс жауап қайтаруы болып табылады. Сонымен қатар, программа көрсетілген мерзімде шығуы керек және қажетті өзгертулер мен толықтыруларды жедел енгізуге мүмкіндік беруі тиіс. Басқаша айтқанда, программалар сапасының қазіргі кездегі критерийлері - бұл, алдымен, сенімділік, сонымен қатар программаны жазып бітіру жұмысы мен оны сүйемелдеуді дұрыс жоспарлау. Осындай мақсаттарға қол жеткізу үшін программа құрылымы қарапайым болып, жеңіл оқылуы және жылдам өзгертілуі қажет. Курстық жұмыс тапсырмасын, осы талаптарға сай орындалуын қарастырдық. Тапсырмаға қойылған талап бойынша «Магазин» атты класс арқылы деректер базасын құру қажет болатын. Енгізілген деректер файлда сақталуы тиіс және файлдан қайта оқылуы қажет. Қолданушы керекті әдісті қолдануы үшін программаның басында таңдау менюі шығуы тиіс. Бағдарламада деректермен жасалатын бірнеше операция болады:

  • мәліметтерді енгізу
  • енгізілген деректерді толығымен шығару
  • тауар аты бойынша алфавиттік реттеу
  • тауар аты бойынша толық ақпарат алу
  • ізделінген тауар деректер қорында болмаса, ескерту шығару
  • дүкендегі жалпы тауар бағасын есептеу

Программада « Магазин » атты кластың өрістері:

  • тауар аты - жолдық тип char name [20] ;
  • тауар бағасы-бүтін тип int baga [15] ;
  • тауар саны - бүтін тип int sany [15] .

Программада қолданылатын Engiz(), Shygar(), Izdeu(), Sort() және Esep() функциялары кластың ішінде болуы қажет және бір-бірімен жүйелі түрде үйлесімді қызмет атқаруы тиіс. Функция жайлы, олардың программадағы қызметі туралы толығырақ негізгі бөлімде сипатталады. Қорыта келгенде C++ тілінде деректер базасымен жұмыс жасаймыз.

4

Негізгі бөлім

Қолданылған айнымалыларды сипаттау

Айнымалы
Сипаты, атқаратың қызметі, типі
Айнымалы: Magazine
Сипаты, атқаратың қызметі, типі: класстын аты
Айнымалы: name[20] ;
Сипаты, атқаратың қызметі, типі: Тауар атын сипаттайтын өріс, жолдық типті, ұзындығы 20 орын
Айнымалы: sany;
Сипаты, атқаратың қызметі, типі: Тауар санын сипаттайтын өріс, бүтін типті
Айнымалы: bagasy;
Сипаты, атқаратың қызметі, типі: Тауар санын сипаттайтын өріс, бүтін типті
Айнымалы: b
Сипаты, атқаратың қызметі, типі: Тауардың жалпы құны меншіктелетін бүтін типті айнымалы
Айнымалы: m
Сипаты, атқаратың қызметі, типі: Менюда орындалатын программа ретін көрсету үшін қолданылатын бүтін типті
Айнымалы: a
Сипаты, атқаратың қызметі, типі: Есепте тауар жалпы бағасы меншіктелген, бүтін типті

Класты сипаттау

Класс қолданушы анықтайтын мәліметтердің абстрактылы типі болып табылады, ол мәліметер және олармен жұмыс істеуге арналған функциялар түрінде берілген шынайы объектінің үлгісін бейнелейді.
Класс мәліметтері өрістер (құрылым өрістеріне ұқсас), ал класс функциялары әдістер деп аталады. Өрістер мен әдістерді класс элементтері деп атайды. Алғашқы қарастырыстырудағы класс сипаттамасы төмендегідей түрде болады:
class <атауы>{

[ private: ]

<жасырын элементтерді сипаттау>

Public:

<қолжетімді элементтерді сипаттау>

}; //сипаттау нүктелі үтірмен аяқталады

5

Мысалдағы private және public спецификаторлары класс элементтерінің көрінуін басқарады. Private түйінді сөзінен кейін сипатталған элементтер класс ішінде ғана көрінеді. Келісім бойынша, класта қатынас құрудың осы түрі қабылданған. Класс интерфейсі public спецификаторынан кейін сипатталады. Кез келген спецификатордың әрекеті келесі спецификаторға дейін немесе класс соңына дейін сақталады. Бірнеше private және public секцияларын беруге болады, олардың жазылу реттілігі маңызды емес.

Класс өрістері:

  • oсы класс типінен басқа кез келген типті қабылдай алады (алайда, осы класқа нұсқауыш немесе сілтемелер болуы да мүмкін) ;
  • constмодификаторы көмегімен сипатталуы мүмкін, мұндайда олар тек бір рет қана инициалданады (конструктор арқылы) және өзгеруі мүмкін емес;
  • staticмодификаторының көмегімен сипатталуы мүмкін, бірақauto, арқылы жазылмайды.

Сипаттау кезінде өрістерді инициалдауға тыйым салынған. Кластар ауқымды (кез келген блоктан тыс жарияланған) және жергілікті (блок ішінде, мысалы, функцияның немесе басқа кластың ішінде жарияланған) болуы мүмкін.

Төменде жергілікті (локалды) кластың кейбір ерекшеліктері көрсетілген:

  • жергілікті кластың ішінде өзі сипатталған аймағындағы типтерді, статикалық(static) және сыртқы(extern) айнымалыларды, сыртқы функциялар мен тізбелер элементтерін қолдануға болады; осы аймақтағы автоматты айнымалыларды қолдануға тыйым салынған;
  • жергілікті кластың статикалық элементтері болмайды;
  • осы кластың әдістерін тек кластың ішінде сипаттауға болады;
  • егер бір класс басқа класс ішінде кірістірілсе, олардың бір-бірінің элементтеріне қол жеткізе алатын ерекше мүмкіндіктері болмайды, оларға тек ортақ ережелерге сәйкес түрде пайдаланыла алады.

Мысал: курстық жұмыс барысында «Магазин» атты класын құрдық. Бұл үшін оның қасиеттері (тауар саны, тауар аты, тауар саны, тауар бағасы ) мен тәртіптерін беруіміз керек.

class Magazine {

private:

char name[20] ;

int sany;

int bagasy;

};

Private спецификаторында біз негізгі типтермен қатар функцияларды таңдау операторы switch (n) арқылы менюды шығарамыз.

6

Қолданушыға программаны аяқтауға және жұмыс әрекетін таңдау мүмкіндігін беріп отырмыз. Цикл арқылы әр функция орындалғаннан кейін switch (n) операторы көмегімен менюді қайтадан шығарамыз. Негізінен switch (ауыстырғыш) операторы есептеу процесін бірнеше бағытта тармақтауға арналған. Программа коды төмендегідей:

switch (n) {

case 1 : m. Engiz() ; break;

case 2 : m. Shygar() ; break;

case 3 : m. Sort() ; break;

case 4 : m. Izdeu() ; break;

case 5 : m. Esep() ; break;

case 6 : cout<<"Kosh bol";

default: printf("\nKate engizilgen/tagy engizip kor") ;

}

1-сурет. Меню. Switch() операторы көмегімен жасалған

7

n=0

While

(n!=0)

Қате

cout<<

“\nсанды тандa\n”;

Енгізілген мәзір саны (cin>>n )

6. Жұмысты

аяқтау

5. Esep()

1. Engiz()

2. Shygar()

4. Izdeu()

3. Sort()

2-сурет. Программаның негізгі блок схемасы

8

class Magazine {

public: // Бұл бөлімде программалауда қолданылатын функциялар тізімі жазылған

void Engiz() ;

void Shygar() ;

void Sort() ;

void Izdeu() ;

void Esep() ;

};

Кластың барлық әдістері жасырын өрістерді тікелей пайдалана алады, басқаша айтқанда, класс функцияларының тұлғалары класс элементтерінің private көріну аймағына кіреді.

Әрбір класс құрамында атауы класс атауымен бірдей болып келетін кем дегенде бір әдіс болады. Ол конструктор деп аталады және класс объектісін құру кезінде автоматты түрде шақырылады. Конструктор объектіні инициалдау үшін қажет. Конструкторды автоматты түрде шақыру инициалданбаған айнымалыларды пайдалануға байланысты туындайтын қателердің алдын алуға мүмкіндік береді.

Функция

Функцияларды жариялау және анықтау

Функция - бұл белгілі бір аяқталған әрекетте орындайтын сипаттамалар мен операторлардың атау берілген тізбегі. Функция параметрлерді қабылдап, мән қайтара алады.

С++ тіліндегі кез келген программа функциялардан тұрады, олардың бірі міндетті түрде main деп аталуы тиіс (программаның орындалуы осы функциядан басталады) . Функцияны шақырған кезде ол орындала бастайды. Кез келген функция жариялануы және анықталуы тиіс. Функция да басқа шамалар сияқты бірнеше рет жариялануы мүмкін, бірақ ол бір-ақ рет анықталуы тиіс. Компилятор функцияны шақырудың дұрыстығын тексеруі үшін программа мәтінінде функцияны жариялау оны шықырудың ерте орналасуы тиіс.

Функцияны жариялау оның атын, қайтарылатын мәнінің типін және оған берілетін параметрлер тізімін тағайындайды. Функцияны анықтауда, оны жариялаумен қатар, функция тұлғасы қамтылады, ол жүйелі жақшалар ішіндегі операторлар мен сипаттамалар тізбегінен тұрады:

[ класс ] типі атауы ([параметрлер_тізімі ] ) [throw

( аластамалар ) ] { функция тұлғасы }

Функцияны анықтауды құрама бөліктерін қарастырайық.

9

  • Міндетті түрде қажет көмегімен, сөздерін қолдана отырып, функцияның көріну аймағын айқын түрде көрсетуге болады.
  • Extern -функцияның программаның барлық модульдерінде ауқымды, яғни глобалды (келісім бойынша) түрде көрінуі;
  • Static -функцияның тек өзі анықталған модуль шеңберінде көрінуі.
  • Функцияның қайтаратын мәнініңтипіжиым мен функциядан (бірақ жиымға немесе функцияға нұсқауыш бола алады) басқа кез келген тип түрінде болуы мүмкін. Егер функция оны шақырған программаға ешқандай мән қайтармайтын болса, ондаvoidтипі көрсетіледі.

Бір функцияның анықталуындағы, жариялануындағы, шақырылуындағы параметрлердің типтері мен жазылу реттілігі бір-бірімен сәйкес келуі керек. Курстық жұмыста біз бірнеше функцияны атқаратын қызметіне қарай бөліп қолдандық. Қолданылған функциялар төменде:

  • Void Engizu () фунциясында қолданушы тауар саны және оның аты, саны, бағасы жайлы мәліметер енгізіледі. Ол үшін функция ішіне алдымен тауар санын енгізімеміз. Тауар саны белгілі көмегімен (for (int i(0) ; i<b; i++) ) жәнедеректерді енгізу үшін файлды ашып (ifstream F; F. Open ("Magazine. txt") ; ), енгізуді бастаймыз, біздің жағдайда ол тауар аты, саны және бағасы:

Енгізіп болғаннан кейін, сәйкесінше fout. close() ; деп файлды жабамыз.

3-сурет. Тауарды файлға енгізу процесі

10

Engizi () ;

Енгізілетін тауар саны (n)

int i(0) ; i<b; i++

Деректерді енгізу

Файлға сақтау

Шығу

Engiz() функциясының блок схемасы

11

  • Void Shygar () функциясы енгізілген барлық мәлеметтерді экранға шығарады. Ол үшін файлды ашып (ifstream F; F. open("Magazine. txt") ; ), тауар атын, санын және бағасын шығарамыз. Функция орындалып болғаннан кейін, міндетті түрде файлды жабамызF. close() ;

Shygar

Magazine. txt файлынан деректерді оқу

while(!F. eof() )

Мәліметтеді файлдан алу

Реттеу жасау

i = 0; i < m[i] ; i++

Шығу

Тауар тізімін экранға шығару

Shygar() функциясының блок схемасы

12

4-сурет. Енгізілген тауарларды толығымен шығаруы.

Void Izdeu () функциясы тауардың аты бойынша файлдан мәлеметті іздеп, оны экран бетіне шығарады. Ізделініп отырған тауар мәліметін шығару үшін if , for операторының көмегімен қолданушы жазған тауар атының файлдағы тауардың аттымен салыстырамыз. Сәйкес келсе, сол тауар жайлы ақпаратты шығарамыз:

5-сурет . Аты бойынша ізделінген тауар жайлы ақпарат

13

  • Void Sort () функциясы енгізілген тауар мәліметтерін алфавит бойынша реттейді. Ол үшін алдымен файлды ашамыз (ifstream F; F. open("Magazine. txt") ; ), forоператоры арқылы барлық тауарлардың аттарын бір-бірімен салыстырып, сұрыптау жасаймыз. Сұрыптау жасалғаннан кейін тауар жайлы ақпаратты кезегімен шығарамыз.
  • Void Esep() . Курстық жұмыстың негізгі есебі, тауарлардың жалпы құнын анықтау болатын. Ол үшін тауар бағасы мен санына бүтін типті жаңа айнымалы енгіземіз. Программа коды барлық товар санын бағасына көбейтіп, қосады:

int a, b;

a=0; b=0;

for(int j=0; j<i; j++) {

a=m[j] . sany*m[j] . bagasy;

b=b+a;

} cout<<"Magazin zhalpy kuny "<<b; }

6-сурет. Программаның дүкендегі тауардың жалпы құнын есептеуі және жұмыстың тоқтатылуы

14

Файл

Файл деп тізбектеле орналасқан жеке компоненттерден тұратын дискідегі біртектес мәліметтердің реттелген жиынын айтады. Файл - белгілі бір мақсатқа жету жолында өзіндік ұйымдастыру жолымен бір-бірімен логикалық байланыста құрастырылған мәліметтердің (жазбалардың) атаулы жиыны.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Тіркестерді толықтай енгізу - шығару операциялары
Сатып алынған жеке меншік үлестік аспаптарды есепке алуда рәсімделетін құжаттар
Информатиктерге архивтеу туралы аздаған жаңалықтар
Айнымалылар, файлдар атауларын таңдау және оларға берілетін түсініктеме. Программалау стилі, деректерді енгізу және шығару
Файлдар
Веб - беттің HTML элементтері үшін негізгі стильдерді орнататын стиль кестесі
АУЫЛ МЕКТЕБІНДЕ ҚАШЫҚТЫҚТАН ОҚЫТУДЫҢ ИНФОРМАЦИЯЛЫҚ ТЕХНОЛОГИЯЛАРЫ
СИ тіліндегі файлдар және мәтіндік файлдар
Паскаль программалау тілі. Программалау тілі командаларының ортасы
Құжат алмасу жүйесінің негізгі моделі
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz