C 语言课程设计 最终答辩版 学生通讯录管理系统

这是一个C语言课程设计项目,实现了学生通讯录管理系统的功能,包括添加、显示、删除、查询、修改、保存记录等。系统还包含了文件加密解密、系统时间显示以及关机、重启等额外功能。设计者为2012级软件工程专业的刘小洋,使用Microsoft Visual C++ 6.0开发,具备密码保护和用户交互界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<span style="font-family: Arial, Helvetica, sans-serif;">/*</span>
******************************************************************
   C语言的课程设计 现在开源  希望可以帮助到一些  测试文件没有附上 自己写一份就行  
   @课题设计:学生通讯录管理系统
   @设计时间:2014.2.24
   @设计人:  2012级软件工程专业 刘小洋
   @设计题目:学生通讯录管理系统
   @计算机配置:windows 7 旗舰版 32位操作系统 内存:4G CPU :i5--3210
   @运行环境:Microsoft Visual C++ 6.0
   @设计思路:建立8个子函数,分别用来添加、显示、删除、查询、修改、保存,读取和统计通讯录信息,完成通讯录的功能。
			  主函数采用密码,保护了通讯录数据,可以调用8个子函数,分别完成添加记录、显示记录、删除记录、查询记录、
			  修改记录、保存记录、读取记录、统计记录、退出系统等功能。在主函数中可以以1、2、3、4、5、6、7、8、9、10、0数字
			  键分别可以执行某个功能模块。最后在对文件进行加密、解密功能。
   @扩展功能:利用system系统函数,实现对程序功能的扩展,为了方便用户和大众软件的设计方法,利用系统函数system调用windows
              dos 命令实现对计算机的关机,重启,定时关机,注销等功能。
   @主要函数:int Menu_select()              系统用户登录后的菜单
              int Input(Student stu[])       添加记录函数
              int sum(Student stu[])         统计记录函数(男 女 总  人数)
              void Display(Student stu[])    显示记录函数
			  int Delete(Student stu[])      删除记录函数
			  void Chick(Student stu[])      查找记录函数
			  void Change(Student stu[])     修改记录函数
			  void WritetoText(Student stu[]) 写入文件函数
			  void Read(Student stu[])       读取文件函数
			  void Menu()                     对应int Menu_select()函数的子菜单 他调用除主函数意外的所有函数
			  void encfile(char *in_filename,char *pwd,char *out_file) 文件加密函数
			  void unencfile(char *in_filename,char *pwd,char *out_file) 文件解密函数
			  int  unpasswd()                解密函数
			  int passwd()                   调用文件加密的函数
			  int main()                     主函数设置密码功能 调用 Menu 函数
  @通讯录密码:用户名:lhy 密码 :201314
******************************************************************
*/
//#include"stdafx.h"
#include"stdio.h"
#include<stdlib.h>
#include<conio.h>
#include<string.h> // 头文件
static int n=0;    // 定义静态全局变量,存储已经读入记录的条数。
void encfile(char *in_filename,char *pwd,char *out_file) ; //函数声明
int passwd();                                              //函数声明
int  unpasswd();                                           //函数声明
void shut();                                               //函数声明,c语言关机的函数。
//定义结构体用来存放学生的学号、姓名、性别、工作单位、电话号码、邮箱的信息。
typedef struct
	{
		long  score;               /*学号*/
		char name[10];             /*姓名*/
		char sex[8];			   /*性别*/
		char adds[20];			   /*工作单位*/
		char num[15];              /*电话号码*/
		char email[20];			   /*邮箱*/
	}Student;
Student T[100];
/*
主菜单 利用 do while、printf简单实现 调用系统函数显示当前系统的时间和日期。
这个函数主要供void Mean函数调用。
*/
int Menu_Select()
	{
		char c;
		do{
		system("cls");    //清屏
		system("date /T");//显示系统当前日期
		system("time /T");//显示系统当前时间
		system("color 0a");//改变控制台前景,背景颜色
		printf("\t\t\t***学生通讯录***** \n");
		printf("\t\t\t******************\n");
		printf("\t\t\t* 1. 添加记录  *\n");
		printf("\t\t\t* 2. 显示记录  *\n");
		printf("\t\t\t* 3. 删除记录  *\n");
		printf("\t\t\t* 4. 查询记录  *\n");
		printf("\t\t\t* 5. 修改记录  *\n");
		printf("\t\t\t* 6. 保存记录  *\n");
		printf("\t\t\t* 7. 读取记录  *\n");
		printf("\t\t\t* 8. 统计记录  *\n");
		printf("\t\t\t* 9. 文件解密  *\n");
		printf("\t\t\t* *. 其他功能  *\n");
		printf("\t\t\t* 0. 退出程序  *\n");
		printf("\t\t\t*****************\n");
		printf("\t\t\t请您选择(0-9)选择 其他功能 请输入':':");
		c=getchar();
		}while(c<'0'||c>'10');
		return(c-'0');
	}

