您的位置:首页 > 编程语言

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

2011-10-04 18:28 281 查看
#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(<)) );

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

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() *************************************** */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