正文

QQ好友管理程序2005-08-07 10:47:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/3587.html

分享到:

#include "stdio.h"
#include "conio.h"

struct qq
{
char num[12];
char name[10];
char age[2];
}Qq[1];
main()
{
int kk=1;char choice;
loop2 : init();
loop : scanf("%c",&choice);
switch(choice)
{
case 'n': case 'N': newf();break;
case 'a': case 'A': break;
case 'l': case 'L': system("cls");listf();getch();system("cls");goto loop2;
case 'f': case 'F': findf();getch();goto loop2;
case 'd': case 'D': deletef();getch();goto loop2;
case 'q': case 'Q': return 0;
default: goto loop;
}
while(kk==1)
{
addf();
printf("enter 1 to continue add.\n");
scanf("%d",&kk);
system("cls");
}
goto loop2;
}


int init()
{
printf("\n**************************************\n");
printf("******第一次用本程序请按n(new)********\n");
printf("*********增加记录请按a(add)***********\n");
printf("*******查看记录情况请按l(list)********\n");
printf("*****查询某个记录情况请按f(find)******\n");
printf("********删除记录请按d(delete)*********\n");
printf("***********退出请按q(quit)************\n");
printf("**************************************\n");
}
int newf()
{
FILE *fp,*Fp; int n;
Fp=fopen("QQ","w");
fclose(Fp);
fp=fopen("num","w");
n=0;
fprintf(fp,"%d",n);
fclose(fp);
}
int addf()
{
FILE *fp1,*fp;int n;
printf("**************************************\n");
printf("******请依次输入QQ号,姓名,年龄.*******\n");
printf("**************************************\n");
fp1=fopen("QQ","a");
scanf("%s%s%s",&Qq[0].num,&Qq[0].name,&Qq[0].age);
fwrite(&Qq[0],sizeof(struct qq),1,fp1);
fclose(fp1);
fp=fopen("num","r");
fscanf(fp,"%d",&n);
fclose(fp);
fp=fopen("num","w");
n++;
fprintf(fp,"%d",n);
fclose(fp);
}
int listf()
{
FILE *fp;int n,i,k=0;
fp=fopen("num","r");
fscanf(fp,"%d",&n);
fclose(fp);
fp=fopen("QQ","r");
for (i=0;i<n;i++)
{
fread(&Qq[0],sizeof(struct qq),1,fp);
printf("QQ:%s\nname:%s\nage:%s\n\n\n",&Qq[0].num,&Qq[0].name,&Qq[0].age);
k++;
if (k%4==0) {printf("\nput any key continue\n"); getch();system("cls");k=0;}
}
fclose(fp);
}

int findf()
{
char namef[10];int n,i;

FILE *fp;
printf("\n*******请输入姓名********\n");
scanf("%s",&namef);
fp=fopen("num","r");
fscanf(fp,"%d",&n);
struct qq q[n];
fclose(fp);
fp=fopen("QQ","r");
for (i=0;i<n;i++)
{
fread(&q[i],sizeof(struct qq),1,fp);
if (strcmp(q[i].name,namef)==0)
{
printf("QQ:%s\nname:%s\nage:%s\n\n\n",q[i].num,q[i].name,q[i].age);
fclose(fp); return 0;
}
}
printf("sorry, the name can't be found.\n");
printf("put any key continue.\n");
fclose(fp);
}

int deletef()
{
char namef[10];int n,i,kk=-1;

FILE *fp;
printf("\n*******请输入要删除QQ人的姓名********\n");
scanf("%s",&namef);
fp=fopen("num","r");
fscanf(fp,"%d",&n);
struct qq q[n];
fclose(fp);
fp=fopen("QQ","r");
for (i=0;i<n;i++)
{
fread(&q[i],sizeof(struct qq),1,fp);
if (strcmp(q[i].name,namef)==0)  kk=i;
}
fclose(fp);
if (kk==-1)
{
printf("sorry, the name can't be found.\n");
printf("put any key continue.\n");
return 0;
}
else
fp=fopen("QQ","w");
for (i=0;i<kk;i++)
fwrite(&q[i],sizeof(struct qq),1,fp);
for (i=kk+1;i<n;i++)
fwrite(&q[i],sizeof(struct qq),1,fp);
fclose(fp);
n=n-1;
fp=fopen("num","w");
fprintf(fp,"%d",n);
fclose(fp);
}

阅读(5204) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册