写了个会员信息管理程序,希望大虾帮忙找下错和拆成多文件代码

#include <stdio.h>
#include <tchar.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <dos.h>
#include <time.h>
#include <windows.h>

/* *****************************************head file********************************* */
void start();
void printhead();
int menu();
int membersearch();
int addmembers();

 


/* **************************************函数声明************************************ */
FILE *fp;

typedef struct members
{
 char name[20];
 long int telnumber;
 long int qqnumber;
 char sex[5];
 char CSDN_ID[25];
 struct members *next;
}members_Link;

members_Link *Creat_List();
members_Link *QQnumber_search(members_Link *head);
members_Link *Telnumber_search(members_Link *head);
members_Link *Name_search(members_Link *head);
void Delete_Link(members_Link *p);
void printanswer(members_Link *pre,members_Link *p);
void printerror();
/*  *********************************members structure***************************** */


void start()
{
 time_t lt;
        lt=time(NULL);
 printf("\n");
 printf("________________________________________________________________________________\n");
 printf("\n");
 printf("        WWW.CSDN.NET\n");
 printf("\n");printf("\n");
 printf("                        &********************************#                    \n");
 printf("                         {苏大CSDN俱乐部会员信息管理系统}                     \n");
 printf("                        $********************************@                    \n");
 printf("                                      Beta版                                  \n");
 printf("\n");printf("\n");printf("\n");
 printf("     Copyright by suda csdn club                                              \n");
 printf("                                         ");       printf(    (ctime(&lt))     );
 printf("________________________________________________________________________________\n");
 printf("                      Tab_菜单                     Esc_退出                     \n");
 printf("________________________________________________________________________________\n");
 char ch;
 do{
    ch=getch();
    if(ch=='\t')
    { 
       system("cls");
              menu();
    }   
    if(ch==27)
    {  exit(1); }
    }while(ch!=('t'||27));
}

void printhead()
{
        time_t lt;
        lt=time(NULL);
 printf("________________________________________________________________________________\n");
 printf("   WWW.CSDN.NET                                                                 \n");
 printf("                          {苏大CSDN俱乐部会员信息系统}                          \n");
 printf("                                                    ");    printf( (ctime(&lt)) );
 printf("--------------------------------------------------------------------------------\n");
}
  
 
 
 
 
 
 

int menu()
{
 printhead();
 printf("\n");
 printf("                                1-会员信息查询                                  \n");
 printf("                                2-增加会员                                      \n");
 printf("                                3-返回                                          \n");
 printf("     Copyright by suda csdn club                                                \n");
 printf("________________________________________________________________________________\n");
 char ch;
 do{
    ch=getch();
    switch(ch)
       {
         case '1':membersearch();
           break;
                case '2':addmembers();
           break;
         case '3':system("cls");
           start();
    break;
       }
     }while(ch!=('1'||'2'||'3'));
 
 return 1;
}

int addmembers()
{
        members_Link p;
 system("cls");
 printhead();
 //printf("________________________________________________________________________________\n");
 printf("                                    添加新会员...                               \n");
 printf("                  请输入新会员姓名:");scanf("%s",p.name);
 printf("                  请输入新会员电话号码:");scanf("%d",&(p.telnumber));
 printf("                  请输入新会员QQ号码:");scanf("%d",&(p.qqnumber));
 printf("                  请输入性别:");scanf("%s",p.sex);
 printf("                  请输入CSDN帐号:");scanf("%s",p.CSDN_ID);
 printf("--------------------------------------------------------------------------------\n");
 fp=fopen("csdnmember.data","ab+");
 if((fp=fopen("csdnmember.data","ab+"))==NULL)
   {
        // printf("________________________________________________________________________________\n");
    printf("                  System Error,please any key to continue...                    \n");
  fclose(fp);
  system("cls");
                menu();
    }
 fwrite(&p,sizeof(members_Link),1,fp);
 fclose(fp);
 printf("                                  添加成功 !                                    \n");
 printf("--------------------------------------------------------------------------------\n");
 printf("              Tab_继续添加                          Backspace_返回              \n");
 char ch;
 do
 {
  ch=getch();
  if(ch=='\t')
     {    system("cls");
      addmembers();
     }
  if(ch==8)
     {    system("cls");
          menu();
     }
         }while((ch!='t')&&(ch!=8));
 
 
 
 return 1;
}

members_Link *Creat_List()
{
       members_Link *head,*p,*last;
       fp=fopen("csdnmember.data","rb");
       if((fp=fopen("csdnmember.data","rb"))==NULL)
       {
        // printf("________________________________________________________________________________\n");
    printf("                  System Error,please any key to continue...                    \n");
  fclose(fp);
  system("cls");
                menu();
       }
       head=(members_Link *)malloc(sizeof(members_Link));
       head->next=NULL;
       last=head;   //尾插法建链表
       while(!feof(fp))
       {
           p=(members_Link *)malloc(sizeof(members_Link));
    if(fread(p,sizeof(members_Link),1,fp)==1)
       {
         p->next=NULL;
   last->next=p;
   last=p;
              }
       }
       fclose(fp);
       last->next=NULL;
       return head;
      
 
}

members_Link *QQnumber_search(members_Link *head)
{
        members_Link *p=head;
 members_Link *pre;
        long int qqnumber_search;
 system("cls");
 printhead();
        printf("                               ***会员信息查询***                               \n");
 printf("                                    QQ号查找                                    \n");
 printf("                   请输入qq号:");scanf("%d",&qqnumber_search);
 while(p&&p->qqnumber!=qqnumber_search)
 {
         pre=p;
  p=p->next;
  
 }
 if(p->qqnumber==qqnumber_search)
    printanswer(pre,p);
 else
    printerror();
 return pre;
 
}

members_Link *Telnumber_search(members_Link *head)
{
 members_Link *p=head;
 members_Link *pre;
 long int Telnumber_search;
 system("cls");
 printhead();
 printf("                               ***会员信息查询***                               \n");
 printf("                                  电话号码查找                                  \n");
 printf("                    请输入电话号码:");scanf("%d",&Telnumber_search);
 while(p&&p->telnumber!=Telnumber_search)
 {
         pre=p;
  p=p->next;
 }
 if(p->telnumber==Telnumber_search)
    printanswer(pre,p);
 else
    printerror();
    return pre;
}


members_Link *Name_search(members_Link *head)
{
        members_Link *p=head;
 members_Link *pre;
 char name_search[20];
 int k;
 system("cls");
 printhead();
 printf("                               ***会员信息查询***                               \n");
 printf("                                    姓名查找                                    \n");
 printf("                   请输入姓名:");scanf("%s",name_search);
 k=strcmp(p->name,name_search);
 while(p&&(k!=0))
 {
         pre=p;
  p=p->next;
        }
 if(k==0)
   printanswer(pre,p);
 else
   printerror();
   return pre;
}
 

void printanswer(members_Link *pre,members_Link *p)
{
       
 
 system("cls");
 printhead();
 //printf("________________________________________________________________________________\n");
        printf("                               ***会员信息查询***                               \n");
        printf("                 搜索结果:\n");
 printf("            会员姓名:%s\n",p->name);
 printf("            会员性别:%s\n",p->sex);
 printf("            会员QQ号码:%d\n",p->qqnumber);
 printf("            会员电话号码:%d\n",p->telnumber);
 printf("            会员CSDN帐号:%s\n",p->CSDN_ID);
 printf("--------------------------------------------------------------------------------\n");
        printf("             Backspace_返回              +_添加              -_删除             \n");
        printf("________________________________________________________________________________\n");  
        char ch;           
 do
 {
      ch=getch();
      if(ch==8)
                 {
             system("cls");
                    membersearch();
   }
              if(ch==43)
                 {
             system("cls");
                    addmembers();
                 }       
               if(ch==45)
                 {          Delete_Link(pre);
                            printf("                            删除成功!\n");
                            Sleep(1000);
       system("cls");
                            menu();
                  }
                 
          }while((ch!=8)&&(ch!=43)&&(ch!=45)); 
}


void Delete_Link(members_Link *p)
{
          p->next=p->next->next;
          free(p->next);
   members_Link *head;
   head=Creat_List();
   fp=fopen("csdnmember.data","wb+");
          if((fp=fopen("csdnmember.data","wb+"))==NULL)
          {
        // printf("________________________________________________________________________________\n");
    printf("                  System Error,please any key to continue...                    \n");
  fclose(fp);
  system("cls");
                menu();
          }
   members_Link *q;
   q=head->next;
   while(q)
     {
      fwrite(q,sizeof(members_Link),1,fp);
  q=q->next;
     }
    
   fclose(fp);
}

 


void printerror()
{
 system("cls");
 printhead();
 printf("                               ***会员信息查询***                               \n");
        printf("                 搜索结果:\n");
 printf("                      Sorry,nobody here by this name...                         \n");
 printf("                           按回车以确定......                                   \n");
        getch();
        system("cls");
        membersearch();
}      
 
 
 
 
 
 

int membersearch()
{
        members_Link *head,*p;
        system("cls");
 printhead();
 //printf("________________________________________________________________________________\n");
 printf("                               ***会员信息查询***                               \n");
        printf("                                1-按QQ号码查询                                  \n");
        printf("                                2-按电话号码查询                                \n");
        printf("                                3-按会员姓名查询                                \n");
 printf("                                4-返回上一层                                    \n");
        printf("     Copyright by suda csdn club                                                \n");
 printf("________________________________________________________________________________\n");
 head=Creat_List();
 char ch;
 do{
    ch=getch();
    switch(ch)
      {
         case '1':QQnumber_search(head);
           break;
         case '2':Telnumber_search(head);
           break;
         case '3':Name_search(head);
           break;
  case '4':system("cls");
                         menu();
           break;
       }
           }while(ch!=('1'||'2'||'3'||'4'));  
     
               

        return 1;
}                     

/* *********************************************functional part********************************** */

int main()
{
        system("color 1e");
 start();
 
 return 0;
}


/* **********************************************main() *************************************** */

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值