با عرض سلام خدمت تمام دوستان عزیز و مهربان
ای کاش تو این سایت یه قسمتی هم به عنوان برنامه نویسی وجود داشت تا کسانی که پروژه در اختیار داشتن تو این سایت قرار می دادن تا تمام دوستان می توانستند از این پروژها استفاده می کردن
تو این قسمت (C) دیدم خیلی از دوستان دنبال این پروژه بودن
بر نامه ای که مشخصات دانشجورو بگیره اونارو دلت کنه سرچ کنه تو یه لیست نشون بده و ......
امیدوارم مفید باشه
اینم ایمیل من
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خوشحال میشم پیام بذارین
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include <io.h>
void add(void);
void search(void);
void list(void);
void delet(void);
void change(void);
void sort(void);
int i,j;
struct r {
char fam[20];
char nam[20];
char tel_no[10];
char adres[50];
}rec;
struct rs {
char fams[20];
char nams[20];
char tel_nos[10];
char adress[50];
}rec_s[100];
FILE *fp;
main()
{
int a,b;
char c='0',ch;
while(c!='7')
{
clrscr();
textcolor(3);
printf(" \n\n in the name of allah ");
printf("\n\n 1 . add");
printf("\n\n 2 . sort");
printf("\n\n 3 . search");
printf("\n\n 4 . change");
printf("\n\n 5 . delete");
printf("\n\n 6 . list");
printf("\n\n 7 . exit");
c=getch();
switch (c)
{
case '1':
add();
break;
case '2':
sort();
break;
case '3':
search();
break;
case '4':
change();
break;
case '5':
delet();
break;
case '6':
list();
break;
case '7':
exit(0);
break;
}
}
return 0;
}
/******************************* PROCEDURE ADD ******************************/
void add(void)
{
int i,j,n;
clrscr();
fp=fopen("tel.dat","a+");
printf("\n");
printf(" what record : ");
scanf("%i",&n);
for(i=0;i<n;i++)
{
printf("\n family %i :",i+1);
scanf("%s",&rec.fam);
printf("\n name %i :",i+1);
scanf("%s",&rec.nam);
printf("\n no telephon %i :",i+1);
scanf("%s",&rec.tel_no);
printf("\n adress %i :",i+1);
scanf("%s",&rec.adres);
fwrite(&rec,sizeof(r),1,fp);
}
fclose(fp);
getch();
return;
}
//************************** PROCEDURE LIST ********************************/
void list(void)
{
int i=5;
clrscr();
gotoxy(1,2);
printf("\n family name tel_no adress");
printf("\n**************************************** *******************************");
fp=fopen("tel.dat","r");
fread(&rec,sizeof(r),1,fp);
while (!feof(fp))
{
gotoxy(5,i);
printf(" %s",rec.fam);
gotoxy(25,i);
printf(" %s",rec.nam);
gotoxy(45,i);
printf(" %s",rec.tel_no);
gotoxy(62,i);
printf(" %s",rec.adres);
i+=2;
fread(&rec,sizeof(r),1,fp);
}
fclose(fp);
getch();
}
//************************* PROCEDURE SEARCH ********************************/
void search()
{
int ptr;
char m[20];
int i=6,d=1;
clrscr();
gotoxy(1,2);
printf("enter family for search :");
scanf("%s",&m);
gotoxy(2,4);
printf("\n family name tel_no adress");
printf("\n**************************************** *******************************");
fp=fopen("tel.dat","r");
fread(&rec,sizeof(r),1,fp);
while (!feof(fp))
{
ptr=strcmp(m,rec.fam);
if (ptr==0)
{
d=0;
gotoxy(5,i);
printf(" %s",rec.fam);
gotoxy(25,i);
printf(" %s",rec.nam);
gotoxy(45,i);
printf(" %s",rec.tel_no);
gotoxy(62,i);
printf(" %s",rec.adres);
i+=2;
}
fread(&rec,sizeof(r),1,fp);
}
fclose(fp);
if (d==1)
{
gotoxy(10,10);
printf("not found");
}
getch();
}
/*******************************end serach***********************************/
void change()
{
char m[20];
int i=7,d=1,b=0;
clrscr();
gotoxy(1,2);
printf("enter family for change :");
scanf("%s",&m);
gotoxy(2,4);
printf("\n name family tell adress");
printf("\n ************************************************** ****************");
fp=fopen("tel.dat","r+");
fread(&rec,sizeof(r),1,fp);
while (!feof(fp))
{
b++;
if(strcmp(m,rec.fam)==0)
{
d=0;
gotoxy(4,i);
printf(" %s",rec.nam);
gotoxy(21,i);
printf(" %s",rec.fam);
gotoxy(38,i);
printf(" %s",rec.tel_no);
gotoxy(60,i);
printf(" %s",rec.adres);
i+=1;
fseek(fp,(b-1)*sizeof(r),SEEK_SET);
gotoxy(19,10);
printf(" new data :\n");
gotoxy(1,12);
printf("name :");
scanf("%s",&rec.nam);
gotoxy(20,12);
printf("family :");
scanf(" %s",&rec.fam);
gotoxy(40,12);
printf("tel :");
scanf(" %s",&rec.tel_no);
gotoxy(60,12);
printf("adress :");
scanf(" %s",&rec.adres);
fwrite(&rec,sizeof(r),1,fp);
break;
}
fread(&rec,sizeof(r),1,fp);
}
fclose(fp);
}
/**************************end change****************************************/
void delet()
{
FILE *t;
int ptr,d,s;
char m[20],x;
int i=6,b=1;
clrscr();
gotoxy(1,2);
printf("enter family for del :");
scanf("%s",&m);
gotoxy(2,4);
printf("\n family name tel_no adress");
printf("\n**************************************** *******************************");
fp=fopen("tel.dat","r");
t=fopen("tel1.dat","w+");
d=filelength(fileno(fp))/sizeof(r);
for (s=0;s<d;s++)
{
fread(&rec,sizeof(r),1,fp);
ptr=strcmp(m,rec.fam);
if (ptr==0)
{
b=0;
gotoxy(5,i);
printf(" %s",rec.fam);
gotoxy(25,i);
printf(" %s",rec.nam);
gotoxy(45,i);
printf(" %s",rec.tel_no);
gotoxy(62,i);
printf(" %s",rec.adres);
i+=2;
printf("\nfor del (Y,N) :");
x=getche();
if ((x=='y') || (x=='Y'))
continue;
}
fwrite(&rec,sizeof(r),1,t);
}
fclose(fp);
fclose(t);
if (b==1)
{
gotoxy(10,10);
printf("not found");
}
if (remove("tel.dat")== 0)
rename("tel1.dat","tel.dat");
getch();
}
/************************end del**********************************************/
void sort()
{
/* int ptr;
char m[20];
int i=6,d=1;*/
int i=0;
while (!feof(fp))
{
fread(&rec,sizeof(r),1,fp);
strcpy(rec_s[i].fams,rec.fam);
strcpy(rec_s[i].nams,rec.nam);
strcpy(rec_s[i].tel_nos,rec.tel_no);
strcpy(rec_s[i++].adress,rec.adres);
}
}