C 课程设计报告

发布 2022-09-30 17:57:28 阅读 8391

***年 **月。

程序基本功能:

一个基本的**簿管理程序,具有插入、删除、显示、修改和查询联系人**号码的功能。

课程设计要求:

1) 增加记录修改功能(姓名和**号码)。

2) 增加显示功能(对链表提供逐屏显示选择而且可以由用户确定每屏显示数目)。

3) 汉化菜单和帮助。

4) 程序的结构改写,采用双链表结构,用类和对象重建系统。

评定难易级别: a级。

1) 程序采用双向链表数据结构实现。

2) 用类来实现数据的封装。

3) 使用文件的输入输出流实现对记录的保存与读取。

操作系统:win7

开发软件:mirosoft visual c++ 6.0

1.类的封装:

class friend_node

public:

char name[35];

char phone_number[15];

friend_node *next;

void write_list_to_file();

void load_list_from_file();

void add_record();

void delete_record();

void change_record();

void add_change_record(friend_node *new_record_ptr);

void search_record();

void display_all_records();

void help();

void main_menu();

void help_menu();

void insert_node(friend_node *new_record_ptr);

void make_node_new_head(friend_node *new_record_ptr);

void add_node_to_end(friend_node *new_record_ptr);

void move_current_to_end();

void delete_node(friend_node *previous_ptr);

void delete_head_of_list();

void delete_end_of_list(friend_node *previous_ptr);

void delete_from_middle_of_list(friend_node *previous_ptr);

int verify_delete();

void delete_list();

1.用类friend_node重建系统;

2.增加了函数change_record()用于修改联系人资料,利用了原来的删除功能delete_record()和添加功能add_record()进行对原有资料的修改;

/修改联系人资料//

void friend_node::add_change_record(friend_node *new_record_ptr)

friend_node *previous_ptr;

previous_ptr=null;

delete_node(previous_ptr);

cout<<"输入新姓名:">new_record_ptr->name;

cout<<"输入新**号码:">new_record_ptr->phone_number;

insert_node(new_record_ptr);

void friend_node::change_record()

friend_node *new_record_ptr;

new_record_ptr=new friend_node;

system("cls");

char search_string[35];

current_ptr=head_ptr;

cout<<"输入你想要修改的联系人姓名:">search_string;

while((current_ptr!=null)&&strcmp(current_ptr->name,search_string)!=0))

if(current_ptr!=null)

elsecout<<"按下回车键回到主菜单"< getchar();

system("cls");

main_menu();

3.在原有的显示功能的基础上添加了一个计数器person_count来实现逐屏显示的功能并可以设定显示数目;

/显示联系人//

void friend_node::display_all_records()

int person_count;

int temp_person_count=0;

char fullname[36];

current_ptr=head_ptr;

cout<<"每屏显示多少联系人?">person_count;

if(current_ptr!=null)

for(;current_ptr!=null;)

elsecout<<"按下回车键回到主菜单"< current_ptr=head_ptr;

getchar();

system("cls");

main_menu();

4.菜单和帮助的汉化;

/主菜单//

void friend_node::main_menu()

main_menu:

int choice;

cout《主菜单< cout<<>choice;

switch(choice)

break;

default:

system("cls");

cout<<"错误的选项!"

system("cls");

goto main_menu;

break;

/帮助//void friend_node::help_menu()

help:int choice;

cout<<"1-我的记录呢?"

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C课程设计报告

题目各类图形面积与周长计算和高考倒计时。学生姓名张磊 学号 20131344054 学院计算机与软件学院 专业软件工程 指导教师马瑞。二 一五年六月 25 日。目录。1 引言 1 1.1 系统开发背景和意义 1 1.2 服务器运行环境 2 1.3 课题内容 2 2 系统需求分析及相关技术介绍 2 2...

C 课程设计报告

c 程序课程设计报告。学院 资源与安全工程学院 专业班级 城市地下空间工程1303 姓名卢途。指导教师 彭述权。课程设计时间 2013 2014学年第二学期18 19周。一 题目一 设计一 学生成绩管理系统 它的主要功能是对学生的成绩进行输入 修改和管理。系统功能要求 界面要求 学生成绩管理系统 1...