Студопедия — Робочий зошит
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Робочий зошит






 

Київ-2014 рік

Класна робота:

Умова:

Текст програми:

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

 

struct store{

int num;

int asort[4];

};

 

struct list{

struct store* el;

};

 

struct list lofst[20];

 

main (){

 

int n=0,i,j;

int ap[4];

char c1;

int ip[4];

 

for(i=1;i<5;i++)

ap[i]=0;

 

do{

lofst[n].el=(struct store *)malloc(sizeof(struct store));

lofst[n].el->num=n+1;

for (i=1;i<5;i++){

printf("\nHave store N%i good N%i?(y)\t",n+1,i);

c1=getch();

if (c1=='y') lofst[n].el->asort[i]=1;

printf("%c",c1);

puts("\n");

}

n++;

printf("Want to add new?(y)\t");

c1=getch();

printf("%c",c1);

puts("\n");

}while ((c1=='y')&&(n<20));

 

 

i=1;

for (i;i<5;i++){

printf("\nWant to search for good N%i?(y)\t",i);

c1=getch();

if (c1=='y') ip[i]=1;

printf("%c",c1);

puts("\n");

}

 

for (j=0;j<n;j++){

for (i=1;i<5;i++){

if (lofst[j].el->asort[i]==1)

ap[i]=1;

}

}

 

 

int z=0;

 

for (j=1;j<5;j++){

if ((ap[j]!=1)&&(ip[j]==1)) {

printf("Noone store has good N%i\n",j);

z++;}

}

 

if (z==0) printf("All goods are in stores\n");

 

return 0;

 

}

Домашня робота:

Умова:

2) Ввести дані в табл. 2. Відсортувати перелік студентів за належністю до кафедри. В межах кафедри розташувати інформацію за абеткою. Вивести результати сортування у табл. 2.

 

Текст програми:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <windows.h>

#include <string.h>

 

#define MAXLENN 20

#define MAXRECORDS 100

 

 

struct specialisation{

char code[MAXLENN];

char name[MAXLENN];

};

 

struct sname{

char firstn[MAXLENN];

char surn[MAXLENN];

char ftrn[MAXLENN];

};

 

struct student{

char faculty[MAXLENN];

char department[MAXLENN];

struct sname stname;

struct specialisation spec;

int curse;

char mark;

char group[MAXLENN];

};

 

struct list{

struct student* prev;

struct student* next;

};

 

 

void gotoxy(short x, short y) {

COORD pos = {x, y};

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);

}

 

void sort(struct list *[],int num);

void output(struct student*,FILE *);

void input(struct student*);

int finput(FILE* fp);

void strstruct(FILE *,char *,struct student *);

void spacedel(char [],int*,char*);

 

struct list* listst[MAXRECORDS];

char * rec[100];

int an,n=0;

char path[30];

char fuc[20]="Faculty",dep[20]="Department",sn[20]="Surname",fnam[20]="First name",fn[20]="Father's name";

char sc[20]="Spec.code",snm[20]="Spec. name",co[20]="Course",mar[20]="Mark",g[20]="Group";

 

 

main(){

 

FILE *fp;

 

system("mode con cols=80 lines=60");

//system("color f0");

 

gotoxy(10,0);

printf("///If you want to rewrite or create new file press \"n\" \\\\\\\n ");

gotoxy(8,1);

printf("///If you want to open existing file and sort it press \"s\" \\\\\\\n ");

gotoxy(13,2);

printf("///If you want to work without files press \"f\" \\\\\\\n");

gotoxy(35,3);

 

char c;

c=getch();

 

if (c=='s'){

 

do{

puts("\nInput path to file\n");

gets(path);

if ((fp=fopen(path,"r"))==NULL){

printf("Can't open file %s\n",path);

printf("Want to try again? (y)\n");

if (getch()!='y') return 1;

else (an=1);

}

else an=0;

 

}while(an!=0);

 

n=finput(fp);

int i;

 

 

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

listst[i]=(struct list *)malloc((sizeof(struct list)));

listst[i]->next=(struct student *)malloc(sizeof(struct student));

strstruct(fp,rec[i],listst[i]->next);

}

 

sort(listst,n-1);

 

fclose(fp);

 

int y;

 

for (y=0;(*(path+y)!='\0')&&(*(path+y)!='.');y++);

 

if (*(path+y)=='.') *(path+y)='\0';

strcat(path," sorted.txt");

 

fp=fopen(path,"w");

 

i=0;

 

fprintf(fp,"%10s|%15s|%15s|%15s|%15s|%15s|%15s|%7s|%10s|",fuc,dep,sn,fnam,fn,sc,snm,co,g);

fprintf(fp,"%7s|\n",mar);

 

for (i;i<134;i++)

fputs("-",fp);

 

while (i<n){

output(listst[i]->next,fp);

puts("\n");

i++;

}

 

fclose(fp);

 

return 0;

 

}

 

