C语言课程设计 通讯录管理系统.docx

上传人:b****1 文档编号:2405420 上传时间:2022-10-29 格式:DOCX 页数:15 大小:17.26KB
下载 相关 举报
C语言课程设计 通讯录管理系统.docx_第1页
第1页 / 共15页
C语言课程设计 通讯录管理系统.docx_第2页
第2页 / 共15页
C语言课程设计 通讯录管理系统.docx_第3页
第3页 / 共15页
C语言课程设计 通讯录管理系统.docx_第4页
第4页 / 共15页
C语言课程设计 通讯录管理系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言课程设计 通讯录管理系统.docx

《C语言课程设计 通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计 通讯录管理系统.docx(15页珍藏版)》请在冰豆网上搜索。

C语言课程设计 通讯录管理系统.docx

C语言课程设计通讯录管理系统

#include

#include

#include

#include

#include

structrecord

{

longID;

charcode[10];

charname[20];

charauthor[10];

intpub;

doubleprice;

intstore;

intlend;

inttotal;

intisdel;

structrecord*next;

};

typedefstructrecordbook;

voidinput();

voiddisplay(book*);

voidupdate();

voidsearch();

voiddatadelete();

voiddatarecover();

voidinsert();

voiddatasave();

voiddataopen();

book*head;

voidmain()

{

chari;

intdrive=DETECT,mode;

initgraph(&drive,&mode,"");

cleardevice();

setbkcolor(9);

printf("\16[co4st8e320,170,0,360,300,70,2,4]");

printf("\16[{-10|20@48,24=2(14)9自动化0710班}]");

printf("\16[{-90|140@55,55=11(13)9通讯录管理系统}]");

printf("\16[{-246|280@20,20=8(12)9设计者:

电气信息0815苏迪}]");

printf("\16[{-250|360@20,20=8(4)9请按Enter键进入}]");

getch();

for(;;)

{

clrscr();

setbkcolor(9);

printf("\16[{-5|30@40,40=30

(2)9******菜单******}]");

printf("\16[{-130|100@35,35=30(7)9a输入}]");

printf("\16[{-400|100@35,35=30(7)9b显示}]");

printf("\16[{-130|145@35,35=30(7)9c修改}]");

printf("\16[{-400|145@35,35=30(7)9d查找}]");

printf("\16[{-130|205@35,35=30(7)9e删除}]");

printf("\16[{-400|205@35,35=30(7)9f恢复}]");

printf("\16[{-130|260@35,35=30(7)9g添加}]");

printf("\16[{-400|260@35,35=30(7)9h统计}]");

printf("\16[{-130|315@35,35=30(7)9i保存}]");

printf("\16[{-400|315@35,35=30(7)9j打开}]");

printf("\16[{-130|360@35,35=30(7)9k退出}]");

printf("\16[{-400|360@35,35=30(7)4请选择a至j}]");

i=getch();

if(i=='k')break;

elseswitch(i)

{

case'a':

input();break;

case'b':

clrscr();display(head);break;

case'c':

update();break;

case'd':

search();break;

case'e':

datadelete();break;

case'f':

datarecover();break;

case'g':

insert();break;

case'h':

break;

case'i':

datasave();break;

case'j':

dataopen();break;

}

}

}

longGetMaxID()/*返回链表里最大的ID值*/

{

book*curr;

longmax=0;

curr=head;

while(curr!

=0)

{

if(curr->ID>max)max=curr->ID;

curr=curr->next;

}

returnmax;

}

voidinput()

{

book*pre,*curr;

clrscr();

head=(book*)malloc(sizeof(book));

head->ID=0;head->next=0;

pre=0;curr=head;

printf("\n依次输入书代号书名作者出版时间单价库存数量借出数量\n");

do

{

curr->ID=GetMaxID()+1;

scanf("%s",curr->code);

scanf("%s",curr->name);

scanf("%s",curr->author);

scanf("%d",&curr->pub);

scanf("%lf",&curr->price);

scanf("%d",&curr->store);

scanf("%d",&curr->lend);

curr->total=curr->store+curr->lend;

curr->isdel=0;

curr->next=0;

if(pre!

=0)pre->next=curr;

pre=curr;curr=(book*)malloc(sizeof(book));

printf("输入回车录入下一条记录!

输入其他字符则退出\n");

}while(getch()=='\r');

}

voiddisplay(book*table)

{

book*curr;

if(table==0){printf("没有记录!

按任意键继续");getch();}

else

{

curr=table;

printf("序号书代号书名作者出版时间单价库存数量借出数量总数量\n");

/*681410106101010*/

while(curr!

=0)

{

if(curr->isdel!

=0)

{

curr=curr->next;

continue;

}

printf("%-6ld",curr->ID);

printf("%-8s",curr->code);

printf("%-14s",curr->name);

printf("%-10s",curr->author);

printf("%-10d",curr->pub);

printf("%-6.1lf",curr->price);

printf("%-10d",curr->store);

printf("%-10d",curr->lend);

printf("%-10d\n",curr->total);

curr=curr->next;

}

printf("按任意键返回……");

getch();

}

}

intequ(char*str,book*node)

{

if(node->ID==atol(str))return1;

if(strcmp(node->code,str)==0)return1;

if(strcmp(node->name,str)==0)return1;

if(strcmp(node->author,str)==0)return1;

if(node->pub==atoi(str))return1;

if(node->price==atof(str))return1;

if(node->store==atoi(str))return1;

if(node->lend==atoi(str))return1;

if(node->total==atoi(str))return1;

return0;

}

voidsearch()

{

book*p;

book*pre,*curr;

book*resultTable;

charstr[20];

clrscr();

printf("请输入要查找的条件\n");

scanf("%s",str);

p=head;

resultTable=(book*)malloc(sizeof(book));

pre=0;curr=resultTable;

while(p!

=0)

{

if(!

equ(str,p))

{

p=p->next;

continue;

}

curr->ID=p->ID;

strcpy(curr->code,p->code);

strcpy(curr->name,p->name);

strcpy(curr->author,p->author);

curr->pub=p->pub;

curr->price=p->price;

curr->store=p->store;

curr->lend=p->lend;

curr->total=p->total;

curr->isdel=p->isdel;

curr->next=0;

if(pre!

=0)pre->next=curr;

pre=curr;curr=(book*)malloc(sizeof(book));

p=p->next;

}

free(curr);

if(curr==resultTable)

{

printf("无法找到记录!

\n");

getch();

}

elsedisplay(resultTable);

}

voidupdate()

{

book*p;

charstr[20],key;

clrscr();

printf("请输入要修改的条件\n");

scanf("%s",str);

p=head;

while(p!

=0)

{

if(!

equ(str,p))

{

p=p->next;

continue;

}

clrscr();

printf("搜索到如下记录:

\n");

printf("序号书代号书名作者出版时间单价库存数量借出数量总数量\n");

printf("%-6ld",p->ID);

printf("%-8s",p->code);

printf("%-14s",p->name);

printf("%-10s",p->author);

printf("%-10d",p->p

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1