通讯录程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生通讯录系统

学校:中北大学

姓名:***

学号:**********

班级:A02

学院:软件学院

指导教师:***

题目:学生通讯录

实训目的:

掌握C语言的基本语法规则,以及深入理解函数

的调用,指针,结构体和链表的相关知识点。做

好项目的具体分析。

实训内容:

完成对学生通讯录程序调试以及运行

实训内容:

设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,电话号码1,电话号

码2,QQ号组成,姓名可以由字符和数字混合

编码。电话号码可由字符和数字组成。实现功能:实训要求:

(1)系统应显示这样的菜单,请选择系统功能项:a 信息录入功能

b信息浏览功能

c信息查询功能((按姓名查询)

d信息修改功能

e系统退出功能

(2)执行一个具体的功能之后,程序将重新显示菜单。

(3)将通讯录基本信息保存到文件中。

*总体设计模块和程序规划结构图如图1.0,其中包含各个函数的调用

程序详细结构图以及涉及到的核心代码:录入信息结构图1.1

void input_record1()//输入函数总,包含了创建学生还有指针移动

{

//void print_menu_main();//输入菜单

char continue_input = 'N';//判断是否继续输入

stu *pLastStu = NULL;//最后学生的指针

stu *pNewStu = (stu *)malloc(sizeof(stu));//创建学生节点返回其地址,这是链表

pNewStu->next = NULL;//节点的指针指向空

create_stu_by_input(pNewStu);//创建一个学生

if(head == NULL)

{

head = pNewStu;

} else{

pLastStu = get_last_student(head);//移动指针

pLastStu->next = pNewStu;// 连接节点

}

printf("继续输入学生成绩?(Y 继续,N 返回菜单)");

getchar();

continue_input = getchar();

if (continue_input == 'n' || continue_input == 'N'){

print_menu_main();

}

else{

input_record1();

}

}

输出函数结构图以及核心代码

void show_record1(){//输出函数总:包含了三部分表格头,表格尾巴,含有学生信息

void print_menu_main();//

stu *p = head;

print_table_head();

while(p != NULL) {

print_table_row(p);

p = p->next;

}

print_table_buttom();

printf("按任意键返回菜单...\n");

getch();

print_menu_main();

}

保存文件结构图以及核心代码

void save_to_file1(){//保存文件总

void print_menu_main();//所调用的函数的声明

void save_to_file();

FILE *fp;

char file[100];

stu *p= head;

printf("请输入文件名:");

scanf("%s", file);

save_to_file();

fp=fopen(file, "w");

while(p != NULL){

fprintf(fp, "%d %s %s %s %s %s\n",

p->xuhao, p->num, p->name, p->sex, p->QQ, p->phone);

p = p->next;

}

fclose(fp);

printf("保存成功!\n按任意键返回菜单..\n");

getchar();

getchar();

print_menu_main();

}

加载信息结构图以及核心代码

void load_from_file1(){//重新加载函数总

void print_menu_main();

void clear_record(stu *p);//所调用的函数声明

FILE *fp;

char file[100];

clear_record(head); /*释放整个链表*/

stu *p= head, *q;

printf("请输入文件名:");

scanf("%s", file);

fp=fopen(file, "r");

stu *pLastStu = NULL;

while(!feof(fp)){//如果未遇到输入文件的结束标志stu *pNewStu = (stu *)malloc(sizeof(stu));

pNewStu->next = NULL;

fscanf(fp, "%d %s %s %s %s %s",

&(pNewStu->xuhao),pNewStu->num, pNewStu->name, pNewStu->sex,

pNewStu->QQ, pNewStu->phone);

相关文档
最新文档