1、 - 1 - 高级语言程序设计(高级语言程序设计(1 1)课程设计)课程设计 1. 1. 程序设计说明书程序设计说明书 【设计题目】 班级通讯录管理系统 【问题描述】 信息 1002 班上学生的通讯基本信息包含姓名、电话号码、QQ 号和宿舍 号。对信息 1002 班学生的基本通讯信息进行统一整理,并可以按电话号 码或姓名等查到学生个人基本通讯信息。可以显示所有的通讯记录,并对 现有的通讯记录进行修改和增删等处理。 【基本要求】 1. 通过此软件可以直接录入各个学生的基本通讯信息,并且会将所有信 息自动保存到磁盘上。 2. 通过此软件可以直接对已录入的各个学生的通讯基本信息进行修改, 并且修改完
2、成后会将更改后的信息情况自动保存到原磁盘文件中。 3. 通过此软件可以直接对信息 1002 班每个同学的基本信息情况进行查 询。 【算法思想】 1. 根据要求,通讯录数据以文本文件存放在文件中: 2. 需要提供文件的输入输出的等操作: 3. 还需要保存记录已进行修改,删除,查找的操作: 4. 另外还需提供键盘式选择菜单实现功能的选择。 【总体设计】 图 1 系统功能模块图 【详细设计】 通讯录管理系统 数据输入 数据修改 删除 数据添加 查找 浏览 - 2 - 主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】 图 2. 主函数流程图 Void menu() /*主界面*/ i
3、nt n, w1; void enter(); void add(); void modify(); void browse(); void delete(); void search(); do puts(“t*菜单*tnn“); puts(“tttt1.新建联系人“); puts(“tttt2.添加联系人“); puts(“tttt3.修改“); puts(“tttt4.删除“); puts(“tttt5.浏览“); puts(“tttt6.查找“); puts(“tttt7.退出“); puts(“nnt*信息 1002 班通讯录*tn“); printf(“请选择服务种类(1-7) :
4、 bb“); scanf(“%d“, if(n7) w1=1;getchar(); else w1=0; while(w1=1); 显示一系列功能选项 输入n, 判断n是否是17 ? 根据 n 的值调用各功能模块函数 结束 开始 n - 3 - switch(n) case 1: enter(); break; /*输入模块*/ case 2: add(); break; /*添加模块*/ 【模块流程图】 main 函数 enter 函数 modify 函数 显示一系列功能选项 输入n, 判断n是否是17 ? 根据 n 的值调用各功能模块函数 结束 开始 n 输入选择服务类型 1 输入要新建学
5、生数量 n(n.浏览所有 2.返回 What do you want to do? 输入选择服务类型 3 - 4 - browse 函数 delete 函数 search 函数 输入要修改学生姓名, 选择修改选 项 1.姓名 2.电话 3.QQ 号 4.宿舍号 5.所有数据 6.取消返回 是否确定修改? 1.是 2.不, 重新修改 3.保存并返回 浏览所有学生基本通讯信息 输入浏览服务号 5 返回主菜单 输入要删除学生的姓名 输入服务选项 4 是否删除 1.是 2.否,返回 选择服务类型 6 - 5 - 【程序使用方法】 1. 执行程序,按照界面提示进行选择。输入 “1” ,进入新建联系人。
6、2. 按照程序提示,分别输入信息 1002 班所有同学的通讯基本信息。 (注: 这里默认为信息 1002 班有 30 名同学,可以通过宏定义进行修改。 ) 3. 输入成功后,自动返回主界面。输入“5” ,进入通讯录预览,程序自 动将各个已录入同学的基本通讯信息输出到屏幕上。 4. 输入“2”返回主界面。输入“3” ,进入基本通讯信息修改,按照提示 进行输入。 5. 输入成功后,输入“1”浏览输入信息,输入“2”返回主界面。输入 “4” ,进行删除根据提示操作。 6. 输入“6”进行查找,根据提示“1”按姓名查找, “2”按电话号码查 找。 7. 输入“1”浏览所查找信息, “2”返回主界面。输入“7”退出程序。 2. 2. 程序上机调试报告程序上机调试报告 【语法错误及其排除】 1、单词拼写错误,导致出现没有定义的变量。 2、宏定