All pastes #562503 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-06-12 20:27 UTC
rendered paste body
main()
{
	struct NODE *head;

	head=NULL;

	menu(head);
	end_procs(&head);
}

void pause()
{
	char c;

	printf("&#928;&#953;&#941;&#963;&#964;&#949; &#964;&#959; &#960;&#955;&#942;&#954;&#964;&#961;&#959; <Enter> &#947;&#953;&#945; &#963;&#965;&#957;&#941;&#967;&#949;&#953;&#945;...\n");
	c=getchar();
	c=getchar();
}

/* &#949;&#953;&#963;&#940;&#947;&#949;&#953; &#957;&#949;&#959; &#963;&#964;&#959;&#953;&#967;&#949;&#943;&#959; &#954;&#945;&#953; &#954;&#972;&#956;&#946;&#959; &#963;&#964;&#951;&#957; &#955;&#943;&#963;&#964;&#945; */
void insert_new_node(struct NODE **head, struct NODE tmpnode)
{
	struct NODE *newnode, *tmp;

	if ((tmp=search(*head,tmpnode.code))!=NULL){
		printf("&#922;&#972;&#956;&#946;&#959;&#962; &#956;&#949; &#964;&#959; &#963;&#965;&#947;&#954;&#949;&#954;&#961;&#953;&#956;&#941;&#957;&#959; &#954;&#969;&#948;&#953;&#954;&#972; &#965;&#960;&#940;&#961;&#967;&#949;&#953; &#942;&#948;&#951;...\n");
		pause();
		pre_insert_new_node(head);
	}
		
	newnode=(struct NODE *)malloc(sizeof tmpnode);
	
	if (newnode==NULL){
		printf("&#916;&#949;&#957; &#965;&#960;&#940;&#961;&#967;&#949;&#953; &#967;&#974;&#961;&#959;&#962; &#963;&#964;&#951;&#957; &#956;&#957;&#942;&#956;&#951;...\n");
		pause();
		pre_insert_new_node(head);
		
	}
	
	*newnode=tmpnode;
	newnode->next=NULL;

	if (*head == NULL)
		*head=newnode;
	else
	{
		tmp=*head;
		while (tmp->next!= NULL)
			tmp=tmp->next;
		tmp->next = newnode;
	}
	printf("&#927; &#954;&#959;&#956;&#946;&#959;&#962; &#954;&#945;&#964;&#945;&#967;&#969;&#961;&#942;&#952;&#951;&#954;&#949; &#949;&#960;&#953;&#964;&#965;&#967;&#974;&#962;!\n");
	pause();
}

void pre_insert_new_node(struct NODE **head)
{
	struct NODE tmp;
	int flag;
	printf(" __________________\n"
		"| &#917;&#953;&#963;&#945;&#947;&#969;&#947;&#942; &#922;&#972;&#956;&#946;&#959;&#965;: |\n"
		"|__________________|\n");
	printf("&#917;&#953;&#963;&#940;&#947;&#949;&#964;&#949; &#922;&#969;&#948;&#953;&#954;&#972;: "); scanf("%d",&tmp.code);
	printf("&#917;&#953;&#963;&#940;&#947;&#949;&#964;&#949; &#923;&#949;&#954;&#964;&#953;&#954;&#972;: "); scanf("%s",&tmp.item);
	insert_new_node(head,tmp);
}
/* &#954;&#940;&#957;&#949;&#953; &#945;&#957;&#945;&#950;&#942;&#964;&#951;&#963;&#951; &#963;&#964;&#951;&#957; &#955;&#943;&#963;&#964;&#945; &#956;&#949; &#946;&#940;&#963;&#951; &#964;&#959; &#954;&#969;&#948;&#953;&#954;&#972;-&#956;&#949;&#961;&#959;&#962; */
struct NODE *search(struct NODE *head, int code)
{
	struct NODE *tmp;
	
	if (head==NULL) return NULL;
	tmp=head;

	while (tmp->code!=code && tmp->next!=NULL)
		tmp=tmp->next;
	if (tmp->code==code) return tmp;
	else return NULL;
}

void list_print(struct NODE *head)
{
	int i;
	struct NODE *tmp;

	if(head==NULL) printf("den\n");
	else
	{
		tmp=head;
		while (tmp!=NULL)
		{
			if (i==0) 
			printf(" ___________________________________________"
				"| Node code | Node include | Next node code |"
				"|___________|______________|________________|"); 
			else if (i==31) i=0;
			i++;
			printf("%d | %s | %d\n",head->code,head->item,head->next);
			tmp=tmp->next;
		}
	}
	pause();
}

