#include<stdio.h> \\\/// All rights reserved ///\\\
#include<string.h>
#include<conio.h>
#include <windows.h>
/////////////////////////////////////////////////////////////////
struct iman{
char name[20],serch;
long long int id;
float av;
}s1[100]={0};
FILE *fp;
/////////////////////////////////////////////////////////////////
void avg(int i)
{
scanf("%f",&s1[i].av);
save();
}
/////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
void menu()
{
int a=0,i=0,z=0,s=0,j=0,k=0;
char search[20],h[20];
printf("\n********************************\n\t\tMenu\n********************************\n\n\t\tPlease select a number and type that in under menu <<<\n\nenter '1' to add a name.\nenter '2' to add id and edit.\nenter '3' to add or change avrage.\nenter '4' to show all name.\nenter '5' to remove name.\nenter '6' to search a name.\nenter '7' to sort names.\nenter '8' to sort by avrage.\nenter '9' to exit.\n********************************\n\t\t\t\t:\t");
scanf("%d",&a);
printf("\n\t\t\t*****************************\t\t\t\n");
switch(a)
{
case 1:
system("cls");
getname();
break;
case 4:
system("cls");
puts("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
puts(" All names is:\n~~~~~~~~~~~~\n");
show_all();
printf("\n\n\t\t\t\t________________________________________________");
puts("\n\t\t\t\t\t ~~~ to back please enter a key ~~~\n");
printf("\t\t\t\t________________________________________________");
getch();
system("cls");
break;
case 5:
load();
system("cls");
printf("all names is:\n ");
for(i=0;;i++)
{
if(!s1[0].name[0])
{
printf("\n >>>>>>\tList is empty\t<<<<<<\t\t** please add name! **\n");
break;
}
if(!s1[i].name[0])
break;
printf("\n%d -%s-\t avrage:%f \t id:\t %lld \n",i,s1[i].name,s1[i].av,s1[i].id);
}
if(s1[0].name[0])
{
z=i;
printf("please enter relevant nummber to delete:\t");
printf("\nplease enter number in[0,%d]...to back please enter '%d'\n",z-1,z);
scanf("%d",&i);
if(i<0||i>=z)
{
system("cls");
break;
}
system("cls");
printf("________________________________________________");
printf("\n' %s ' removed\n",s1[i].name);
for(i;i<100;i++)
s1[i]=s1[i+1];
save();
printf("\nresult deleting is:\n");
show_all();
printf("\n\t\t\t\t________________________________________________");
puts("\n\t\t\t\t\t ~~~ to back please press a key ~~~\n");
printf("\t\t\t\t________________________________________________");
printf("________________________________________________");
getch();
system("cls");
}
break;
case 3://ehsaniman.blogfa
system("cls");
load();
printf("__________________________________________________________________\n");
printf("all names is:\n ");
for(i=0;;i++)
{
if(!s1[0].name[0])
{
printf("\n|| >>>>>>\tList is empty\t<<<<<< ||\t ** please add name! **\t\t \n");
break;
}
else
if(!s1[i].name[0])
break;
else
printf("\n%d -%s-\t avrage:%f \t id:\t %lld \n",i,s1[i].name,s1[i].av,s1[i].id);
}
if(s1[0].name[0])
{
z=i;
printf("____________________________________________________________________");
printf("\n>>> please enter respective number to add or change avrage:\t\n");
printf("____________________________________________________");
printf("\nplease enter number in[0,%d]...to back please enter '%d' \n",z-1,z);
scanf("%d",&i);
if(i<0||i>=z)
{
system("cls");
break;
}
printf("\nplease enter your avrage for ' %s ':\t",s1[i].name);
avg(i);
system("cls");
printf("\n \t\t\t /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \n");
printf(" \t\t\t\ your chenge saved... ");
printf("\n \t\t\t/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \n ");
}
break;
case 2:
load();
system("cls");
printf("__________________________________________________________________\n1");
printf("all names is:\n ");
for(i=0;;i++)
{
if(!s1[0].name[0])
{
printf("\n >>>>>>\tList is empty\t<<<<<<\n\n\t** please add name! **\n");
break;
}
else
if(!s1[i].name[0])
break;
else
printf("\n%d -%s-\t avrage:%lf \t id:\t %lld \n",i,s1[i].name,s1[i].av,s1[i].id);
}
if(s1[0].name[0])
{
z=i;
printf("_______________________________________________");
printf("\nplease enter relevant nummber to add id:\t\n");//ehsaniman.blogfa
printf("__________________________________________________________________");
printf("\nplease enter number in[0,%d]...to back please enter '%d' \n",z-1,z);
scanf("%d",&i);
if(i<0||i>=z)
{
system("cls");
break;
}
idname(i);
system("cls");
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf("your id number saved & result is:\n ");
for(i=0;i<100;i++)\\ehsaniman
{
if(!s1[i].name[0])
break;
printf("\n\t%d -%s-\t avrage:%f \t id:\t %lld \n",i,s1[i].name,s1[i].av,s1[i].id);
}
}
printf("\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf("\n\n\t\t\t\t________________________________________________");
puts("\n\t\t\t\t\t ~~~ to back please enter a key ~~~\n");
printf("\t\t\t\t________________________________________________");
getch();
system("cls");
break;
case 6:
system("cls");
load();
printf("________________________________________________");
printf("\n**************************************************************************\n");
printf("please enter your name to search: [");
scanf("%s",search);
strcat(search,gets(h));
system("cls");
printf("________________________________________________\n");
printf("________________________________________________\n");
printf("result in search [%s]:\n",search);
printf("_________________\n");
printf("_________________\n");
if(!s1[0].name[0])
{
system("cls");
printf("________________________________________________");
printf("\n\t\t^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf("\n\t\t>>>> list is empty <<<<\n");
printf("\n\t\t^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf("\n\n\n\t\t\t\t________________________________________________");
puts("\n\t\t\t\t\t ~~~ to back please press a key ~~~\n");
printf("\t\t\t\t________________________________________________");
printf("________________________________________________");
getch();
system("cls");
break;
}
else
for(i=0;i<100;i++)
{
if(strcmp(s1[i].name,search)==0)
{
printf("______________________________________________________________________");
printf("\n %d-%s-\t avrage:%f \t id:\t %lld \n",i,s1[i].name,s1[i].av,s1[i].id);
s++;
}
}
printf("\n\t______________________________________");
printf("\n\t______________________________________");
printf("\n\t\t====== found:%d ======",s);
printf("\n\t_____________________________________");
printf("_\n\t______________________________________");
if(s==0)
{
system("cls");
printf("________________________________________________");
printf("\n\t\t\t===============================\n");
printf("\t\t\t || your name not find. ||");
printf("\n\t\t\t===============================\n");
}
/////////////////////////////////////////////////////////////ezafi search similar
s=0;
printf("\n\n==========================================================================\n");
printf("__________________________________________");
printf("\nsimilar names: \n");
for(j=0;j<100;j++)
{
k=0;
for(i=0;search[i]!=32;i++)
if(s1[j].name[i]!=search[i])
{
k=1;
break;
}
if(k!=1&&strcmp(search,s1[j].name)!=0)
{
printf("______________________________________________________________________");
printf("\n %d-%s-\t avrage:%f \t id:\t %lld \n",j,s1[j].name,s1[j].av,s1[j].id);
s++;
}
}
if(j==100&&s==0)
printf("\nnot found any similar name. ");
else
{
printf("\n\t______________________________________");
printf("\n\t______________________________________");
printf("\n\t\t====== found similar:%d ======",s);
printf("\n\t_____________________________________");
printf("_\n\t______________________________________");
}
////////////////////////////////////////////////////////
printf("\n\n\t\t\t\t________________________________________________");
puts("\n\t\t\t\t\t ~~~ to back please enter a key ~~~\n");
printf("\t\t\t\t________________________________________________");
printf("________________________________________________");
getch();
system("cls");
break;
case 7:
system("cls");
load();
if(!s1[0].name[0])
printf("\n>>>> list is empty <<<<\n");
else
{
ssort();
printf("\n\n\t>> sorted by name. <<\t\n\n");
}
break;
case 8:
system("cls");
load();
if(!s1[0].name[0])
printf("\n >>>>>>\tList is empty\t<<<<<<\t\t** please add name! **\n");
else
{
sortav();
printf("\n\n\t>> sorted by avrage. <<\t\n\n");
}
break;
default:
system("cls");
printf("\n\t\t>>>>>>\tyour choice not correct\t<<<<<<<\n\n\t\t\t\n\n");
Sleep(2000);
exitx(search);
}
menu();
}
/////////////////////////////////////////////////////////////////
void getname()
{
int i;
char m,h[20];
for(i=0;s1[i].name[0]&&i!=100;i++);
if(i==100)
{
printf("list is full.please remove several name");
return 0;
}
system("cls");
printf("__________________________________________________________\n");
printf(" enter your name:\n");
printf("_______________________\n");
printf("_______________________>:");
scanf("%s",s1[i].name);
strcat(s1[i].name,gets(h));
save();
system("cls");
}
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
void idname(int i)
{
do{
printf("\nplease enter correct ID number for ' %s ' ::\n",s1[i].name);
scanf("%d",&s1[i].id);
}while(s1[i].id<0||s1[i].id>999999991);
save();
}
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
void load()
{
int i;
fp=fopen("iman","a+t");
if(!fp)
{
printf("\n\t>>>>>> error in open file. <<<<\t..\n");
getch();
exitx();
}
if(feof(fp))
return;
i=fread(&s1,sizeof(s1[0]),100,fp);
//printf("\n //// number of data is: %d///\n",i);
fclose(fp);
}
/////////////////////////////////////////////////////////////////
void load2()
{
int i;
fp=fopen("iman","a+b");
if(!fp)
printf("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
for(i=0;i<100;i++)
{
if(feof(fp))
return;
fread(&s1[i],sizeof(struct iman),1,fp);
}
}
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
void save()
{
int i;
fp=fopen("iman","wb");
rewind(fp);
if(!fp)
printf("\nfeil in open file....\n");
for(i=0;i<100;i++)
if(fwrite(&s1[i],sizeof(struct iman),1,fp)!=1)
printf("\n\t***** error in save****\n");
fclose(fp);
printf("\n \t\t\t /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \n");
printf(" \t\t\t\ your chenge saved... ");
printf("\n \t\t\t/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \n ");
}
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
void ssort()
{
load();
int i,j,m;
struct iman hp;
for(m=0;m<100;m++)
if(!s1[m].name[0])
break;
for(i=0;i<m-1;i++)
{
for(j=0;j<m-1;j++)
{
if(!s1[i].name[0])
{
printf("sort finish");
break;
}
if(s1[j+1].name[0]<=s1[j].name[0])
{
hp=s1[j];
s1[j]=s1[j+1];
s1[j+1]=hp;
}
}
}
save();
}
/////////////////////////////////////////////////////////////////
void sortav()
{
int i,j,m;
struct iman hp;
load();
for(m=0;m<100;m++)
if(!s1[m].name[0])
break;
for(i=0;i<m;i++)
for(j=0;j<m;j++)
if(s1[i].av<s1[j].av)
{
hp=s1[j];
s1[j]=s1[i];
s1[i]=hp;
}
save();
}
/////////////////////////////////////////////////////////////////
void show_all()
{
int i;
load();
printf("___________________________________________________\n");
if(!s1[0].name[0])
{
printf("\n\n \t\t>>>>>>\tList is empty\t<<<<<<\n\n\t\t ** please add name! **\n\n");
return 0;
}
printf(" name \t \tavrage \t\t\t id \n");
printf(" ==== \t \t====== \t\t\t == \n");
for(i=0;i<100;i++)
if(s1[i].name[0])
{
printf("______________________________________________________________________");
printf("\n%d -%s-\t %f \t \t %lld \n",i,s1[i].name,s1[i].av,s1[i].id);
}
printf("___________________________________________________\n");
}
///////// iman pro \\\\\\\\\\\
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
///////// iman pro \\\\\\\\\\\
/////////////////////////////////////////////////////////////////
void main()
{
load();
menu();
}
///ajab main bahali!!!
///////////////////////////////////////////////////////////////////////////////////////////////////
void exitx(char search[])
{
int i;
system("cls");
printf("\n\n\t\t ## program closed & your changes is saving.##\t\t\n\n\n");
Sleep(2000);
printf(" \n\t************************************************************\n");
Sleep(1000);
printf(" \n\n ##>>>>> ");
Sleep(1000);
printf("\tAll rights reserved by * Mohammad Reza Iman *");
Sleep(1000);
printf("\t<<<<<##\n");
Sleep(4000);
printf(" \n\t************************************************************\n\n\t\t");
Sleep(3000);
strcpy(search,">>>>>> WWW.yoursite.rozblog.com <<<<<<");
for(i=0;i<38;i++)
{
printf("%c",search[i]);
Sleep(1000);
}
printf("\n\n\t ========================================================\n");
printf("\n\t\t01:47");
printf("\t\t \t1391/1/12\t&\t");
printf("1391/1/13\n");
Sleep(3000);
printf("\n\n\t ________________________________________________________\n");
Sleep(3000);
exit(1);
}
/*
--------- ------------ ------------ ------------ ----------- --------
--------- ------------ ------------ ------------ ----------- --------
--- ---- ---- ---- ---- ----- ----- ---- ---- ----
--- ---- ---- ---- ---- ----- ----- ---- ---- ----
--- ---- ---- ---- ---- ---------------- ---- ---- ----
--- ---- ---- ---- ---- ------------------ ---- ---- ----
--- ---- ---- ---- ---- ----- ----- ---- --- ----
--------- -------- -------- -------- -------- -------- -------- -------
--------- -------- --------- -------- --------- --------- -------- -------
*/
/***************************************************************************************************************************************************
EHSAN MOHAMMAD MOHAMMAD REZA EHSANIMAN68 @gmail.com
--------- ------------ ------------ ------------ ----------- --------
--------- ------------ ------------ ------------ ----------- --------
--- ---- ---- ---- ---- ----- ----- ---- ---- ----
--- ---- ---- ---- ---- ----- ----- ---- ---- ----
--- ---- ---- ---- ---- ---------------- ---- ---- ----
--- ---- ---- ---- ---- ------------------ ---- ---- ----
--- ---- ---- ---- ---- ----- ----- ---- --- ----
--------- -------- -------- -------- -------- -------- -------- -------
--------- -------- --------- -------- --------- --------- -------- -------------WWW.YOURSITE.ROZBLOG.COM-------
/****************************************************************************************************************************************************/