if ((c=='n')||(c=='f')) {

 

if (c=='n'){

do{

puts("\nInput path to file\n");

gets(path);

if ((fp=fopen(path,"w"))==NULL){

printf("Can't open file %s\n",path);

printf("Want to try again? (y)\n");

if (getch()!='y') return 1;

else (an=1);

}

else an=0;

 

}while(an!=0);

 

puts("///File opened\\\\\\\n");

}

else {

puts("\n");

fp=fopen("RES.txt","w");

}

 

do{

printf("///Student N%i\\\\\\\n",n+1);

listst[n]=(struct list *)malloc((sizeof(struct list)));

(n>0)? (listst[n]->prev=listst[n-1]->next): (listst[n]->prev=NULL);

listst[n]->next=(struct student *)malloc(sizeof(struct student));

input(listst[n]->next);

puts("\n\tWant to add more\n\t///Press y\\\\\\");

n++;

}while (getch()=='y');

 

 

listst[n]=(struct list *)malloc(sizeof(struct list));

listst[n]->next=NULL;

 

 

sort(listst,n-1);

puts("\t\t///List was sorted\\\\\\\n");

 

n=0;

int i=0;

 

fprintf(fp,"%10s|%15s|%15s|%15s|%15s|%15s|%15s|%7s|%10s|",fuc,dep,sn,fnam,fn,sc,snm,co,g);

fprintf(fp,"%7s|\n",mar);

 

for (i;i<134;i++)

fputs("-",fp);

 

//fputs("\n",fp);

 

while (listst[n]->next!=NULL){

output(listst[n]->next,fp);

puts("\n");

n++;

}

 

fclose(fp);

 

return 0;

}

 

return 0;

}

 

void input (struct student* st1){

 

gets(st1->faculty);

printf("\nEnter faculty\t");

gets(st1->faculty);

printf("\nEnter department\t");

gets(st1->department);

printf("\nEnter surname\t");

gets(st1->stname.surn);

printf("\nEnter first name\t");

gets(st1->stname.firstn);

printf("\nEnter second name\t");

gets(st1->stname.ftrn);

printf("\nEnter specialisation code\t");

gets(st1->spec.code);

printf("\nEnter specialisation name\t");

gets(st1->spec.name);

printf("\nEnter group\t");

gets(st1->group);

printf("\nEnter course\t");

scanf("%d",&st1->curse);

printf("\nEnter mark\t");

st1->mark=getch();

printf("%c",st1->mark);

}

 

void sort(struct list* lt1[],int num){

 

int k,i,p,j;

struct student* temp;

 

for(i = 0; i <= num - 1; ++i)

{

for(j = 0; j <= num - 1; ++j)

if (strcmp(((lt1[j]->next)->department),((lt1[j+1])->next)->department)>0)

{

temp=lt1[j]->next;

lt1[j]->next=lt1[j+1]->next;

lt1[j+1]->next=temp;

}

}

 

for (k=0;k<=num-1;++k)

{

if (strcmp(((lt1[k]->next)->department),((lt1[k+1])->next)->department)==0){

for (p=k;(strcmp(((lt1[p]->next)->department),((lt1[k]->next)->department))==0)&&(p<num);++p);

 

for(i = k; i <= p - 1; ++i)

{

for(j = k; j <= p - 1; ++j)

if (strcmp(((lt1[j]->next)->stname.surn),((lt1[j+1])->next)->stname.surn)>0)

{

temp=lt1[j]->next;

lt1[j]->next=lt1[j+1]->next;

lt1[j+1]->next=temp;

}

else if ((strcmp(((lt1[j]->next)->stname.surn),((lt1[j+1])->next)->stname.surn)==0)){

if (strcmp(((lt1[j]->next)->stname.firstn),((lt1[j+1])->next)->stname.firstn)>0)

{

temp=lt1[j]->next;

lt1[j]->next=lt1[j+1]->next;

lt1[j+1]->next=temp;

}

else if ((strcmp(((lt1[j]->next)->stname.firstn),((lt1[j+1])->next)->stname.firstn)==0)){

if (strcmp(((lt1[j]->next)->stname.ftrn),((lt1[j+1])->next)->stname.ftrn)>0)

{

temp=lt1[j]->next;

lt1[j]->next=lt1[j+1]->next;

lt1[j+1]->next=temp;

}

}

}

 

}

 

k=p;

 

}

}

}

 

 