/* menu: &#965;&#960;&#940;&#961;&#967;&#949;&#953; &#947;&#953;&#945; &#957;&#945; &#948;&#965;&#963;&#954;&#959;&#955;&#941;&#965;&#949;&#953; &#964;&#953;&#962; &#950;&#969;&#941;&#962; &#8056;&#955;&#969;&#957; &#956;&#945;&#962; */
void menu(struct NODE *head)
{
	int sel, code;

	do
	{
		system("clear");
		printf("  ______________________________________________\n"
			" |               M    E    N    U               |\n"
			" |______________________________________________|\n"
			" |                                              |\n"
			" |[1] &#917;&#953;&#963;&#945;&#947;&#969;&#947;&#942; &#954;&#972;&#956;&#946;&#959;&#965;...                        |\n"
			" |[2] &#913;&#957;&#945;&#950;&#942;&#964;&#951;&#963;&#951; &#954;&#972;&#956;&#946;&#959;&#965; &#956;&#949; &#946;&#940;&#963;&#951; &#964;&#959; &#954;&#969;&#948;&#953;&#954;&#972; &#964;&#959;&#965;... |\n"
			" |[3] &#916;&#953;&#972;&#961;&#952;&#969;&#963;&#951; &#955;&#949;&#954;&#964;&#953;&#954;&#959;&#973; &#956;&#941;&#961;&#959;&#965;&#962; &#964;&#959;&#965; &#954;&#972;&#956;&#946;&#959;&#965;...    |\n"
			" |[4] &#916;&#953;&#972;&#961;&#952;&#969;&#963;&#951; &#954;&#969;&#948;&#953;&#954;&#959;&#973; &#956;&#941;&#961;&#959;&#965;&#962; &#964;&#959;&#965; &#954;&#972;&#956;&#946;&#959;&#965;...     |\n"
			" |[5] &#916;&#953;&#945;&#947;&#961;&#945;&#966;&#942; &#954;&#972;&#956;&#946;&#959;&#965;...                        |\n"
			" |[6] &#917;&#956;&#966;&#940;&#957;&#953;&#963;&#951; &#964;&#951;&#962; &#955;&#943;&#963;&#964;&#945;&#962;...                    |\n"
			" |[7] &#915;&#961;&#940;&#968;&#953;&#956;&#959; &#964;&#951;&#962; &#955;&#943;&#963;&#964;&#945; &#963;&#949; &#945;&#961;&#967;&#949;&#943;&#959;...            |\n"
			" |[8] &#916;&#953;&#941;&#946;&#945;&#963;&#956;&#945; &#964;&#951;&#962; &#955;&#943;&#963;&#964;&#945; &#945;&#960;&#959; &#945;&#961;&#967;&#949;&#943;&#959;...          |\n"
			" |[9] &#904;&#958;&#959;&#948;&#959;&#962; &#945;&#960;&#959; &#964;&#959; &#960;&#961;&#972;&#947;&#961;&#945;&#956;&#956;&#945; &#954;&#945;&#953; &#963;&#967;&#972;&#955;&#953;&#945;...     |\n"
			" |______________________________________________|\n\n"
			"     &#928;&#955;&#951;&#954;&#964;&#961;&#959;&#955;&#959;&#947;&#949;&#943;&#963;&#964;&#949; &#954;&#969;&#948;&#953;&#954;&#972; &#945;&#961;&#953;&#952;&#956;&#972; &#964;&#951;&#962; &#949;&#960;&#953;&#955;&#959;&#947;&#942;&#962; &#963;&#945;&#962; &#954;&#945;&#953; &#960;&#953;&#941;&#963;&#964;&#949; &#964;&#959; ENTER : "); 
		scanf("%d",&sel);
		switch (sel) 
		{
			case 1: pre_insert_new_node(&head); break;
			case 2: search_from_menu(head,code); break;
			case 3: correct_lecture(head); break;
			case 4: correct_code(head); break;
			case 5: delete_node(head); break;
			case 6: list_print(head); break;
			case 7: write_list_in_file(head); break;
			case 8: read_list_from_file(head); break;
			case 9: exit_from_menu(); break;
		}
	}
	while (sel != 9);
}