Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Text_programmy.docx
Скачиваний:
11
Добавлен:
06.02.2018
Размер:
69.78 Кб
Скачать

УТВЕРЖДЕНО

а.в.00001-01 12 01-лу

Программа психологического тестирования «Патриотизм и гражданственность» и электронной база данных результатов тестирования Текст программы

А.В.00001-01 12 01

Аннотация

В данном программном документе приведен текст программы «Игра и коровы», позволяющей организовать интеллектуальный досуг пользователя. Текст программы реализован в виде символической записи на исходном языке. Исходным языком данной разработки является С++. Среда разработки, компилятор - Microsoft Visual Studio Express 2012 для Windows Desktop (локализованная русская версия).

Основной функцией программы Курсовая.exe является организация игры, посредством считывания вводимого пользователем четырёхзначного числа, его обработки и вывода результата.

Основная задача программного продукта - организация полезного досуга пользователей, начиная со школьного возраста.

Игра «Быки и коровы» реализует следующие функции:

  • Просмотр правил игры

  • Просмотр сведений об авторе

  • Игра

  • Просмотр таблицы рейтингов

  • Выход из программы

Оформление программного документа «Текст программы» произведено по требованиям ЕСПД (ГОСТ 19.101-77 1, ГОСТ 19.103-77 2, ГОСТ 19.104-78* 3, ГОСТ 19.105-78* 4, ГОСТ 19.106-78* 5, ГОСТ 19.401-78 6, ГОСТ 19.604-78* 7).

Содержание Аннотация 2 Содержание 3

Текст программы на исходном языке 4

Лист регистрации изменений 13

1. Текст программы на исходном языке

(Общее) (Подключение библиотек)

#include <math.h>

#include <conio.h>

#include <stdlib.h>

#include <windows.h>

#include <stdio.h>

#include <string.h>

#include <string>

#include <ctype.h>

#include <fstream>

#include <locale.h>

#include <iostream>

#include <fstream>

#define _CRT_SECURE_NO_WARNINGS

#define BUFSIZE 128

char buffer [BUFSIZE];

struct student

{

char name[20];

int ball;

char pol[10];

};

student g[100];

void test()

{ HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

int v1, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22;

int s; //сумма набранных баллов

int i;

FILE *f;

f=fopen("basa.txt","r+");

system("cls");

int feof(FILE *f);

for(i =0; i<100;i++)

{

if(feof(f)) break;

fgets(buffer, BUFSIZE, f);

}

system("cls");

setlocale(LC_ALL,"RUS");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("Введите свое имя \n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

scanf ("%s",&g[i].name);

printf("Приветствую, %s! \n Предлагаю Вам пройти тест \n на тему *Патриотизм и гражданственность*!\n ",g[i].name) ;

printf ("Вашему вниманию предложены 22 вопроса, \n ответом на каждый служит номер варианта ответа.\n");

printf ("Ответ вводится вручную с клавиатуры \n и не требует дополнительных символов.\n");

printf ("Приятного прохождения!\n");

getch();

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("I. Ваш возраст(полных лет)\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

scanf("%d",&v1);

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("II. Пол(male/female)\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

scanf ("%s",&g[i].pol);

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("III. Курс\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

scanf ("%d",&v3);

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("IV. Считаете ли Вы себя патриотом своей страны?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, считаю \n");

printf("2. скорее да, чем нет \n");

printf("3. не знаю точно \n");

printf("4. нет, не считаю \n");

scanf ("%d",&v4);

if(v4>4||v4<1) {

while ((v4!=1)||(v4!=2)||(v4!=3)||(v4!=4))

{

printf("введите корректное значение\n"); break;

}

scanf("%d",&v4);

} else goto label;

label:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("V.Можете ли Вы с уверенностью сказать \n *Я гражданин своей страны?*\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, с гордостью \n");

printf("2. скорее да, чем нет \n");

printf("3. нет, не могу \n");

scanf ("%d",&v5);

if(v5>3||v5<1) {

while ((v5!=1)||(v5!=2)||(v5!=3))

{

printf("введите корректное значение\n"); break;

}

scanf("%d",&v5);

} else goto label1;

label1:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("VI. Что означает слово патриотизм?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. любовь к родине \n");

printf("2. преданность своему отечеству \n");

printf("3. свой вариант \n");

printf("4. не знаю \n");

scanf ("%d",&v6);

if(v6>4||v6<1) {

while ((v6!=1)||(v6!=2)||(v6!=3)||(v6!=4))

{

printf("введите корректное значение\n"); break;

}

scanf("%d",&v6);

} else goto label2;

label2:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("VII.Знаете ли Вы символику своего государства?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да \n");

printf("2. да, но не могу вспомнить \n");

printf("3. нет \n");

printf("4. мне безразлично \n");

scanf ("%d",&v7);

if(v7>4||v7<1) {

while ((v7!=1)||(v7!=2)||(v7!=3)||(v7!=4))

{

printf("введите корректное значение\n"); break;

}

} else goto label3;

label3:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("VIII.Как Вы считаете, что в большей степени влияет \n на гражданственность человека?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. семья и близкие люди\n");

printf("2. учебное заведение \n");

printf("3. средства массовой информации (СМИ) \n");

printf("4. ничего из вышеперечисленного \n");

printf("5. не знаю \n");

scanf("%d",&v8);

if(v8>5||v8<1) {

while ((v8!=1)||(v8!=2)||(v8!=3)||(v8!=4)||(v8!=5)){

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v8);

} else goto label4;

label4:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("IX.Какие из качеств гражданственности у Вас есть?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. Ответственность, активность, дисциплинированность\n");

printf("2. свой вариант \n");

printf("3. не знаю, не могу сказать \n");

printf("4. никаких нет \n");

scanf ("%d",&v9);

if(v9>4||v9<1) {

while ((v9!=1)||(v9!=2)||(v9!=3)||(v9!=4)) {

printf("введите корректное значение\n"); break; }

scanf ("%d",&v9);

} else goto label5;

label5:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("X.Знаете ли Вы традиции и обычаи своего народа?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, знаю и следую им \n");

printf("2. подражаю обычаям и традициям, предлагаемым интернетом \n");

printf("3. не обращаю на них внимания \n");

printf("4. нет, мне безразлично \n");

printf("5. нет, стыжусь их \n");

scanf ("%d",&v10);

if(v10>5||v10<1) {

while ((v10!=1)||(v10!=2)||(v10!=3)||(v10!=4)||(v10!=5))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v10);

} else goto label6;

label6:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XI. Ощущаете ли Вы гордость, когда выигрывает \n спортивная команда вашего государства?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, бурно реагирую \n");

printf("2. в целом, радуюсь, но не более того \n");

printf("3. не понимаю чужого восторга \n");

printf("4. нет, мне безразлично \n");

printf("5. испытываю стыд и досаду \n");

scanf ("%d",&v11);

if(v11>5||v11<1) {

while ((v11!=1)||(v11!=2)||(v11!=3)||(v11!=4)||(v11!=5))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v11);

} else goto label7;

label7:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XII.Как Вы считаете, должен ли вуз воспитывать в \n Вас гражданственность и чувство патриотизма?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да \n");

printf("2. не знаю \n");

printf("3. однозначно, нет \n");

scanf ("%d",&v12);

if(v12>3||v12<1) {

while ((v12!=1)||(v12!=2)||(v12!=3))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v12);

} else goto label8;

label8:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XIII.Есть ли необходимость преподавать в вузе дисциплину \n способствующую формированию гражданственности и патриотизма?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, считаю это необходимым \n");

printf("2. нет, это лишнее \n");

printf("3. мне безразлично \n");

scanf ("%d",&v13);

if(v13>3||v13<1) {

while ((v13!=1)||(v13!=2)||(v13!=3))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v13);

} else goto label9;

label9:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XIV.Служба в Армии это?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. Ваш гражданский долг \n");

printf("2. не знаю \n");

printf("3. пустая трата времени \n");

scanf ("%d",&v14);

if(v14>3||v14<1) {

while ((v14!=1)||(v14!=2)||(v14!=3))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v14);

} else goto label111;

label111:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XV.Влияет ли высшее образование на формирование \n гражданственной позиции человека?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да \n");