void output(struct student* st1,FILE * fp){

 

char c[2];

 

printf("\nFaculty %s\t",st1->faculty);

printf("\nDepartment %s\t",st1->department);

printf("\nSurname %s\t",st1->stname.surn);

printf("\nFirst name %s\t",st1->stname.firstn);

printf("\nSecond name %s\t",st1->stname.ftrn);

printf("\nSpecialisation code %s\t",st1->spec.code);

printf("\nSpecialisation name %s\t",st1->spec.name);

printf("\nCourse %d\t",st1->curse);

printf("\nGroup %s\t",st1->group);

printf("\nMark %c\t",st1->mark);

 

fputs("\n",fp);

fprintf(fp,"%10s|",st1->faculty);

fprintf(fp,"%15s|",st1->department);

fprintf(fp,"%15s|",st1->stname.surn);

fprintf(fp,"%15s|",st1->stname.firstn);

fprintf(fp,"%15s|",st1->stname.ftrn);

fprintf(fp,"%15s|",st1->spec.code);

fprintf(fp,"%15s|",st1->spec.name,fp);

itoa(st1->curse,c,10);

fprintf(fp,"%7s|",c);

fprintf(fp,"%10s|",st1->group,fp);

c[0]=st1->mark;

c[1]='\0';

fprintf(fp,"%7s|",c);

 

}

 

int finput(FILE* fp){

 

char c;

int i=0,o;

 

while (((c=getc(fp))!='\n')&&(c!=EOF));

while (((c=getc(fp))!='\n')&&(c!=EOF));

 

 

for (i=0;c!=EOF;i++){

rec[i]=(char *)malloc(150);

 

for(o=0;(((c=getc(fp))!=EOF)&&(c!='\n'));o++)

*(rec[i]+o)=c;

 

 

*(rec[i]+o+1)='\0';

}

free(rec[i]);

 

 

return i;

}

 

void strstruct(FILE * fp,char * rec1,struct student * st1){

 

int* i=(int *)malloc(sizeof(int));

*i=0;

char* buf=(char *)malloc(20);

 

spacedel(st1->faculty,i,rec1);

(*i)++;

spacedel(st1->department,i,rec1);

(*i)++;

spacedel(st1->stname.surn,i,rec1);

(*i)++;

spacedel(st1->stname.firstn,i,rec1);

(*i)++;

spacedel(st1->stname.ftrn,i,rec1);

(*i)++;

spacedel(st1->spec.code,i,rec1);

(*i)++;

spacedel(st1->spec.name,i,rec1);

(*i)+=7;

if (*(rec1+(*i))!=' ') st1->curse=*(rec1+(*i))-'0';

(*i)+=3;

spacedel(st1->group,i,rec1);

(*i)++;

for (*i;*(rec1+(*i))==' ';(*i)++);

if (*(rec1+(*i))!='|') st1->mark=*(rec1+(*i));

 

}

 

 

void spacedel(char ms[20],int* nr,char* str){

 

int j,k,q;

char* buf1=(char *)malloc(30);

for (j=0;j<20;j++)

*(buf1+j)=' ';

 

for (*(nr),j=0;((*(buf1+j)=*(str+(*nr)))!='|')&&(j<15);(*nr)++,j++);

 

 

for (k=0;(*(buf1+k)==' ')&&(*(buf1+k)!='|');++k);

 

 

for (q=k;(*(buf1+q)!='|')&&(*(buf1+q)!='\n');q++)

ms[q-k]=*(buf1+q);

 

ms[q-k]='\0';

 

}

 

Висновок:Під час виконання цієї лабораторної роботи я Отримав навички роботи із структурованими типами даних та познайомився з принципами динамічного розподілення пам'яті.

 

Робочий зошит

для позааудиторної роботи з дисципліни "Основи охорони праці та охорона праці в галузі" Фармація

 

студентки Бондаренко Вікторії Сергіївни

спеціальність «Лікувальна справа»

курс 2 група 2Ф1

викладач Рожнова О.В.

 

2015 рік

 

 

Самостійна робота №6

Тема: «Розслідування професійних захворювань»

Відповіді на основні завдання







Дата добавления: 2015-09-19; просмотров: 595. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Понятие и структура педагогической техники Педагогическая техника представляет собой важнейший инструмент педагогической технологии, поскольку обеспечивает учителю и воспитателю возможность добиться гармонии между содержанием профессиональной деятельности и ее внешним проявлением...

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия