ورود

نسخه کامل مشاهده نسخه کامل : اینم یه پروژه c



mostafa_ haji
29-01-2009, 18:39
با عرض سلام خدمت تمام دوستان عزیز و مهربان

ای کاش تو این سایت یه قسمتی هم به عنوان برنامه نویسی وجود داشت تا کسانی که پروژه در اختیار داشتن تو این سایت قرار می دادن تا تمام دوستان می توانستند از این پروژها استفاده می کردن

تو این قسمت (C) دیدم خیلی از دوستان دنبال این پروژه بودن
بر نامه ای که مشخصات دانشجورو بگیره اونارو دلت کنه سرچ کنه تو یه لیست نشون بده و ......
امیدوارم مفید باشه
اینم ایمیل من mostafa_haji_9112005@yahoo.com خوشحال میشم پیام بذارین


#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);
}
}

mostafa_ haji
30-01-2009, 10:50
سلام اگه کسی بتونه که این خطهاشو یکی یکی توضیح بده خیلی ممنون میشم