printf("2. не знаю \n");

printf("3. однозначно, нет \n");

scanf ("%d",&v15);

if(v15>3||v15<1) {

while ((v15!=1)||(v15!=2)||(v15!=3))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v15);

} else goto label10;

label10:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XVI.Смотрите ли Вы исторические фильмы?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, для самообразования \n");

printf("2. иногда, для досуга\n");

printf("3. не смотрю телевизор \n");

printf("4. нет, предпочитаю другие темы \n");

printf("5. мне все равно, что смотреть \n");

scanf ("%d",&v16);

if(v16>5||v16<1) {

while ((v16!=1)||(v16!=2)||(v16!=3)||(v16!=4)||(v16!=5))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v16);

} else goto label11;

label11:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XVII.Получив выгодное предложение уехать за рубеж навсегда, Вы:\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. откажусь, ведь я патриот своей страны\n");

printf("2. соглашусь только лишь ради работы \n");

printf("3. мне все равно, где жить \n");

printf("4. сразу соглашусь\n");

scanf ("%d",&v17);

if(v17>4||v17<1) {

while ((v17!=1)||(v17!=2)||(v17!=3)||(v17!=4))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v17);

} else goto label12;

label12:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XVIII.Влияют ли средства массовой информации \n на воспитание патриотизма и гражданственности?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, и не всегда положительно\n");

printf("2. скорее да, чем нет \n");

printf("3. нет, не влияют \n");

printf("4. мне безразлично \n");

scanf ("%d",&v18);

if(v18>4||v18<1) {

while ((v18!=1)||(v18!=2)||(v18!=3)||(v18!=4))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v18);

} else goto label13;

label13:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XIX.Можете ли Вы сделать свою страну лучше?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, я стремлюсь к этому\n");

printf("2. хочу, но не знаю, в чем могу себя проявить \n");

printf("3. нет, это не в моих силах \n");

printf("4. мне безразлично \n");

printf("5. нет, не могу и не хочу \n");

scanf ("%d",&v19);

if(v19>5||v19<1) {

while ((v19!=1)||(v19!=2)||(v19!=3)||(v19!=4)||(v19!=5))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v19);

} else goto label14;

label14:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XX. Сможете ли Вы во имя Родины совершить подвиг?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, думаю, смогу \n");

printf("2. скорее да, чем нет \n");

printf("3. нет, это не в моих силах \n");

printf("4. мне безразлично \n");

printf("5. нет, не могу и не хочу \n");

scanf ("%d",&v20);

if(v20>5||v20<1) {

while ((v20!=1)||(v20!=2)||(v20!=3)||(v20!=4)||(v20!=5))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v20);

} else goto label15;

label15:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XXI.Имеют ли слова Родина и Отчизна отношение \n к словам патриотизм и гражданственность?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, имеют \n");

printf("2. затрудняюсь ответить \n");

printf("3. нет, не имеют \n");

scanf ("%d",&v21);

if(v21>3||v21<1) {

while ((v21!=1)||(v21!=2)||(v21!=3))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v21);

} else goto label16;

label16:

printf("____________________________________________________________________________\n");

printf("\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("XXII. Нужно ли пропагандировать в средствах массовой информации \n патриотическое воспитание молодежи?\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("1. да, обязательно нужно \n");

printf("2. скорее да, чем нет\n");

printf("3. не знаю, мне безразлично\n");

printf("4. нет, однозначно, не нужно \n");

scanf ("%d",&v22);

if(v22>4||v22<1) {

while ((v22!=1)||(v22!=2)||(v22!=3)||(v22!=4))

{

printf("введите корректное значение\n"); break;

}

scanf ("%d",&v22);

} else goto label17;

label17:

printf("____________________________________________________________________________\n");

printf("\n");

s=v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22;

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf("| № вопроса | Ваш вариант ответа | \n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("-------------------------------------\n");

printf("| I | %d \n", v1);

printf("-------------------------------------\n");

printf("| II | %s \n", g[i].pol);

printf("-------------------------------------\n");

printf("| III | %d | \n", v3);

printf("-------------------------------------\n");

printf("| IV | %d | \n", v4);

printf("-------------------------------------\n");

printf("| V | %d | \n", v5);

printf("-------------------------------------\n");

printf("| VI | %d | \n", v6);

printf("-------------------------------------\n");

printf("| VII | %d | \n", v7);

printf("-------------------------------------\n");

printf("| VIII | %d | \n", v8);

printf("-------------------------------------\n");

printf("| IX | %d | \n", v9);

printf("-------------------------------------\n");

printf("| X | %d | \n", v10);

printf("-------------------------------------\n");

printf("| XI | %d | \n", v11);

printf("-------------------------------------\n");

printf("| XII | %d | \n", v12);

printf("-------------------------------------\n");

printf("| XIII | %d | \n", v13);

printf("-------------------------------------\n");

printf("| XIV | %d | \n", v14);

printf("-------------------------------------\n");

printf("| XV | %d | \n", v15);

printf("-------------------------------------\n");

printf("| XVI | %d | \n", v16);

printf("-------------------------------------\n");

printf("| XVII | %d | \n", v17);

printf("-------------------------------------\n");

printf("| XVIII | %d | \n", v18);

printf("-------------------------------------\n");

printf("| XIX | %d | \n", v19);

printf("-------------------------------------\n");

printf("| XX | %d | \n", v20);

printf("-------------------------------------\n");

printf("| XXI | %d | \n", v21);

printf("-------------------------------------\n");

printf("| XXII | %d | \n", v22);

printf("-------------------------------------\n");

printf("|Баллов набрано| %d \n", s);

printf("-------------------------------------\n");

printf(" \n");

printf(" \n");

printf("-------------------------------------\n");

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|11));

printf(" Набрано %d баллов из 76 возможных\n",s);

SetConsoleTextAttribute(hConsole, (WORD)((0<<4)|15));

printf("-------------------------------------\n");

if(s<=30) printf("Высокий уровень патриотизма");

else if ((s>30)&&(s<=50)) printf("Средний уровень патриотизма");

else if ((s>50)&&(s<=65)) printf("Низкий уровень патриотизма");

else if (s>65) printf("Очень низкий уровень патриотизма");

g[i].ball = s;

fprintf(f, "%s ", g[i].name);

fprintf(f, "%s ", g[i].pol);

fprintf(f,"%d", g[i].ball);

fprintf(f, "\n");

fclose(f);

getch();

}

void poisk()

{

system("cls");

FILE *f;

int p; int i;

f=fopen("basa.txt","r");

printf("Введите фильтр для поиска \n");

printf("Введите число в диапазоне [19,76]\n");

printf("В результате будут выведены данные в диапазоне \n от введенного значения и выше\n");

scanf("%d", &p);

for(i=0;i<100;i++) {

fscanf(f, "%s", &g[i].name);

fscanf(f, "%s", &g[i].pol);

fscanf(f,"%d", &g[i].ball);

if (p<=g[i].ball)

{

printf("|%s %s %d|",g[i].name,g[i].pol,g[i].ball);

printf("\n");

}

else { if((p>76)||(p<19)) printf("По результатам поиска ничего не найдено"); break; }

}

fclose(f);

getch();

}

void main(){

setlocale(LC_ALL,"Russian");

int m=0;

do {

m=menu(); //присваиваем переменную m для меню

switch(m){

case 1: test(); break;

case 2: poisk(); break; }

} while(m!=2);

}

Лист регистрации изменений

Номера листов (страниц)

Всего

листов

(страниц)

в докум

документа

Входящий

№ сопрово

дительного

документа

и дата

Подп.

Дата

Изм

изменен

ных

заме

ненных

новых

анулиро

ванных

1 ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов

2 ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов

3 ГОСТ 19.104-78* ЕСПД. Основные надписи

4 ГОСТ 19.105-78* ЕСПД. Общие требования к программным документам

5 ГОСТ 19.106-78* ЕСПД. Общие требования к программным документам, выполненным печатным способом

6 ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению

7 ГОСТ 19.604-78* ЕСПД. Правила внесения изменений в программные документы, выполненные печатным способом

2016

Соседние файлы в предмете Метрология, стандартизация и сертификация в информатике и радиоэлектронике