All pastes #3598819 Raw Edit

C

public unlisted cpp v1 · immutable
#3598819 ·published 2016-05-13 18:48 UTC
rendered paste body
#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <iostream.h>#include <string.h>typedef struct{	int nomer;	char familia[20];	char state[15];	int opit;	float zaplata;}my_record;const int max=100;int init();int write_rec();int read_rec();int enter();int disp_all();int find();int display(int rec);int update();int del(int rec);int sort();my_record masiv[max];int broi;int main(){	printf("INFORMACIONNA SISTEMA\n");		char ch;	int record;	init();		do	{		printf("\n MENU\n");		printf("1.VUVEJDANE NA NOV ZAPIS\n");		printf("2.PREGLED NA ZAPISITE\n");		printf("3.TURSENE NA POLE\n");		printf("4.PROMQNA NA ZAPIS\n");		printf("5.IZTRIVANE NA ZAPIS\n");		printf("6.SORTIRANE PO POLE\n");		printf("7.ZAPIS NA DANNITE VUV FILE\n");		printf("8.CHETENE NA DANNITE OT FILE\n");		printf("9.IZHOD\n");				do		{			printf("IZBERETE <1..9>");			ch=getchar();		}		while(ch<'1'||ch>'9');				switch(ch)		{		case '1':enter();break;		case '2':disp_all();break;		case '3':record=find();			if(record !=-1)display(record);			break;		case '4':update();break;		case '5':record=find();			if(record !=-1)del(record);			;break;		case '6':sort();break;		case '7':write_rec();break;		case '8':read_rec();break;			}	getcar();	}	while(ch!='9');		system("pause");	return 0;} /*MAIN*/int init(){	int i;	for (i=0;i<max;i++)	masiv[i].nomer=0;	broi=0;	return 0;}int write_rec(){	int i;	char ch;	File *f;	f=fopen("MyInf.dat","wb");	if (f==NULL)	{		printf("FAILUT NE MOJE DA SE SUZDADE!\n");		ch=getchar();		exit(1);	}	for (i=0;i<broi;i++)	fwrite(&masiv[i],sizeof(masiv[i]),1,f);	fclose(f);	return 0;}int read_rec(){	int i;	char ch;	FILE *f;	f=fopen("MyInf.dat","rb");	if (f==NULL)	{		printf("FAILUT NE MOJE DA SE PROCHETE!\n");		ch=getchar();		exit(1);	}	broi=0;	while(!feof(f))	{		fread(&masiv[broi],sizeof(masiv[broi]),1,f);		broi++;	}	broi--;	fclose(f);	return 0;}int enter(){	char ch;	ch=getchar();	my_record z;	ch='y';	while (broi<max&&ch!='n')	{		printf("VUVEJDANE NA NOV ZAPIS\n");		printf("No %d\n"broi+1);		printf("\nNOMER ");		scanf("%4d",&z.nomer);		ch=getchar();		printf("\nFAMILIYA");		gets(z.familia);		printf("\nDLUJNOST");		gets(z.state);		printf("\nSRAJ");		scanf("%f",&z.zaplata);		masiv[broi]=z;		ch=getchar();		printf("\n\nOSHTE ZAPISI? <y/n>");		scanf("%c",&ch);		broi++;	}	return 0;}int disp_all(){	int i;	getchar();	for(i=0;i<broi;i++)	display(i);	return 0;}int find(){	int i;	char s[20];	cout<<"VUVEDETE FAMILIYA:";	cin>>s;	for(i=0;i<broi;i++)	{		if (!strcmp{s,masiv[i].familia))		break;	}	if (i==broi)	{		printf("\nNYAMA TAKAVA FAMILIYA!");		getchar();		return(-1);	}	return i;}int display(int rec){	printf("IZVEJDANE NA ZAPIS\n");	printf("No %d\n",rec+1);		printf("\nNOMER %4d",masiv[rec].nomer);	printf("\nFAMILIYA %15s",masiv[rec].familia);	printf("\nDLUJNOST %15s",masiv[rev].state);	printf("\nSTAJ %4d",masiv[rec].opit);	printf("\nZAPLATA %8.2f\n",masiv[rec].zaplata);	getchar();	return 0;}	int update(){	int i;	char ch;	my_record z;	//clrscr();	cout<<"PROMYANA NA DANNITE\n";	cout<<"VUVEDETE ZAPIS No";	cin>>i;	if (i>=0&&i<broi)	{		printf("\nNOMER ");		scanf("%4d",&z.nomer);		ch=getchar();		printf("\nFAMILIYA ");		gets(z.familia);		printf("\nDLUJNOST ");		gets(z.state);		printf("\nSTAJ");		scanf("%2d",&z.opit);		printf("\nZAPLATA");		scanf("%f",&z.zaplata);		masiv[i]=z;	}	else	{		cout<<"NEPRAVILEN NOMER NA ZAPIS!";		ch=getchar();	}	return 0;}int del(int rec){	masiv[rec]=masiv[broi-1];	broi--;	return 0;}int sort(){	my_record p;	int i,flag;	if(broi>1)	do	{		flag=1;		for (i=0;i<broi-1;i++)		if (masiv[i].nomer>masiv[i+1].nomer)		{			flag=0;			p=masiv[i];			masiv[i]=masiv[i+1];			masiv[i+1]=p;		}	}	while (flag==0);	return 0;}