正文

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

阅读(17081) | 评论(1)


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

评论

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