⽤C语⾔编写简单的通讯录(⼤⼀课程作业)
⽤C语⾔编写简单的通讯录(⼤⼀课程作业)
该系统概述:
因本⼈只学习了C语⾔的基础部分,所以编写该系统时只使⽤了⼀个C⽂件。存储通讯录信息以txt⽂件⽅式保存。
系统设计:
显⽰主菜单主函数:int main();
创建录⼊信息⼦函数:void book_create();
显⽰信息⼦函数1:void book_reada(int*count);
显⽰信息⼦函数2:void book_readb(int*count);
查询信息⼦函数 :void book_search();
添加信息⼦函数 :void book_insert(int count);
修改信息⼦函数:void books_change();
删除信息⼦函数:void book_delete();
功能测试:
1、启动系统:
c语言编译器怎么用文件格式提交作业
2、创建通讯录:
输⼊1,回车
3、添加联系⼈信息:
输⼊4,回车,开始选择添加类型:
输⼊“是”,开始输⼊信息
添加⼀个联系⼈后,填⼊“是”可以继续添加
填⼊“否”则停⽌添加,并退出⼦函数,并且需选择6选项才能使信息保存⾄⽂件!!
保存成功!选择7选项可查看⽬前的联系⼈⽅式,注意,关闭程序重启时不能选择7选项!
另⼀种显⽰⽅式:重启程序后,选择8选项
再显⽰前需确认关闭前添加联系⼈的个数!例如添加两个联系⼈,输⼊“2”
显⽰出关闭程序前的联系⼈信息,另⼀种添加⽅式,填“fou”
填⼊联系⼈数量,例如“2”
回到显⽰菜单,选择8选项,查看联系⼈信息
4、查询联系⼈信息:
查询已保存的联系⼈信息,选择2选项,进⾏查⽅式选择
选择(1)选项进⾏联系⼈查
选择(2)选项进⾏学号查
5、修改联系⼈信息:
选择(3)选项,输⼊联系⼈姓名,进⼊修改页⾯
选择修改类型,例如选择(3),进⾏地址修改
在主菜单页⾯选择(8)选项检查联系⼈信息
6、删除联系⼈信息:
在主菜单页⾯选择(5)选项,输⼊联系⼈姓名,例如“r”
在主菜单选项,选择(8)选项检查联系⼈信息
7、退出系统:
在主菜单选项选择(0)选项,退出系统
代码部分:
该代码仅为个⼈⼤⼀课程设计。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
struct BOOKS {
char  id[20], tell[20], phone[20], name[20], add[20], email[30], wechat[20]; }books[20];//创建结构体
//函数模块的声明
void book_create();
void book_show(int);
void book_search();
void books_change();
void book_insert(int*);
void book_delete();
void book_outside();
void book_save(int*);
void book_reada(int*);
void book_readb();
int main()
{
int count =0;
int c;
do
{
printf("\n");
printf("\t\t\t\t*=================================*\n");
printf("\t\t\t\t*                                *\n");
printf("\t\t\t\t*          欢迎使⽤通讯录!      *\n");
printf("\t\t\t\t*                                *\n");
printf("\t\t\t\t*=================================*\n");
printf("\n");
printf("\n");
printf("\t\t\t\t|==================================|\n");
printf("\t\t\t\t|      1--创建通讯录              |\n");
printf("\t\t\t\t|      2--查询联系⼈信息          |\n");
printf("\t\t\t\t|      3--修改联系⼈信息          |\n");
printf("\t\t\t\t|      4--添加联系⼈信息          |\n");
printf("\t\t\t\t|      5--删除联系⼈信息          |\n");
printf("\t\t\t\t|      6--保存联系⼈信息          |\n");
printf("\t\t\t\t|      7--显⽰通讯录(未关闭程序)  |\n");
printf("\t\t\t\t|      8--显⽰通讯录(再次运⾏程序)|\n");
printf("\t\t\t\t|      0--退出                    |\n");
printf("\t\t\t\t|==================================|\n");
printf("\t\t\t\t        请输⼊你的选项:");
scanf("%d",&c);
switch(c)
{
case0:book_outside();//退出系统
break;
case1:book_create();//调⽤创建运算
break;
case2:book_search();//调⽤查询运算
case2:book_search();//调⽤查询运算break;
case3:books_change();//调⽤修改运算break;
case4:book_insert(&count);//调⽤插⼊运算break;
case5:book_delete();//调⽤删除运算break;
case6:book_save(&count);//调⽤保存运算break;
case7:book_reada(&count);
break;//调⽤阅读运算
case8:book_readb();
break;
default:printf("\n\t\t\t\t⽆此选项!请重新选择!");
}
}while(c !=0);
return0;
}
void book_create()//创建模块
{
int ban =1;
system("cls");
if(ban !=0)
{
printf("\n");
printf("\n");
printf("\n");
printf("\t\t\t\t成功创建通讯录!请选择添加(4)选项!\n");
ban =1;
}
else
printf("通讯录已创建,请勿重复创建!");
}
void book_search()//查模块
{
int i, number, flag =1;
char nam[20], ID[12];
FILE*fp;
system("cls");
if((fp =fopen("","rb+"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
for(i=0;i<20;i++)
fread(&books[i],sizeof(struct BOOKS),1,fp);
printf("\n\n\t\t\t\t按联系⼈查(1)或按学号查(2):"); scanf("%d",&number);
printf("\n");
if(number ==1)
{
printf("\n\t\t\t\t请输⼊联系⼈姓名:");
scanf("%s",&nam);
for(i =0; i <20&& flag; i++)
{
if((strcmp(books[i].name, nam)==0))
{
printf("\n\t\t\t\t姓名:%s\n", books[i].name);
printf("\t\t\t\t学号:%s\n", books[i].id);
printf("\t\t\t\t移动电话:%s\n", books[i].phone);
printf("\t\t\t\t固定电话:%s\n", books[i].tell);
printf("\t\t\t\t固定电话:%s\n", books[i].tell);
printf("\t\t\t\t住址:%s\n", books[i].add);
printf("\t\t\t\t邮箱:%s\n", books[i].email);
printf("\t\t\t\t:%s\n", books[i].wechat);
flag =0;
}
}
if(flag==1)
printf("没有查询到!");
}
else
{
printf("\n\t\t\t\t请输⼊学号:");
scanf("%s",&ID);
for(i =0; i <20&& flag; i++)
{
if((strcmp(books[i].id, ID)==0))
{
printf("\n\t\t\t\t学号:%s\n", books[i].id);
printf("\t\t\t\t姓名:%s\n", books[i].name);
printf("\t\t\t\t移动电话:%s\n", books[i].phone);
printf("\t\t\t\t固定电话:%s\n", books[i].tell);
printf("\t\t\t\t住址:%s\n", books[i].add);
printf("\t\t\t\t邮箱:%s\n", books[i].email);
printf("\t\t\t\t:%s\n", books[i].wechat);
flag =0;
}
}
if(flag==1)
printf("没有查询到!");
}
fclose(fp);
}
void books_change()//修改模块
{
int i,c,b,flag =1;
char nam[20];
FILE*fp;
FILE*fp2;
b=i-4;
system("cls");
if((fp =fopen("","rb+"))==NULL)
{
printf("\t\t\t\t不能打开⽂件!\n");
return;
}
if((fp2 =fopen("","wb+"))==NULL)
{
printf("\t\t\t\t不能打开⽂件!\n");
return;
}
printf("\n\n\t\t\t\t请输⼊要修改的姓名:");
scanf("%s",&nam);
for(i =0; i <20; i++)
{
fread(&books[i],sizeof(struct BOOKS),1,fp);
if(strcmp(books[i].name, nam)==0)
{
printf("\n\n\t\t\t\t|==================================|\n"); printf("\t\t\t\t|      1--固定电话                |\n");
printf("\t\t\t\t|      2--移动电话                |\n");
printf("\t\t\t\t|      3--地址      |\n");
printf("\t\t\t\t|      4--姓名                    |\n");
printf("\t\t\t\t|      5--                    |\n");
printf("\t\t\t\t|      6--邮箱                    |\n");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。