/*
添加记录功能函数,利用scanf 重复对结构体每一个要输入的学生信息添加,
最后输入Y N 是否要继续添加记录 利用 while对输入的内容比较。
这里需要的注意的是  
** 如果已经有文件读入,对n+
设计一个《学生通讯录管理系统》,在动态链表程序的基础上,设计要求如下 (必须使用结构体和链表等数据结构) 1建立文件 存储文件使用指定文件名或默认文件名; 可以不保存输入记录,但需要确认是否保存输入记录 如果已有文件,只能在其后追加; 新增记录可以不存入原文件中,以可以用原来的文件覆盖内存的内容; 可以将多个个文件记录合并到一个文件中; 2文件的存取和显示 可以单独存取文件; 可以随时显示内存中记录的全部内容; 可以直接存取默认文件或指定文件; 3删除记录 可以按“姓名”或“电话”方式删除记录并更新内存链表内容; 能给出被删除的信息,输出没有找到的信息; 如果已经是空表,上出时应给出信息并返回主菜单; 如果没有要删除的信息,输出没有找到的信息; 删除操作仅限于内存,只有执行记录时,才能覆盖原记录; 4查询记录 可以按“姓名”或“电话”或“宿舍”方式查询记录 能给出查询记录的信息; 如果查询的信息不存在,输出没有找到的信息; 5 整体功能 a可以随时检索、删除、或增加新记录,保存或取消新的记录 b使姓名可由16位字符和数字的混合编码组成 c使电话号码可由18位字符和数字组成 d将输出信息加上输出信息信息栏,例如 姓名 电话 性别 年龄 生日 宿舍 李四 1234 男 21 7月1日 东二333 e使用菜单实现功能的正确的选择 f 所有节点信息都是动态生成。 6测试程序 应列出测试大纲对程序进行测试; 应保证测试用例测试到程序的各种边缘情况
源码下载另见:http://download.youkuaiyun.com/detail/laudukang/8341541 1.2 系统功能分析 1.2.1 基本功能 (1)基本信息:姓名、手机号码、电子邮箱、生日、所属组、备注、相片。 (2)工作单位:国家、省份、城市、地址、工作单位、所属部门、职位、邮编、电话、传真。 (3)网络信息:个人主页、即时通信工具及号码、备用邮箱。 (4)家庭资料:国家、省份、城市、地址、邮编、电话。 1.2.2 查询模块 (1)默认显示所有条目。 (2)模糊查询:可以按姓名、电话号码、手机、姓名的汉语拼音的声母或全拼查询。支持模糊查询即输入部分数据后,可以查询出符合条件的全部条目。如:输入“张”,列出所有名字中有“张”的条目;输入“2645”列出电话中有该4个数字的所有条目;输入“xl”,列出声母为该2个字母的所有条目。 (3)指定分组后,列出某分组的所有条目。 说明:查询结果如果有多个条目,应按照姓名排序,并使用姓或姓的第一个汉语拼音的字母分类。 1.2.3 删除和修改功能 查询到一个条目后,可以删除该条目或修改条目内容。 1.2.4 通信录内容的导入和导出 要求能够以CSV格式和vCard格式导入和导出通讯录的全部内容,并能够与主流手机或其他通讯录软件交换数据。 1.2.5通讯录的显示 可以设置在显示查询结果时,一个条目可以显示或不显示哪些内容。 1.2.6通讯录数据的录入 输入并存储新的通讯录数据,输入时如果有同名或同电话号码时,应该给出提示。 1.2.7联系人星标 一键收藏自己联系最多的人,更加方便于查找与管理。 1.2.8手机号码归属地识别 根据录入的手机号码,识别出相应的归属地,如号码“1382840****”会被识别为“广东广州移动”。
C语言课程设计任务书(4) 一、题目:通讯录管理 二、目的与要求 1. 目的: (1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题 2. 要求 基本要求: 1.         要求利用C语言面向过程的编程思想来完成系统的设计; 2.       突出C语言的函数特征,以多个函数实现每一个子功能; 3.         画出功能模块图; 4.         具有清晰的程序流程图和数据结构的详细定义; 5.       熟练掌握C语言对文件的各种操作。 创新要求: 在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同 三、信息描述 有关该系统基本信息的描述,如:姓名、电话、城市和邮编等。 四、功能描述 1.       名单基本信息(姓名,城市,电话,邮编等)的录入,并存放在文件当中。 2.       基本信息的查询与修改。 3.       记录的添加和删除。 4.       对同一类型记录的查找:如查找同一城市的记录或同一省份的记录。 五、解决方案 1.       分析程序的功能要求,划分程序功能模块。 2.       画出系统流程图。 3.       代码的编写。定义数据结构和各个功能子函数。 4.       程序的功能调试。 5.       完成系统总结报告以及使用说明书 六、进度安排 此次课程设计时间为一周或两周,分四个阶段完成: 1.       分析设计阶段。指导教师应积极引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。 2.       编码调试阶段:根据设计分析方案编写C代码,然后调试该代码,实现课题要求的功能。 3.       总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。 4.       考核阶段。 七、撰写课程设计报告或课程设计总结 课程设计报告要求: 总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。 八、参考资料  《C语言程序设计教程》   网上相关资料(....略)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值