⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 address_ list.c.txt

📁 这是个通信录源代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:

include <stdio.h>
#include <string.h>
#include <conio.h>
#define NULL 0
#define N 20
#define fx_dir "e:\hj0201.dat"
struct record
{char name[12];
char sex[12];
char address[20];
char tel_num[12];
char bir_day[10];
char qq[12];
char e_mail[20];
};
struct record stu[N],*p;
FILE *fp=NULL;
int i,n,j,k;
main()
{
char cp;
void insert(); /*函数说明*/
void funn();
void funo();
void order();
void find();
void modif();
void dele();
clrscr();
textbackground(7);
textcolor(14);
clrscr();
window(1,1,80,40);
gotoxy(28,2); puts("友 情 通 讯 录");
gotoxy(2,4);puts("课题名称:");
gotoxy(14,4);puts("通讯录");
gotoxy(44,12); puts("学校名字");
gotoxy(60,14); puts("2003-06-11");
gotoxy(4,16); puts("输入信息请按:N");
gotoxy(4,18); puts("查找请按:F");
gotoxy(4,20); puts("修改请按:M");
gotoxy(30,22); puts("查看所有成员请按:H");
gotoxy(4,22); puts("删除请按:D");
gotoxy(38,24); puts("退出请按:E");
gotoxy(4,24); puts("插入请按:I");
cp=bioskey(0)%256;
switch(cp)
{case'n':funn();break;
case'f':find();break;
case'm':modif();break;
case'd':dele();break;
case'i':insert();break;
case'h': funo();break;
case'e': fclose(fp);exit(0);
default: {printf("错误请重新输入\n");}
}
getch();
}void funn()
{i=0;j=0;k=0;
clrscr();
window(1,1,80,40);
gotoxy(2,2);cputs("请输入要记录的数据数:!\n");
gotoxy(24,2); cscanf("%d",&n);
fp=fopen(fx_dir,"w+");
while(j<n)
{
i=0;k=0;
while(i<3)
{gotoxy(1,i*8+3); puts("姓名 :");
gotoxy(1,i*8+4); puts("性别 :");
gotoxy(1,i*8+5); puts("地址 :");
gotoxy(1,i*8+6); puts("电话号码:");
gotoxy(1,i*8+7); puts("生日 :");
gotoxy(1,i*8+8); puts("QQ号码 :");
gotoxy(1,i*8+9); puts("电子邮箱:");
i++;
}
while(k<3&&j<n)
{gotoxy(10,k*8+2);gets(stu[j].name);
gotoxy(10,k*8+3);gets(stu[j].sex);
gotoxy(10,k*8+4);gets(stu[j].address);
gotoxy(10,k*8+5);gets(stu[j].tel_num);
gotoxy(10,k*8+6);gets(stu[j].bir_day);
gotoxy(10,k*8+7);gets(stu[j].qq);
gotoxy(10,k*8+8);gets(stu[j].e_mail);
fwrite(&stu[j],sizeof(struct record),1,fp);
fputs("\n",fp);
k++;j++;
}
clrscr();
}/*结束 while*/

clrscr();
fclose(fp);
gotoxy(5,5); cprintf("%d 数据已输入.\n 按任意键退出!",j);
getch();
getch();
}
void funo()
{fp=fopen(fx_dir,"r+");
i=0;j=0;k=0;
clrscr();
while(j<N)
{
i=0;k=0;
gotoxy(30,1);puts(" 航空计算机 \n");
while(i<3)
{
gotoxy(2,i*8+4); puts("姓名 :");
gotoxy(2,i*8+5); puts("性别 :");
gotoxy(2,i*8+6); puts("地址 :");
gotoxy(2,i*8+7); puts("电话号码:");
gotoxy(2,i*8+8); puts("生日 :");
gotoxy(2,i*8+9); puts("QQ号码 :");
gotoxy(2,i*8+10);puts("电子邮箱:");
gotoxy(2,i*8+11);printf("\n");
i++;
}

while(k<3&&j<N)
{fread(&stu[j],sizeof(struct record),1,fp);
fgets("\n",2,fp); /*2很重要!*/
gotoxy(12,k*8+1);puts(stu[j].name);
gotoxy(12,k*8+2);puts(stu[j].sex);
gotoxy(12,k*8+3);puts(stu[j].address);
gotoxy(12,k*8+4);puts(stu[j].tel_num);
gotoxy(12,k*8+5);puts(stu[j].bir_day);
gotoxy(12,k*8+6);puts(stu[j].qq);
gotoxy(12,k*8+7);puts(stu[j].e_mail);
k++;j++;
}
delay(10000);
getch();
clrscr();
}/*结束 while*/
fclose(fp);
gotoxy(60,60); cprintf("%d 按任意键退出!",j);
getch();
}
void order()
{
int open=1;
int n=0,i=0,k=0,j=0;
FILE *fp=NULL;
char *s="zhengbo";
struct record stu[N],*p;
p=(struct record *)malloc(sizeof(struct record));
if((fp=fopen(fx_dir,"r+"))==NULL)
open=0;

rewind(fp);
while(open==1&&!feof(fp)) /*把文件输入 stu[]*/
{
fread(&stu[n],sizeof(struct record),1,fp);
fgets(s,2,fp);
n++;
}
for(i=0;i<n-2;i++)
{
k=i;
for(j=i;j<n-1;j++)
if((strcmp(stu[k].name,stu[j].name))>0)
k=j;
if(k!=i)
{
strcpy(p->name,stu[k].name);
strcpy(p->sex,stu[k].sex);
strcpy(p->address,stu[k].address);
strcpy(p->tel_num,stu[k].tel_num);
strcpy(p->bir_day,stu[k].bir_day);
strcpy(p->qq,stu[k].qq);
strcpy(p->e_mail,stu[k].e_mail);

strcpy(stu[k].name,stu[i].name);
strcpy(stu[k].sex,stu[i].sex);
strcpy(stu[k].address,stu[i].address);
strcpy(stu[k].tel_num,stu[i].tel_num);
strcpy(stu[k].bir_day,stu[i].bir_day);
strcpy(stu[k].qq,stu[i].qq);
strcpy(stu[k].e_mail,stu[i].e_mail);

strcpy(stu[i].name,p->name);
strcpy(stu[i].sex,p->sex);
strcpy(stu[i].address,p->address);
strcpy(stu[i].tel_num,p->tel_num);
strcpy(stu[i].bir_day,p->bir_day);
strcpy(stu[i].qq,p->qq);
strcpy(stu[i].e_mail,p->e_mail);
}
}/*结束FOR语句*/
rewind(fp);
for(j=0;j<n-1;j++) /*写进文件*/
{
fwrite(&stu[j],sizeof(struct record),1,fp);
fputs("\n",fp);
}
fclose(fp);
free(p);
gotoxy(30,20); cputs("排序成功请按任意键退出重新打开通讯录");
getch();
}/*结束ORDER*/
void find()
{
int n=0,i=0,found=0,exit=0;
FILE *fp;
char *name="nn",*s="ssss",*qq="qqqq", *e_mail="ee";
struct record stu[N];
clrscr();
if((fp=fopen(fx_dir,"r+"))==NULL)
{cprintf("不能打开");getch();}
while(!feof(fp)) /*读 stu[]文件*/
{
fread(&stu[n],sizeof(struct record),1,fp);
fgets(s,2,fp);
n++;
}
clrscr();
textbackground(7); textcolor(11);
while(exit==0)
{

gotoxy(5,2); cputs("1:QQ号码查询");
gotoxy(5,3); cputs("2:姓名查询");
gotoxy(5,4); cputs("3:e_mail查询");
gotoxy(5,5); cputs("4:退出查询");
gotoxy(5,6); cputs("请选择:");
gotoxy(15,6);
switch(getch())
{
case '1':
{found=0,i=0;
gotoxy(1,8);cputs("QQ号码查询");
gotoxy(27,8); gets(qq);
while(found==0&&i<n)
{
if(strcmp(stu[i].qq,qq)==0)
{
found=1;
gotoxy(4,10); cputs("记录是");
gotoxy(4,11); cputs(stu[i].name);
gotoxy(4,12); cputs(stu[i].sex);
gotoxy(4,13); cputs(stu[i].address);
gotoxy(4,14); cputs(stu[i].tel_num);
gotoxy(4,15); cputs(stu[i].bir_day);
gotoxy(4,16); cputs(stu[i].qq);
gotoxy(4,17); cputs(stu[i].e_mail);
}
i++;
} /*结束 search*/
if(found==0)
{
gotoxy(1,14);cputs("没找到");
cputs("按任意键继续");getch();clrscr();
}
else{
gotoxy(1,21);cputs("按任意键继续");
getch();clrscr();
}
}break; /*end case 'q'*/
case'2':
{found=0,i=0;
gotoxy(1,8);cputs("姓名查询");
gotoxy(27,8); gets(name);
while(found==0&&i<n)
{
if(strcmp(stu[i].name,name)==0)
{
found=1;
gotoxy(4,10); cputs("记录是");
gotoxy(4,11); cputs(stu[i].name);
gotoxy(4,12); cputs(stu[i].sex);
gotoxy(4,13); cputs(stu[i].address);
gotoxy(4,14); cputs(stu[i].tel_num);
gotoxy(4,15); cputs(stu[i].bir_day);
gotoxy(4,16); cputs(stu[i].qq);
gotoxy(4,17); cputs(stu[i].e_mail);
}
i++;
} /*结束 search*/
if(found==0)
{
gotoxy(1,14);cputs("没找到");
cputs("按任意键继续");getch();clrscr();
}
else{
gotoxy(1,21);cputs("按任意键继续");
getch();clrscr();
}
}break;
/*end case 'q'*/
case'3':
{found=0,i=0;
gotoxy(1,8);cputs("e_mail查询");
gotoxy(27,8); gets(e_mail);
while(found==0&&i<n)
{if(strcmp(stu[i].e_mail,e_mail)==0)
{
found=1;
gotoxy(4,10); cputs("记录是");
gotoxy(4,11); cputs(stu[i].name);
gotoxy(4,12); cputs(stu[i].sex);
gotoxy(4,13); cputs(stu[i].address);
gotoxy(4,14); cputs(stu[i].tel_num);
gotoxy(4,15); cputs(stu[i].bir_day);
gotoxy(4,16); cputs(stu[i].qq);
gotoxy(4,17); cputs(stu[i].e_mail);
}
i++;
}/*结束 search*/
if(found==0)
{
gotoxy(1,14);cputs("没找到");
cputs("按任意键继续");getch();clrscr();
}
else{
gotoxy(1,21);cputs("按任意键继续");
getch();clrscr();
}
}break; /*end case 'q'*/

case '4':{fclose(fp);exit=1;} break;
default :cputs("输入正确数据查找!");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -