C语言实验电话薄管理系统

时间:2019-05-14 07:36:05下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言实验电话薄管理系统》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言实验电话薄管理系统》。

第一篇:C语言实验电话薄管理系统

#include “stdio.h” /*标准输入输出函数库*/ #include “stdlib.h” /*标准函数库*/ #include “string.h” /*字符串函数库*/ #include “conio.h” /*屏幕操作函数库*/ #define HEADER1

---------------------------TELEPHONE BOOK---------------------------n” #define HEADER2 “ | num | name | phonenumber | address | n” #define

HEADER3

“ |--------------|------------|-----------------|---------------------| n” #define FORMAT “ | %-10s| %-10s| %-15s |%-20s | n” #define DATA p->num,p->name,p->phonenum,p->address #define

END

“-------n” #define N 100 int saveflag=0;/*是否需要存盘的标志变量*/ /*定义与电话簿有关的数据结构*/ typedef struct telebook /*标记为telebook*/ { char num[4];/*编号*/ char name[10];/*姓名*/ char phonenum[15];/*电话号码*/ char address[20];/*地址*/ }TELEBOOK;

void menu()/*主菜单*/ { system(“cls”);/*调用DOS命令,清屏.与clrscr()功能相同*/ textcolor(13);/*在文本模式中选择新的字符颜色*/ gotoxy(10,5);/*在文本窗口中设置光标*/ cprintf(“ The telephone-book Management System n”);gotoxy(10,8);cprintf(“ *************************Menu********************************n”);gotoxy(10,9);cprintf(“ * 1 input record 2 display record *n”);gotoxy(10,10);cprintf(“ * 3 delete record 4 search record *n”);gotoxy(10,11);cprintf(“ * 5 modify record 6 insert record *n”);gotoxy(10,12);cprintf(“ * 7 sort record 8 save record *n”);gotoxy(10,13);cprintf(“ * 0 quit system *n”);gotoxy(10,14);cprintf(“ *************************************************************n”);/*cprintf()送格式化输出至文本窗口屏幕中*/ } /*格式化输出表头*/ void printheader(){ printf(HEADER1);printf(HEADER2);printf(HEADER3);} /*格式化输出表中数据*/ void printdata(TELEBOOK pp){ TELEBOOK* p;p=&pp;printf(FORMAT,DATA);}

/*显示数组temp[]中存储的电话簿记录,内容为telebook结构中定义的内容*/ void Disp(TELEBOOK temp[],int n){ int i;if(n==0)/*表示没有电话簿记录*/ { printf(“n=====>Not telephone record!n”);getchar();return;}

printf(“nn”);printheader();/*输出表格头部*/ i=0;while(i

void Wrong()/*输出按键错误信息*/ { printf(“nnnnn***********Error:input has wrong!press any key to continue**********n”);getchar();}

void Nofind()/*输出未查找此记录的信息*/ { printf(“n=====>Not find this telephone record!n”);}

/************************************************************* 作用:用于定位数组中符合要求的记录,并返回保存该记录的数组元素下标值

参数:findmess[]保存要查找的具体内容;nameorphonenum[]保存按什么在数组中查找;**************************************************************/ int Locate(TELEBOOK temp[],int n,char nameorphonenum[]){ int i=0;if(strcmp(nameorphonenum,“phonenum”)==0)/*按电话号码查询*/ { while(i

findmess[],char return i;i++;} } return-1;/*若未找到,返回一个整数-1*/ }

/*输入字符串,并进行长度验证(长度lens)printf(“n exceed the required length!n”);/*进行长度校验,超过lens值重新输入*/ }while(strlen(n)>lens);strcpy(t,n);/*将输入的字符串拷贝到字符串t中*/ } /*增加电话簿记录*/ int Add(TELEBOOK temp[],int n){ char ch,num[10];int i,flag=0;system(“cls”);Disp(temp,n);/*先打印出已有的电话簿信息*/

while(1)/*一次可输入多条记录,直至输入编号为0的记录才结束添加操作*/ { while(1)/*输入记录编号,保证该编号没有被使用,若输入编号为0,则退出添加记录操作*/ { stringinput(num,10,“input number(press '0'return menu):”);/*格式化输入编号并检验*/ flag=0;if(strcmp(num,“0”)==0)/*输入为0,则退出添加操作,返回主界面*/ {return n;} i=0;while(i

if(flag==1)/*提示用户是否重新输入*/ { getchar();printf(“==>The number %s is existing,try again?(y/n):”,num);scanf(“%c”,&ch);if(ch=='y'||ch=='Y')continue;else return n;} else {break;} } strcpy(temp[n].num,num);/*将字符串numtemp[n].num中*/ stringinput(temp[n].name,15,“Name:”);stringinput(temp[n].phonenum,15,“Telephone:”);stringinput(temp[n].address,15,“Adress:”);saveflag=1;n++;} return n;}

/*按编号或姓名,查询电话簿记录*/ void Qur(TELEBOOK temp[],int n){

拷贝到int select;/*1:按姓名查,2:按电话号码查,其他:返回主界面(菜单)*/ char searchinput[20];/*保存用户输入的查询内容*/ int p=0;if(n<=0)/*若数组为空*/ { system(“cls”);printf(“n=====>No telephone record!n”);getchar();return;} system(“cls”);printf(“n =====>1 Search by name =====>2 Search by telephone numbern”);printf(“ please choice[1,2]:”);scanf(“%d”,&select);if(select==1)/*按姓名查询*/ {

stringinput(searchinput,10,“input the existing name:”);p=Locate(temp,n,searchinput,“name”);/*在数组temp中查找编号为searchinput值的元素,并返回该数组元素的下标值*/ if(p!=-1)/*若找到该记录*/ { printheader();printdata(temp[p]);printf(END);printf(“press any key to return”);getchar();} else Nofind();getchar();} else if(select==2)/*按电话号码查询*/ { stringinput(searchinput,15,“input the

existing number:”);p=Locate(temp,n,searchinput,“phonenum”);if(p!=-1){ printheader();printdata(temp[p]);printf(END);printf(“press any key to return”);getchar();} else Nofind();getchar();}

telephone else Wrong();getchar();}

/*删除电话簿记录:先找到保存该记录的数组元素的下标值,然后在数组中删除该数组元素*/ int Del(TELEBOOK temp[],int n){ int sel;char findmess[20];int p=0,i=0;if(n<=0){ system(“cls”);printf(“n=====>No telephone record!n”);getchar();return n;} system(“cls”);Disp(temp,n);printf(“n =====>1 Delete by name =====>2 Delete by

telephone numbern”);printf(“ please choice[1,2]:”);scanf(“%d”,&sel);if(sel==1){ stringinput(findmess,10,“input the existing name:”);p=Locate(temp,n,findmess,“name”);getchar();if(p!=-1){ for(i=p+1;i

strcpy(temp[i-1].num,temp[i].num);strcpy(temp[i-1].name,temp[i].name);strcpy(temp[i-1].phonenum,temp[i].phonenum);strcpy(temp[i-1].address,temp[i].address);} printf(“n==>delete success!n”);n--;getchar();saveflag=1;} else Nofind();getchar();} else if(sel==2)/*先按电话号码查询到该记录所在的数组元素的下标值*/ { stringinput(findmess,15,“input number:”);p=Locate(temp,n,findmess,“phonenum”);getchar();if(p!=-1){ for(i=p+1;i

strcpy(temp[i-1].num,temp[i].num);strcpy(temp[i-1].name,temp[i].name);strcpy(temp[i-1].phonenum,temp[i].phonenum);strcpy(temp[i-1].address,temp[i].address);} printf(“n=====>delete success!n”);

the

existing

telephone n--;getchar();saveflag=1;} else Nofind();getchar();} return n;}

/*修改电话簿记录。先按输入的联系人姓名查询到该记录,然后提示用户修改该记录编号之外的值,编号不能修改*/ void Modify(TELEBOOK temp[],int n){ char findmess[20];int p=0;if(n<=0){ system(“cls”);printf(“n=====>No telephone number record!n”);getchar();return;} system(“cls”);printf(“modify telephone book recorder”);Disp(temp,n);stringinput(findmess,10,“input the existing name:”);/*输入并检验该姓名*/ p=Locate(temp,n,findmess,“name”);/*查询到该数组元素,并返回下标值*/ if(p!=-1)/*若p!=-1,表明已经找到该数组元素*/ { printf(“Number:%s,n”,temp[p].num);printf(“Name:%s,”,temp[p].name);stringinput(temp[p].name,15,“input new name:”);

printf(“Name:%s,”,temp[p].phonenum);stringinput(temp[p].phonenum,15,“input new telephone:”);

printf(“Name:%s,”,temp[p].address);stringinput(temp[p].address,30,“input new address:”);

printf(“n=====>modify success!n”);getchar();Disp(temp,n);getchar();saveflag=1;} else {Nofind();getchar();} return;}

/*插入记录:按编号查询到要插入的数组元素的位置,然后在该记录编号之后插入一个新数组元素。*/ int Insert(TELEBOOK temp[],int n){ char ch,num[10],s[10];/*s[]保存插入点位置之前的记录编号,num[]保存输入的新记录的编号*/ TELEBOOK newinfo;int flag=0,i=0,kkk=0;system(“cls”);Disp(temp,n);while(1){ stringinput(s,10,“please input insert location after the Number:”);flag=0;i=0;while(iThe again?(y/n):”,s);scanf(“%c”,&ch);if(ch=='y'||ch=='Y'){continue;} else {return n;} } } /*以下新记录的输入操作与Add()相同*/

number

%s

is

not

existing,try while(1){ stringinput(num,10,“input new Number:”);i=0;flag=0;while(iSorry,The again?(y/n):”,num);scanf(“%c”,&ch);if(ch=='y'||ch=='Y'){continue;} else {return n;} } else break;

number

%s

is

existing,try }

strcpy(newinfo.num,num);/*将字符串numnewinfo.num中*/ stringinput(newinfo.name,15,“Name:”);stringinput(newinfo.phonenum,15,“Telephone:”);stringinput(newinfo.address,15,“Adress:”);

saveflag=1;/*在main()有对该全局变量的判断,若为1,则进行存盘操作*/

for(i=n-1;i>kkk;i--)/*从最后一个组织元素开始往向移一个元素位置*/ { strcpy(temp[i+1].num,temp[i].num);strcpy(temp[i+1].name,temp[i].name);strcpy(temp[i+1].phonenum,temp[i].phonenum);strcpy(temp[i+1].address,temp[i].address);} strcpy(temp[kkk+1].num,newinfo.num);/*在kkk的元素位置后插入新记录*/ strcpy(temp[kkk+1].name,newinfo.name);

拷贝到strcpy(temp[kkk+1].phonenum,newinfo.phonenum);strcpy(temp[kkk+1].address,newinfo.address);n++;Disp(temp,n);printf(“nn”);getchar();return n;}

/*利用选择排序法实现数组的按记录编号或姓名的升序排序*/ void SelectSort(TELEBOOK temp[],int n){ int i=0,j=0,flag=0,indexmin,select;char charflag[10];TELEBOOK newinfo;if(n<=0){ system(“cls”);printf(“n=====>Not telephone record!n”);getchar();return;} system(“cls”);Disp(temp,n);/*显示排序前的所有记录*/ printf(“ ==>1 SORT BY NUMBER ==>2 SORT BY NAMEn”);printf(“ please choice[1,2]:”);scanf(“%d”,&select);if(select==1)/*按记录编号排序*/ { for(i=0;i

strcpy(temp[i].num,temp[indexmin].num);strcpy(temp[i].name,temp[indexmin].name);strcpy(temp[i].phonenum,temp[indexmin].phonenum);strcpy(temp[i].address,temp[indexmin].address);

strcpy(temp[indexmin].num,newinfo.num);strcpy(temp[indexmin].name,newinfo.name);strcpy(temp[indexmin].phonenum,newinfo.phonenum);strcpy(temp[indexmin].address,newinfo.address);} Disp(temp,n);/*显示排序后的所有记录*/ saveflag=1;printf(“n =====>sort complete!n”);getchar();return;} else if(select==2){ for(i=0;i0){ charflag[0]=temp[j].name;indexmin=j;} } strcpy(newinfo.num,temp[i].num);/*利用结构变量newinfo实现数组元素的交换*/ strcpy(newinfo.name,temp[i].name);strcpy(newinfo.phonenum,temp[i].phonenum);strcpy(newinfo.address,temp[i].address);

strcpy(temp[i].num,temp[indexmin].num);strcpy(temp[i].name,temp[indexmin].name);strcpy(temp[i].phonenum,temp[indexmin].phonenum);strcpy(temp[i].address,temp[indexmin].address);

strcpy(temp[indexmin].num,newinfo.num);strcpy(temp[indexmin].name,newinfo.name);strcpy(temp[indexmin].phonenum,newinfo.phonenum);strcpy(temp[indexmin].address,newinfo.address);} Disp(temp,n);/*显示排序后的所有记录*/ saveflag=1;printf(“n =====>sort complete!n”);getchar();return;} else {Wrong();getchar();getchar();return;} }

/*数据存盘,若用户没有专门进行此操作且对数据有修改,在退出系统时,会提示用户存盘*/ void Save(TELEBOOK temp[],int n){ FILE* fp;int i=0;fp=fopen(“c: elephon”,“w”);/*以只写方式打开文本文件*/ if(fp==NULL)/*打开文件失败*/ { printf(“n=====>open file error!n”);getchar();return;} for(i=0;i0){ getchar();printf(“nn=====>save file complete,total saved's record number is:%dn”,i);getchar();saveflag=0;} else {system(“cls”);printf(“the current link is empty,no telephone saved!n”);getchar();} fclose(fp);/*关闭此文件*/ }

void main(){ TELEBOOK tele[N];/*定义TELEBOOK结构体*/ FILE *fp;/*文件指针*/ int select;/*保存选择结果变量*/ char ch;/*保存(y,Y,n,N)*/

is record int count=0;/*保存文件中的记录条数(或元素个数)*/

fp=fopen(“C: elephon”,“a+”);/*以追加方式打开文本文件c:telephon,可读可写,若此文件不存在,会创建此文件*/ if(fp==NULL){ printf(“n=====>can not open file!n”);exit(0);}

while(!feof(fp)){ if(fread(&tele[count],sizeof(TELEBOOK),1,fp)==1)/*一次从文件中读取一条电话簿记录*/ count++;} fclose(fp);/*关闭文件*/ printf(“n==>open file sucess,the total records number is : %d.n”,count);getchar();menu();while(1){ system(“cls”);menu();printf(“n Please Enter your choice(0~8):”);/*显示提示信息*/ scanf(“%d”,&select);

if(select==0){ if(saveflag==1)/*若对数组的数据有修改且未进行存盘操作,则此标志为1*/ { getchar();printf(“n==>Whether save the modified record to file?(y/n):”);scanf(“%c”,&ch);if(ch=='y'||ch=='Y')Save(tele,count);} printf(“n===>thank you for useness!”);getchar();break;} switch(select){ case 1:count=Add(tele,count);break;/*增加电话簿记录*/ case 2:system(“cls”);Disp(tele,count);break;/*显示电话簿记录*/ case 3:count=Del(tele,count);break;/*删除电话簿记录*/ case 4:Qur(tele,count);break;/*查询电话簿记录*/ case 5:Modify(tele,count);break;/*修改电话簿记录*/ case 6:count=Insert(tele,count);break;/*插入电话簿记录*/ case 7:SelectSort(tele,count);break;/*排序电话簿记录*/ case 8:Save(tele,count);break;/*保存电话簿记录*/ default: Wrong();getchar();break;/*按键有误,必须为数值0-9*/ } } }

第二篇:图书管理系统实验范文

小型图书管理系统

试验目的采用C/S模式完成一个小型的图书管理系统;完成需求分析所有流程。问题及算法描述

完成一个小型图书管理系统,功能要求如下:

1)能够通过书籍基本信息(包括:书号、书名、出版社、出版日期、作者、内容摘要)单个或以AND方式组合多个条件查询书籍信息;

2)对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量

3)可增添新的书籍

4)可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)

5)可修改书籍的基本信息

6)能够通过读者基本信息(包括:证号、姓名、性别、系名、年级)单个或以AND方式组合多个条件查询读者信息

7)对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期

8)可增添新的读者

9)可删除已有读者(如该读者有尚未归还的借书,则不允许删除)

10)可修改读者的基本信息

11)可完成借还书籍的手续

12)还书时如超期,应该显示超期天数

13)借书时如果有超期的书没有还,则不允许借书

14)可查询有哪些读者有超期的书没有还,列出这些读者的基本信息 结果要求

实验的目的实验简述

可行性研究文档

需求分析文档(数据模型、功能模型、行为模型)

总体设计文档

详细设计文档

实现文档(不含程序界面及代码)

第三篇:C语言学生管理系统综合性实验题目

“学生管理系统的设计与实现”综合性实验

实验名称:学生管理系统的设计与实现

实验类型:综合性实验

一、实验目的强化学生对C语言的基本语法和基本编程技能的熟练掌握,并在此基础上,重点培养学生对实际应用问题进行抽象分析的能力和综合运用C语言知识进行具体实现的编程能力。

二、实验内容

综合应用C语言中讲授的流程控制语句、模块化程序设计方法(函数)和丰富的数据类型(指针、数组、结构体等)完成“学生管理系统”的设计与实现。

三、实验环境

Windows XP系统,C语言开发环境:Win-TC、Turbo C3.0、VC等。

四、实验要求

1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。

2、系统数据要求:学生信息如下:学号、姓名、年龄、所在系、3门课程名称及成绩、总分、平均分。

3、系统功能要求:

⑴输入至少10个学生的自然信息(学号、姓名、年龄、所在系、成绩)。

⑵计算每个学生的总分、平均分,并输出每个学生的学号,姓名,总分,平均分。

⑶根据学生的总分进行排序输出。

⑷针对课程不同科目进行排序输出。

⑸统计输出每门课程的平均分。

⑹实现多种查询功能(例如:根据学号或姓名或所在系等,查询一个或多个学生信息)。

⑺对于已输入的学生信息进行储存。

⑻能实现学生信息的增、删、改操作。

五、实验结果

实验完成要求上交全部源程序代码(包括存盘数据)和完整的综合性实验报告(包括系统设计、实验过程中出现问题的分析与修改、代码打印、运行结果拷屏打印)。

六、考核形式

考查。根据上机出勤、实验报告及完成的程序系统进行评价,分为优、良、中、及格、不及格。

第四篇:c语言 电话簿管理系统

#include “stdio.h” #include “string.h” #define N 20 struct mem { char name[20];

char tel[20];

char wu[20];

