当前位置:首页 > 数据结构课程设计(通讯录制作)
一. 设计内容(通讯录)
本系统应完成一下几方面的功能: 1) 输入信息——enter(); 2) 显示信息———display( );
3) 查找以姓名作为关键字 ———search( ); 4) 删除信息———delete( ); 5) 存盘———save ( ); 6) 装入———load( ) ; 设计要求: 1) 每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)
国家(STATE)几项 2) 作为一个完整的系统,应具有友好的界面和较强的容错能力
二.设计思路 通过visual c++6.0(用的是C语言)编写一个dos界面的控制台程序,该程
序通过链表的操作,文件存储来实现通讯录的基本功能
struct address{ /*定义结构*/ char name[10]; /*姓名*/ char street[50]; /*街道*/ char city[10]; /*城市*/ char state[15]; /*国家*/ char eip[7]; /*邮编*/
欢迎共阅
struct address *next; /*后继指针*/ struct address *prior; /*前驱指针*/
}
链表的插入,删除来实现通讯录里的内容的插入删除
当操作完成通过文件件来存储链表的信息,下次打开程序时,读取文件里的内
容到内存中,放在链表,然后又可以对链表进行操作;
存储 在这里面,文件内容不可以在外部更改,只能通过读取到内存链表中,通过程内存链表 文件 序进行更改,然后再写入到文件,写入过程会覆盖上次的内容。导入 struct address *start; /*首结点*/ struct address *last; /*尾结点*/ 插入struct address *find(char *); /*声明查找函数*/ void enter(); /* 删除 函数声明查找*/ void search(); /*查找,查找过程中调用find函数*/ void save(); /*存盘,将链表信息保存到文件中*/ void load(); /*导入,将文件内容导入到内存链表中*/ void list(); /*显示当前链表中信息*/ void ddelete(struct address **,struct address **); void insert(struct address *i,struct address **start, struct address **last); void inputs(char *,char *,int); void display(struct address *); int menu_select(void);
三.详细设计
1.主界面设计
欢迎共阅
通过switch语句调用各种函数,实现各种操作。然后把switch嵌套到无限的for循环(for(;;))中,使完成每一步操作都回到到选择操作的主界面
input ddeletmenu_select enter list searcsave display find main 文件 load exit 函数之间的相互调用 void main() {
start = last = NULL; for(;;) /*无限循环*/ {
switch(menu_select()) /*调用主界面的选择函数,带回返回值*/ {
case 1:enter();
continue;
欢迎共阅
case 2:ddelete(&start,&last); continue; case 3:list(); continue; case 4:search(); continue; case 5:save(); continue; case 6:load(); continue; case 7:exit(0); } }
int menu_select(void) /*主目录*/ {
char s[80]; int c; printf(\………………^欢迎使用DOS通讯录系统^………………\\n\printf(\请在做其它操作前先导入*************\\n\printf(\ printf(\输入信息 ******************\\n\ printf(\删除信息 ******************\\n\ printf(\显示信息 ******************\\n\ printf(\查找 ******************\\n\ printf(\存盘 ******************\\n\ printf(\导入 ******************\\n\
} 欢迎共阅
共分享92篇相关文档