课程设计报告书
课程名称: C语言课程设计
班 级:
学 号:
姓 名:
指导老师:
设计时间:
通讯录课程设计
. 设计求目
二. 概设计
系统功模块图:
添加:添加通讯录记录次输入编号姓名年龄电话号码通讯址电子邮箱会提示否继续添加
显示:表格形式输出通讯录里记录
删:输入欲删名字会动删()记录容
查询:选择姓名电话址三种方式查询
修改:输入欲修改名字次输入编号姓名年龄电话号码通讯址电子邮箱完成修改
保存:输入文件名(带缀名)通讯录信息保存文件
. 详细设计
(1)通讯录:
typedef struct
{
char score *编号*
char name[10] *姓名*
char num[15] *号码*
char email[20] *邮箱*
char age[8] *年龄*
char adds[20] *住址*
}Person
void main() *函数*
{
int n0
for()
{
switch(menu_select())
{
case 1
printf(\n\t添加记录通讯录\n) *添加记录*
nInput(pen)
break
case 2
printf(\n\t\t\t 通讯录记录表\n) *显示记录*
Display(pen)
break
case 3
printf(\n\t通讯录中删记录\n)
nDelete_a_record(pen) *删记录*
printf(\t)
system(pause)
break
case 4
printf(\n\t通讯录中查找记录\n)
Query_a_record(pen) *查找记录*
printf(\t)
system(pause)
break
case 5
printf(\n\t修改通讯录中记录\n)
Change(pen) *修改数*
printf(\t)
system(pause)
break
case 6
printf(\n\t保存功\n)
WritetoText(pen) *保存数*
printf(\t)
system(pause)
break
case 0
printf(\n\t\t谢谢见\n) *结束程序*
printf(\n\t\t)
system(pause)
exit(0)
}
}
}
(2)工作流程图:
①添加:添加通讯录记录
②显示:显示通讯录记录
③删:删通讯录记录 ④查询:查询通讯录记录
先选择查询方式姓名查询方式例
⑤修改:修改通讯录记录
二. 源程序代码
#include
#include
#include
typedef struct Student
{
long id
char name[20]
char sex[5]
char age[4]
char Birthday[15]
char phone[12]
char email[20]
char address[50]
struct Student *next
}Stud
void add(Stud *head)
{
Stud * p (Stud *)malloc(sizeof(Stud))
printf(请输入学号)scanf(d &p>id)
printf(请输入姓名)scanf(s &p>name)
printf(请输入性boygirl)scanf(s &p>sex)
printf(请输入年龄)scanf(s &p>age)
printf(请输入出生年月)scanf(s &p>Birthday)
printf(请输入联系方式)scanf(s &p>phone)
printf(请输入Email)scanf(s &p>email)
printf(请输入通信址)scanf(s &p>address)
p>next head>next
head>next p
}
void search(Stud *head int id)
{
Stud * p head>next
while(pNULL)
{
if(p>idid)
{
printf(学号d p>id)
printf(姓名s p>name)
printf(性s\np>sex)
printf(年龄s\n p>age)
printf(出生年月s\n p>Birthday)
printf(联系方式s\n p>phone)
printf(Emails\n p>email)
printf(通信址s\n p>address)break
}
else
{
p p>next
}
}
}
void del(Stud *head int id)
{
Stud * p head
while(p>nextNULL)
{
if(p>next>id id)
{
Stud * q p>next
p>next q>next
free(q)break
}
else
{
p p>next
}
}
}
void print(Stud *head)
{
Stud * p head>next
while(pNULL)
{
printf(学号d p>id)
printf(姓名s p>name)
printf(性s\np>sex)
printf(年龄s\n p>age)
printf(出生年月s\n p>Birthday)
printf(联系方式s\n p>phone)
printf(Emails\n p>email)
printf(通信址s\n p>address)
pp>next
}
}
void modi(Stud *headint id)
{
Stud * p head
while(p>nextNULL)
{
if(p>next>id id)
{
Stud * q p>next
p>next q>next
free(q)break
}
else
{
p p>next
}
}
p (Stud *)malloc(sizeof(Stud))
printf(请重新输入学号)scanf(d &p>id)
printf(请重新输入姓名)scanf(s &p>name)
printf(请重新输入性boygirl)scanf(s &p>sex)
printf(请重新输入年龄)scanf(s &p>age)
printf(请重新输入出生年月)scanf(s &p>Birthday)
printf(请重新输入联系方式)scanf(s &p>phone)
printf(请重新输入Email)scanf(s &p>email)
printf(请重新输入通信址)scanf(s &p>address)
p>next head>next
head>next p
}
void main()
{
Stud * head (Stud*)malloc(sizeof(Stud))
head>next NULL
while(1)
{
int ch
printf( 1 增加学生 2 删学生 3 查询学生信息\n 4 印学生信息 5 修改学生信息 0退出程序\n)
scanf(d &ch)
switch(ch)
{
case 0 return
case 1 add(head) break
case 2
{
int id
printf(输入删学生学号:)
scanf(d &id)
del(head id)break
}
case 3
{
int id
printf(输入查询学生学号:)
scanf(d &id)
search(head id)break
}
case 4 print(head) break
case 5
{
int id
printf(输入修改学生学号:)
scanf(d &id)
modi(head id)break
}
default printf(输入错误\n)
}
}
}
三. 测试数结果分析
测试:
1).显示菜单界面
2).添加界面:
3).显示界面:
4).删界面:
删通讯录里显示记录:
5).查询界面:
姓名查询方式例:
6).修改界面:
修改通讯录里显示记录:
7).保存界面:
四. 课程设计总结
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档