char dz[20];}mem[N];void sorttel(struct mem tel[]){

struct mem temp;

int i,j;

FILE *fp;if((fp=fopen(“c: elephone.txt”,“rb”))==NULL){

printf(“不能打开文件n”);} for(i=0;i

for(j=0;j

if(strcmp(mem[j+1].tel,mem[j].tel)<0)

{

temp=mem[j];

mem[j]=mem[j+1];

mem[j+1]=temp;

} for(i=0;i

void sortname(struct mem tel[]){

struct mem temp;

int i,j;

FILE *fp;if((fp=fopen(“c: elephone.txt”,“rb”))==NULL){

printf(“不能打开文件n”);} for(i=0;i

for(j=i+1;j

if(strcmp(mem[j].name,mem[i].name)<0)

{

temp=mem[i];

mem[i]=mem[j];

mem[j]=temp;

} for(i=0;i

void sor(){int k;

do{printf(“--------------------排序菜单-------------------n”);

printf(“------------------------n”);

printf(“

1:按号码排序n”);

printf(“

2:按姓名排序n”);

printf(“

0:退出n”);

printf(“------------------------n”);

printf(“请输入0-2选择功能n”);

scanf(“%d”,&k);getchar();

switch(k)

{

case 1:sorttel(mem);break;

case 2:sortname(mem);break;

case 0:return;

}

}while(1);}

void add(){ char name[10];char tel[10];

char wu[10];

char dz[10];FILE *fp;if((fp=fopen(“c: elephone.txt”,“a”))==NULL){

printf(“不能打开文件n”);

exit(0);}

printf(“请输入姓名”);

gets(name);

printf(“请输入电话号码”);

gets(tel);

printf(“请输入工作单位”);

gets(wu);

printf(“请输入地址”);

gets(dz);printf(“n”);

fprintf(fp,“%s %s %s %sn”,name,tel,wu,dz);

fclose(fp);} void del(){

FILE *fp;

int i=0,n;

char name[10];

printf(“请输入删除名字”);

gets(name);

if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

printf(“不能打开文件n”);

exit(0);}

while(!feof(fp))

{

fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

if(strcmp(name,mem[i].name)!=0)i++;

}

fclose(fp);if((fp=fopen(“c: elephone.txt”,“w”))==NULL){

printf(“不能打开文件n”);

exit(0);} for(n=0;n

fprintf(fp,“%s %s %s %s”,mem[n].name,mem[n].tel,mem[n].wu,mem[n].dz);fclose(fp);} void dis(){ FILE * fp;int i=0,n;printf(“

姓名

电话号码

工作单位

地址n”);

if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

printf(“不能打开文件n”);

exit(0);}

while(!feof(fp))

{fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);i++;}

fclose(fp);

n=i;

for(i=0;i

printf(“%-8s%11s%13s%24sn”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);} void mod(){ FILE * fp;int i=0,n;char name[10];char nn[10];char nt[10];char nwu[10];char ndz[10];

printf(“请输入要修改的姓名”);gets(name);printf(“请输入修改后的姓名”);gets(nn);printf(“请输入修改后的电话号码”);gets(nt);printf(“请输入修改后的工作单位”);gets(nwu);printf(“请输入修改后的地址”);gets(ndz);printf(“n”);if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

printf(“不能打开文件n”);

exit(0);}

while(!feof(fp))

{

fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

if(strcmp(name,mem[i].name)==0)

{strcpy(mem[i].name,nn);strcpy(mem[i].tel,nt);strcpy(mem[i].wu,nwu);strcpy(mem[i].dz,ndz);}

i++;

}

fclose(fp);if((fp=fopen(“c: elephone.txt”,“w”))==NULL){

printf(“不能打开文件n”);

exit(0);}

n=i;

for(i=0;i

fprintf(fp,“%s %s %s %sn”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

fclose(fp);} void main(){

int choose;

while(1)

{

printf(“--------------------电话簿管理系统--------------------n”);

printf(“------------------------n”);

printf(“

1:添加一个新号码n”);

printf(“

2:删除一个号码n”);

printf(“

3:显示所有保存的号码n”);

printf(“

4:修改号码n”);

printf(“

5:排序n”);

printf(“

6:查询n”);

printf(“

0:退出n”);

printf(“------------------------n”);

printf(“请输入0-6选择功能n”);

scanf(“%d”,&choose);getchar();

if(choose!=0)

switch(choose)

{

case 1:add();break;

case 2:del();break;

case 3:dis();break;

case 4:mod();break;

case 5:sor();break;

case 6:/*que();break*/;

}

else exit(0);

} }

第五篇:C语言-通讯录管理系统

#include #include #include struct record{ charnum[12];char name[10];char birthday[10];char post[10];char phone[15];}data[100];intmenu_select();intcreate_record();intadd_record(int flag);int flag=0;

intfind_record(int flag);intdelete_record(int flag);voidpaixu_record(int flag);intsave_record(int flag);void main(){ for(;;){ switch(menu_select())

{ case 1: printf(“ ***********************************************n”);printf(“ ************** 通讯录的建立 ***************n”);printf(“ ***********************************************n”);flag=create_record();break;case 2: printf(“ ***********************************************n”);printf(“ ************** 通讯录信息的添加 *****************n”);printf(“ ***********************************************n”);flag=add_record(flag);break;case 3: printf(“ ******************************n”);printf(“ ******* 通讯录信息查询 *******n”);printf(“ ******************************n”);find_record(flag);

break;case 4: printf(“ ***********************************n”);printf(“ **********通讯信息的删除***********n”);printf(“ ***********************************n”);delete_record(flag);break;case 5: printf(“ ***********************************n”);printf(“ **********通讯录的存储(D:)*********n”);printf(“ ***********************************n”);save_record(flag);break;case 6: printf(“ ***********************************n”);printf(“ **********通讯者的排序*********n”);printf(“ ***********************************n”);paixu_record(flag);break;case 0: printf(“t 谢谢您的使用!n”);break;

default : break;} } } intmenu_select(){ int i;printf(“

********************

n”);printf(“

Welcome!

n

”);printf(“

Form kuangminn”);printf(“

********************

n”);printf(“

n”);printf(“ n”);printf(“ n”);printf(“

通讯录管理系统

n”);printf(“ n”);printf(“

======================n”);printf(“

1.通讯录的建立n”);printf(“

2.通讯者的添加n”);printf(“

3.通讯录的查询n”);printf(“

4.通讯者的删除n”);printf(“

5.通讯录的存储n”);printf(“

6.通讯者的排序n”);printf(“

0.退出通讯录管理系统n”);printf(“

======================n”);printf(“

请选择操作0-5 nn”);for(;;){ scanf(“%d”,&i);if(i<0||i>6)printf(“t对不起,您的输入错误n”);else break;} return i;} intcreate_record(){inti,j;for(i=0;;)

{ printf(“ 学号(12)姓名(10)出生年月(10)家庭住址(30)邮编(10)电话(15)n”);printf(“-------------n”);scanf(“%s%s%s%s%s%s”,data[i].num,data[i].name,data[i].birthday, data[i].post, data[i].phone);i++;printf(“ 想继续创建吗?(1.是/0.不):”);scanf(“%d”,&j);if(!j)

return i;else printf(“恭喜你,创建成功!请继续创建!n”);

} return i;} intadd_record(int flag){ int i=flag,j;for(i;;)

{ printf(“ 学号(12)姓名(10)出生年月(10)家庭住址(30)邮编(10)电话(15)n”);printf(“-------------n”);

scanf(“%s%s%s%s%s%s”,data[i].num,data[i].name,data[i].birthday,data[i].post, data[i].phone);i++;printf(“ 想继续添加吗?(1.是/0.不):”);scanf(“%d”,&j);if(!j)return i;else printf(“恭喜你,添加成功!请继续添加!n”);

} return(i);} intfind_record(){ int i;char number[6];char named[10];intxz;printf(“--------------------n”);printf(“ 1.按学号查询n”);printf(“ 2.按姓名查询n”);printf(“--------------------n”);printf(“ 请选择 : n”);

scanf(“%d”,&xz);if(xz==1){ printf(“ 请输入要查找的学号: ”);scanf(“%s”,number);for(i=0;i

if(strcmp(data[i].num,number)==0)

{ printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);return 0;}

} else if(xz=2){ printf(“请输入要查找的姓名: ”);scanf(“%s”,named);for(i=0;i

{ printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);return 0;else {printf(“对不起,没有你要找的人!n”);return 0;} }

else {printf(“对不起,没有你要找的人!n”);return 0;}

}

} intdelete_record(int flag)

{ inti,j;intdeletemark=0;char number[20];printf(“ttt请输入要删除学号:n”);scanf(“%s”,number);for(i=0;i

{ if(strcmp(data[i].num, number)==0)

{ printf(“ttt以下是您要删除的用户纪录:n”);printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);

printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);

printf(“ttt是否删除?(y/n)”);if(getch()=='y' || getch()=='Y')

{ for(j=i;j

} else return;

} continue;

} if(deletemark==0)

{ printf(“ttt没有该用户的纪录”);

return;

} return;

} voidpaixu_record(int flag){inti,j;struct record tmp;

printf(“ 1.按姓名排序n”);printf(“ 2.按学号排序n”);scanf(“%d”,&i);if(i==1){for(i=1;i

{ if(strcmp(data[i].name, data [i-1].name)<0)

{ tmp= data[i];

j=i-1;do

{ data [j+1]= data [j];j--;}while((strcmp(tmp.name, data [j].name)<0&&j>=0));data [j+1]=tmp;

}

} printf(“ttt排序成功!”);}

if(i==2){for(j=0;jdata[i+1].num)

{tmp=data[i];data[i]=data[i+1];data[i+1]=tmp;} } }

intsave_record(int flag){

FILE*fp;int i;if((fp=fopen(“D:data.txt”,“w+”))==NULL)

{printf(“无法打开文件!”);exit(0);} for(i=0;i

{fprintf(fp,“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday, data[i].post, data[i].phone);printf(“n”);} fclose(fp);return 0;}

下载C语言实验电话薄管理系统word格式文档
下载C语言实验电话薄管理系统.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言图书管理系统

    C语言——图书管理系统 代码部分: #include #include #include #pragma comment(lib,"libmysql.lib") /*定义数据库相关操作变量*/ MYSQL mysql; // MYSQL_RES *result......

    c语言销售管理系统

    课程设计说明书 学 院、系: 专业: 学 生 姓 名: 设 计 题 目: 起 迄 日 期: 指 导 教 师: 学 号: 销售管理系统 日期: 2017年5月12日 1 设计目的 1.了解管理信息系统的开发......

    C语言药房管理系统

    #include #include #include #include struct medicine { char name[20]; //药品名称 char number[50]; //药品编号 char price[50]; //单价 char inventory[50]; //库存......

    客户关系管理系统认识实验

    实验六、客户关系管理系统认识实验 一、实验目的 1.通过对客户关系管理教学模拟系统的使用,对CRM系统的功能和特点有一个初步的认识 2.了解CRM系统的数据库结构 3.了解CRM系......

    实验三 应付款管理系统

    广东海洋大学寸金学院学生实验报告书 实验名称 系 学生姓名 实验三 应付款管理系统 课程名称会计管理信息系统 班级学号 专业实验地点 实验楼303 实验日期 一、 实验目的: 1.......

    语言课程设计-学生成绩管理系统

    1、 课程设计的目的、任务 《汇编语言》课程设计对于巩固汇编语言理论知识,加强学生的实际动手能力和提高学生综合素质十分必要。课程设计的目的主要是通过程序设计方法和技......

    C语言食堂饭卡管理系统

    食堂饭卡管理系统3人 基本功能: (1)发卡:学生员工持有效证件到管理处缴押金,办理就餐卡,操作人员将相关内容写入卡中,并自动产生编号,持卡人员再预交一定金额款项即可进行就餐。 (2......

    C++语言学生宿舍管理系统(五篇范文)

    #include #include #include using namespace std; typedef struct /*定义结构体数组*/ { string roomnum; /*房间号*/ string stunum; /*学号*/ string name; /*姓......