精华内容
下载资源
问答
  • 大学c语言程序设计 附有代码 以报告形式写的 可正常运行 测试软件VC++6.0
  • 上海交通大学课程设计任务课程设计任务书 C语言 通讯录
  • 航空航天大学金城学院《C语言程序设计》课程设计报告个人通讯录系统学号:学号:日期:TOC \o "1-5" \h \z 一、需求分析: 3\o "Current Document" 二、程序的主要功能: .3\o "Current Document" 三、程序运行平台: ....

    .

    .下载可编辑.

    .

    .下载可编辑.

    航空航天大学金城学院

    《C语言程序设计》课程设计报告

    个人通讯录系统

    学号:

    学号:

    日期:

    TOC \o "1-5" \h \z 一、需求分析: 3

    \o "Current Document" 二、程序的主要功能: .3

    \o "Current Document" 三、程序运行平台: .3

    \o "Current Document" 四、系统总框架图: .6

    \o "Current Document" 五、程序类的说明: .6

    \o "Current Document" 六、模块分析: .8

    \o "Current Document" 七、比较有特色的函数: .9

    \o "Current Document" 八、 存在的不足与编程体会 10

    \o "Current Document" 九、程序源代码:.10

    、需求分析

    各类存储和通信电子产品都带有通讯录的功能,可以对联系人进行简单的信息管 理和存储。

    二、程序的主要功能

    ? 用户信息界面美观、简洁,采用菜单式显示功能选择;

    ? 能够从磁盘文件输入和输出数据;

    ? 能够对联系人信息进行增、删和改的操作;

    ? 能够根据联系人的的拼音顺序从高到低排序;

    三、程序运行平台

    VC6.0

    运行程序"perosnalcontact.exe ”,进入登录界面如下

    ****************************

    通讯录文件不存在 通讯录文件已建立

    ****************************

    按任意键进入主菜单

    请输入您的数字选择

    、按下任意键进入主菜单

    您好!欢迎使用

    通讯录!

    1:

    2:

    3:

    4:

    5:

    6:

    7:

    8:

    9:

    删除所有

    0:

    退

    请输入您的数字选择

    选择1进入添加信息模块:

    请输入您要添加的联系人的信息:

    请输入:

    选择2进入查询个人信息模块:

    迎 使用查

    菜 单

    1-

    按查询

    2-

    按QQ查询

    3-

    返回主菜单

    请输入您的选择

    选择3进入删除个人信息模块

    删除菜单

    删除单个

    返回主菜单

    请输入您的数字选择

    选择4.进入修改个人信息模块

    1-按修改

    请输入您的数字选择 选择5.进入联系人排序模块

    排序 菜 单

    1-2-请输入您的数字选择:

    1-

    2-

    请输入您的数字选择:

    选择6.进入输出信息模块

    ***************

    按排序

    以下为通讯录所有信息************

    QQ名字:13213性别:

    QQ

    名字:

    13213

    性别:

    2144444444444

    手机:

    44444444444

    电子:

    44444444444

    :444444444

    ************************************************

    请按任意数字键返回主菜单 选择7.进入写入文件模块

    .

    .下载可编辑.

    .

    .下载可编辑.

    ?

    ?下载可编辑.

    通讯录文件已保存

    请按任意数字键返回主菜单

    选择8.进入读取信息模块

    ****************************

    TOC \o "1-5" \h \z **

    **

    文件导入成功!*

    *

    **

    ****************************

    按1显示所有信息,按2回主菜单! 输入您的数字选择:

    选择9.删除所有信息

    四、系统总框架图

    五、程序类的说明

    struct pers on

    {

    char n ame[15];

    char sex[2];

    char celeph on e[22];

    char email[40];

    long int QQ;

    }per[500];〃定义一个per数据,有500个元素。

    六、模块分析

    添加模块

    系统将提示用户输入新添加的联系人信息,添加在数据中。

    查询模块

    根据用户输入的或者 QQ号,然后运用strcmp函数对数组中的元素进行对比,然后输入匹配

    的信息。

    删除模块

    首先由用户输入,运用strcmp函数查找,显示匹配的信息,由用户输入1或2进行判断是

    否删除。删除之后将num的值-1。定义int型的findmark,和mark用来判断是否有同名信息,

    由用户判断时候继续删除同名的联系人。

    个人信息修改模块

    首先由用户输入,查询到匹配的信息,显示出来,由用户判断是否删除,运行xiugaixinxi(a) 函数。

    排序模块

    用strcmp函数判断数据中第一个元素和它的后一个元素是否相同,不相同则把数据两个元 素进行

    展开全文
  • 课 程 设 计 课程名称 C语言程序设计课程设计 题目名称 通讯录程序设计 专业班级 20 15级计算机科学与技术1班 学生姓名 学 号 指导教师 二一六年六月二十日 蚌埠学院计算机科学与技术系课程设计任务书 课 程 C语言...
  • 南京航空航天大学金城学院 C语言程序设计课程设计报告 个人通讯录系统 学号 姓名 学号 姓名 日期 目 录 HYPERLINK 一需求分析3 HYPERLINK 二程序的主要功能.3 HYPERLINK 三程序运行平台.3 HYPERLINK 四系统总框架图...
  • 《【毕业设计】通讯录c语言程序设计.doc》由会员分享,可免费在线阅读全文,更多与《(定稿)毕业设计通讯录c语言程序设计(喜欢就下吧)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、(STUDENTs[N]...

    《【毕业设计】通讯录c语言程序设计.doc》由会员分享,可免费在线阅读全文,更多与《(定稿)毕业设计通讯录c语言程序设计(喜欢就下吧)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

    1、(STUDENTs[N]);voidaixu();voidirint(intn);voidhrint();intfind(chars[M],inti,char。

    2、c[M],intsign);voidchoice(intsign);voidrint(intn);voidrelace(intn);intanduan(voi。

    3、);voidinut(inti);voidginut(inti);voidturn(intk);voidjiaohuan(chars[M],charc[M])。

    4、;****************************主函数********************************main(){menu();r。

    5、turn;}******************************主菜单******************************voidmenu(v。

    6、oid){inta;system(quotclsquot);rintf(quot*****************************欢迎进入通讯录管理系。

    7、*****************************\n\nquot);输出主菜单rintf(quot\t\t\t\t显示通讯录\nquot);rint。

    8、(quot\t\t\t\t查找通讯录\nquot);rintf(quot\t\t\t\t添加通讯录\nquot);rintf(quot\t\t\t\t删除通讯。

    9、录\nquot);rintf(quot\t\t\t\t修改通讯录\nquot);rintf(quot\t\t\t\t排序通讯录\nquot);rintf(qu。

    10、t\t\t\t\t退出\nquot);rintf(quot请选择:(~)quot);平逐步提高,通讯系统逐步成熟,通信成为我们生活中不可缺少的一部分。通信系统。

    11、的发达,通信方式的增多,记录信息量的增大,对于通信信息的处理将越来越复杂,仅仅靠人工操作已经满足不了人们的需求,使用功能全、信息量大的管理系统是一个不错的选择。

    12、本次课设本次课程设计主要运用C语言中的结构体、数组、链表等数据结构,设计一个简单的管理系统应用程序。本次课设主要考察了对函数的编写,对指针和数组的相关操作、结。

    13、(STUDENTs[N]);voidaixu();voidirint(intn);voidhrint();intfind(chars[M],inti,char。

    展开全文
  • 通讯录管理系统的实验报告C语言版,自制,代码比较简陋
  • c语言程序设计简单的通讯录系统(实验报告) 语言课程设计报告书 C 通讯录管理系统实验题目 一 实验目的 通过进行计算机实践更加系统地理解和掌握C语言的基本概念语言特点和编程技巧利用系统提供的标准函数和自定义...
  • 海南大学 C 语言程序课程设计报告 学号 20120602310048 姓名 隆艳萍 年级 2012 级 学院 经济与管理 专业 信息管理与信息系统 分数 1 通讯录管理系统 一需求分析 设计题目及要求 建立通讯录信息信息包含姓名籍贯电话...
  • 电子通讯录 管理系统 程序 C语言 版 电子通讯录 管理系统 程序 C语言 版 电子通讯录 管理系统 程序 C语言 版 这是个详细的课程设计报告!!!!!!!!!!!
  • 山东交通学院课程设计报告实习名称: 通讯录设计教学院部: 山东专业班级:学生姓名:学生学号:指导教师:完成时间: 2011 年09月09日报告成绩:评阅意见:评阅教师 日期通讯录管理系统一、 设计需求设计课题及要求...

    山东交通学院课程设计报告

    实习名称: 通讯录设计

    教学院部: 山东

    专业班级:

    学生姓名:

    学生学号:

    指导教师:

    完成时间: 2011 年09月09日

    报告成绩:

    评阅意见:

    评阅教师 日期

    通讯录管理系统

    一、 设计需求

    设计课题及要求

    1、建立通讯录系统,包含编号、姓名、年龄、号码、地址、电子邮箱等

    2、能够实现添加、删除和修改通讯录信息的功能

    3、能偶实现按不同方式查询的功能;如按姓名或年龄、电话等查询

    4、能够将通讯录保存在文件中

    系统功能

    1、添加:添加通讯录记录

    2、显示:显示通讯录记录

    3、删除:删除通讯录记录

    4、查询:查询通讯录记录

    5、修改:修改通讯录记录

    6、保存:将信息保存到文件

    二、 总体设计及分析

    1、添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、、2、电子邮箱后,会提示是否继续添加。

    3、显示:可以以表格形式输出所有通讯录里的记录

    4、删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容

    5、查询:可以选择用姓名、电话、地址三种方式查询

    6、修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、7、通讯地址、电子邮箱即可完成修改

    8、保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件

    主菜单添加

    修改保存

    查询

    显示

    删除

    三、 具体设计

    工作流程图

    1、添加通讯录 2、显示通讯录

    开始 开始

    int i;i=1

    i=0

    I

    Y Y

    输出一个记录 输入信息

    N N

    i++

    )n+1return(

    结束结束

    3、删除通讯记录 4、查询通讯记录(查询姓名)

    开始 开始

    输入删除的姓名 输入查询的姓名

    判断通讯录是否有此人判断通讯录是否有此人

    N Y N Y

    “通讯录没有此人”显示 “通讯录没有此人”显示

    显示该人记录 删除该项记录

    结束 结束

    5、修改通讯记录

    开始

    输入修改的姓名

    判断通讯录是否有此人

    N Y

    “通讯录没有此人”显示

    输入修改内容

    结束

    四、 源程序代码

    #include

    #include

    #include

    typedef struct

    {

    char score;

    char name[10];

    char num[15];

    char email[20];

    char age[8];

    char adds[20];

    }Person;

    Person pe[80];

    int menu_select()

    {

    char c;

    do{

    system(cls);

    printf(\\t *****通讯录***** \n);

    printf(\\t┌───────┐\n);

    展开全文
  • C语言通讯录

    2013-05-17 18:51:36
    (1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题 2. 要求 基本要求: 1. 要求利用C语言面向过程的...
  • C程序,通讯录,设C程序,通讯录,设计报告计报告 C程序,通讯录,设计报告
  • 长江大学工程技术学院C语言课程设计实习报告 通讯录管理系统 学生姓名吴正杰 学 号201461031 序 号19 专业班级计科61031 指导老师刘旨阳 报告日期2015\7\6 需求分析 根据题目要求通讯录保存在文件中要提供文件的输入...
  • C语言课程设计报告书 实验题目 通讯录管理系统 一?实验目的 通过进行计算机实践更加系统地理解和掌握C语言的基本概念语言特点和编程技巧利用系统提供的标准函数和自定义函数进行程序设计培养利用C语言设计综合程序的...
  • C语言程序设计 课程设计报告 设计题目_C语言个人通讯录管理系统 _ 摘要 本次课程设计的题目为个人通讯录管理系统要求将程序中所输入的联系人姓名电话和地址信息这三个数据以文本方式保存在磁盘中并且能够对所储存的...
  • 长江大学工程技术学院 C 语言课程设计实习报告 通讯录管理系统 学生姓名吴正杰 学 号201461031 序 号19 专业班级计科 61031 指导老师刘旨阳 报告日期 2015\7\6 需求分析 根据题目要求通讯录保存在文件中要提供文件的...
  • 长江大学工程技术学院 C 语言课程设计实习报告 通讯录管理系统 学生姓名吴正杰 学 号 201461031 序 号 19 专业班级计科 61031 指导老师刘旨阳 报告日期 2015\7\6 1.需求分析 根据题目要求通讯录保存在文件中要提供...
  • PAGE 2 2020年4月19日 C语言个人通讯录管理系统优秀课程设计报告 文档仅供参考不当之处请联系改正 XXXX学院 C语言程序设计 课程设计报告 学 院_XXXXXXXXX学院_ 专业班级: XXXXXXXXXX 学生姓名: X X X 学 号: ...
  • C语言课程设计任务书(4) 一、题目:通讯录管理 二、目的与要求 1. 目的: (1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和... 《C语言程序设计教程》  网上相关资料(....略)
  • 4.掌握书写程序设计说明文档的能力 5.提高运用C语言解决实际问题的能力 二.程序要求 学生信息包括:学号,姓名,班级,地址,电话,E-mail等。设计一个学生通讯录管理系统,应具有以下功能: 1、学生通讯信息录入...

    通讯录管理系统C语言课程设计

    一、实验目的
    1.巩固和加深学生对C语言课程的基本知识的理解和掌握
    2.掌握C语言编程和程序调试的基本技能
    3.利用C语言进行基本的软件设计
    4.掌握书写程序设计说明文档的能力
    5.提高运用C语言解决实际问题的能力
    二.程序要求
    学生信息包括:学号,姓名,班级,地址,电话,E-mail等。设计一个学生通讯录管理系统,应具有以下功能:
    1、学生通讯信息录入(存储在文件中);
    2、学生通讯信息浏览;
    3、查询功能:包括按学号查询、按姓名查询、按班级查询;
    4、学生通讯信息删除;
    5、学生通讯信息修改;
    三、算法及分析
    1、系统功能模块图
    系统功能模块图
    添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱
    后,会提示是否继续添加。
    显示:可以以表格形式输出所有通讯录里的记录。
    删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容。 查询:可以选择用姓名、电话、地址三种方式查询。
    修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、
    电子邮箱即可完成修改。
    保存:输入文件名(带后缀名)后,即可将通讯录信息保存到文件。

    *模块一:头文件,变量定义,函数的声明
    对系统所使用的变量进行定义,对函数进行声明。
    模块二:录入学生信息
    声明函数void readfile(),说明一个文件指针FILE fp打开文件"student.txt"。
    模块三:学生信息的查找
    声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找两个分支。
    模块四:学生信息的修改
    声明void mod ify()为学生信息修改函数,通过switch(item)设定所要修改的项目。模块五:刷新学生信息
    声明void sort()将录入学生系按升序排列,用的是“冒泡排序法”实现排序。
    模块六:增加学生信息
    声明void insert()插入学生信息,先通过判断学生是否存在,若
    否则继续输入,若是则跳出,重新循环。
    模块七:删除学生信息
    声明void del()实现学生信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。
    模块八:显示学生信息
    通过disp lay()函数输出学生信息模块九:保存信息
    通过fp=fopen(“student.txt”,“w”);写入信息。
    模块十:汇总学生数目
    通过number()函数将已有男女生及总学生数目汇总出来。
    模块十一:系统帮助
    通过help()函数帮助操作。
    模块十二:界面菜单
    通过switch(num)调用以上各函数,实现功能。

    1、程序采用模块化设计,各模块独立,可分块调试,个模块由主函数控制调用。
    2、其中主要模块(readfile()、seek()、mod ify())都是利用数组,指针来实现数据结构设计。
    3、数据库设计的任务是确定系统所需要的数据库。数据库是表的集合,通常一个系统只需一个数据库。设计人是根据需求分析,确定数据库所包含的表及字段、表间的关系,然后具体确定表的结构,包括字段名、字段类型及宽度,需要的索引等。根据对需求得到的数据结构进行分析,按数据输入输出的要求,确定表和表间的关系,进行验证、调整、修改、完善,使其能够实现用户对数据和功能的要求。通讯信息表包括以下字段:学号,姓名,年龄,性别,出生年月,地址,电话, E-mail。学号为主索引。
    2、主要函数
    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 函数
    流程图
    源代码

    #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();                                              
    typedef struct
    	{
    		long  score;               /*学号*/
    		char name[10];             /*姓名*/
    		char sex[8];			   /*性别*/
    		char adds[20];			   /*工作单位*/
    		char num[15];              /*电话号码*/
    		char email[20];			   /*邮箱*/
    	}Student;
    Student T[100];
    
    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');
    	}
     
    
    int Input(Student stu[])
    {
        int i=0;
        char sign;
    	while(sign!='n'&&sign!='N')
    	{
    		printf("\t学号:");
    		scanf("\t%d",&stu[n+i].score);
    		printf("\t姓名:");
    		scanf("\t%s",stu[n+i].name);
    		printf("\t性别:");
    		scanf("\t%s",stu[n+i].sex);
    		printf("\t电话号码:");
    		scanf("\t%s",stu[n+i].num);
    		printf("\t工作地址:");
    		scanf("\t%s",stu[n+i].adds);
    		printf("\t电子邮箱:");
    		scanf("\t%s",stu[n+i].email);
    		printf("\n\t是否继续添加?(Y/N)");
    		scanf("\t%c",&sign);
    		i++;
    	}
    	return(n+i);
    }
    
    int sum(Student stu[])
    {
    	int a=0,b=0,i;
    	for(i=0;i<n;i++)
    	{
    		if(strcmp(stu[i].sex,"男")==0) //比较函数
    		a++;
    	}
    	b=i-a;
    	printf("\t\t通讯录总人数为%d个,\n\t\t    其中男孩有%d个。\n",i,a);
    	printf("\t\t    其中女孩有%d个。\n",b);
    		return(n);
    		system("pause");
    }
    
    void Display(Student stu[])
    {
    	int i;
    	printf("------------------------------------------------------------------------------\n");  //显示的格式
    	printf("学号           姓名   性别  电话号码     工作单位        电子邮箱\n");
    	printf("------------------------------------------------------------------------------\n");
    	for(i=1;i<n+1;i++)
    		printf("%-14d%-8s%-6s%-13s%-15s%-15s\n",stu[i-1].score,stu[i-1].name,stu[i-1].sex,stu[i-1].num,stu[i-1].adds,stu[i-1].email);
    	           //-14d%  -表示左对齐 14 表示十四个字节的位置 不足用空格补齐
        printf("----------------------------------------------------------------------\n");
    	system("pause"); //系统函数停止。
    }
     
    int Delete(Student stu[])
    {
    	int i=0,j;
    	long m;
    	printf("\t请输入想删除记录中的学号:");
    	scanf("%d",&m);
    	while(stu[i].score!=m&&i<n)i++;
    	if(i==n)
    	{
    		printf("\t通讯录中没有此人!\n");
     
    	}
    	else
    	{
    	for(j=i;j<n-1;j++)//后一条记录覆盖前一条记录
    	{
    		strcpy(stu[j].num,stu[j+1].num);
    		strcpy(stu[j].name,stu[j+1].name);
    		strcpy(stu[j].sex,stu[j+1].sex);
    		strcpy(stu[j].adds,stu[j+1].adds);
    		strcpy(stu[j].email,stu[j+1].email);
    		stu[j].score=stu[j+1].score;
    	}
    	printf("\t\t\t已经成功删除!\n");
    	n=n-1;
    	}
    	return (n); }
      void Chick(Student stu[])
     {
        
        int m;
        printf("\t\n请选择查询方式:\n");        //printf输出查询格式
        printf("\t**************************************\n");//格式:
        printf("\t**1---姓名查询(不建议用这种方式查询)**\n");
        printf("\t**2--电话查询(建议使用)             **\n");
        printf("\t**3--地址查询                       **\n");
        printf("\t**************************************\n");
        printf("请选择:");
        scanf("%d",&m);
        while(m!=1&&m!=2&&m!=3)
        {
    		printf("输入错误,请重新选择:");
    		scanf("%d",&m);
    	}
     
    	if(m==1)                                 
    	{
    		char s[20];
    		int i=0;
    		printf("\t请输入想查询的姓名:");
    		scanf("\t%s",s);
       
       loop:while(strcmp(stu[i].name,s)!=0&&i<n )
    		{	                                  
    	    	i++;
    		}
    	   	if(i==n)
    		{
    			printf("\t通讯录中没有此人!\n");
    			return;
    		}
    		else
    		{
    			printf("\t学生学号: %d\n",stu[i].score);
    			printf("\t学生性别: %s\n",stu[i].sex);
    			printf("\t电话号码: %s\n",stu[i].num);
    			printf("\t工作地址: %s\n",stu[i].adds);
    			printf("\t电子邮箱: %s\n",stu[i].email);
    		}
    			if(i<n-1)                              
    			{
    				i++;
    				goto loop;
    			}
    	} ;
    	
         if(m==2)
    	 {
    		char s[20];
    		int i=0;
            printf("\t请输入想查询的电话:");
    		scanf("\t%s",s);
            while(strcmp(stu[i].num,s)!=0&&i<n) i++;
            if(i==n)
    		{
    			printf("\t通讯录中没有此人!\n");
    			return;
     
    		}
    		printf("\t学生学号: %d\n",stu[i].score);
    		printf("\t学生姓名: %s\n",stu[i].name);
    		printf("\t学生性别: %s\n",stu[i].sex);
    		printf("\t工作地址: %s\n",stu[i].adds);
    		printf("\t电子邮箱: %s\n",stu[i].email);
    	 } ;
     
    	if(m==3)
    	{
    		char s[20];
    		int i=0;
    		printf("\t请输入想查询的地址:");
    		scanf("\t%s",s);
    		while(strcmp(stu[i].adds,s)!=0&&i<n) i++;
    		if(i==n)
    		{
    			printf("\t通讯录中没有此人!\n");
    			return;
    		}
    		printf("\t学生学号: %d\n",stu[i].score);
    		printf("\t学生姓名: %s\n",stu[i].name);
    		printf("\t学生性别: %s\n",stu[i].sex);
    		printf("\t电话号码: %s\n",stu[i].num);
    		printf("\t电子邮箱: %s\n",stu[i].email);
    	} ;
    }
    void Change(Student stu[])
    {
    	int i=0;
    	long m;
    	printf("\t请输入想修改的记录中人的学号:");
    	scanf("%d",&m);
        while(stu[i].score!=m&&i<n)
    	i++;
    	if(i==n)
    	{
    		printf("\t通讯录中没有此人!\n");
    		return;
    	}
    		printf("\t学号:");
    		scanf("\t%d",&stu[i].score);
    		printf("\t姓名:");
    		scanf("\t%s",stu[i].name);
    		printf("\t性别:");
    		scanf("\t%s",stu[i].sex);
    		printf("\t电话号码:");
    		scanf("\t%s",stu[i].num);
    		printf("\t工作地址:");
    		scanf("\t%s",stu[i].adds);
    		printf("\t电子邮箱:");
    		scanf("\t%s",stu[i].email);
    		printf("\t修改成功!");
    }
    
    void WritetoText(Student stu[])
    {
    	int i=0;
    	FILE *fp;                                           
    	char filename[20];                                  
    	printf("\t保存到文件\n");                           
    	printf("\t请输入所保存的文件名:");
    	scanf("\t%s",filename);
    	if((fp=fopen(filename,"w"))==NULL)
    	{
    		printf("\t无法打开文件\n");
    		system("pause");
    		return;
    	}
    	while(i<n)
    	{
    		fprintf(fp,"%-13d%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",stu[i].score,stu[i].name,stu[i].sex,stu[i].num,stu[i].adds,stu[i].email);
    		i++;
    	}
    	fclose(fp);                                        
    	printf("保存成功!\n");
    }
    
    void Read(Student stu[])
    {
      FILE *fp;
      int i;
      char filename[20];
      printf("输入要读入的文件名:");
      scanf("\t%s",filename);
      if((fp=fopen(filename,"r"))==NULL)
        {
           printf("找不到%s文件!\n",filename);
           system("pause");
           exit(0);
        }
       n=0;
     // fseek(fp,0L,SEEK_SET);     
       for(i=0;i<100&&!feof(fp);i++)
        {
           fscanf(fp,"%d %s %s %s %s %s\n",&stu[i].score,stu[i].name,stu[i].sex,stu[i].num,stu[i].adds,stu[i].email);
           n++;
        }
     fclose(fp);
     printf("读取成功,文件%s中的所有信息已经读入!\n",filename);
    }
     
    void Menu()
    {
    		for(;; )
    	{
    		switch(Menu_Select())
    		{
    		
    		case 1:
    		printf("\n\t添加记录到通讯录\n");                    
    		n=Input(T);
    		break;
    		
    		case 2:
    		printf("\n\t\t\t    通讯录记录表\n");                   
    		Display(T);
    		break;
     
    		case 3:
    		printf("\n\t从通讯录中删除记录\n");
    		n=Delete(T);								              
    		printf("\t");
    		system("pause");							         
    		break;
     
    		case 4:
         	printf("\n\t在通讯录中查找记录\n");
    		Chick(T);									             
    		printf("\t");
    		system("pause");
    		break;
     
    		case 5:
    		printf("\n\t修改通讯录中的记录\n");
    		Change(T);										       
    		printf("\t");
    		system("pause");
    		break;
     
    		case 6:
    		printf("\n\t保存功能\n");
    		WritetoText(T);	                                         
    	    passwd();
    		printf("\t");
    		system("pause");
    		break;
     
    		case 7:
    		printf("\n\t读取功能\n");
    		Read(T);									                          
    		printf("\t");
    		system("pause");
    		break;
     
    		case 8:
    		printf("\n\t****学生通讯录统计人数****\n\n");                         
    		sum(T);
    		system("pause");
    		break;
     
    		case 9:
    		printf("\n\t****对学生文件进行解密处理****\n\n");                     
    		unpasswd();
    		system("pause");
    		break;
     
    		case 10:  //用C语言实现对计算机的开机 关机 重启  定时关机              
    		shut();
    		system("pause");
    		break;
    
    		case 0:
    		printf("\n\t\t\t欢迎您再次使用本程序!\n");                            
    		printf("\n\t\t本程序只适合个人娱乐沟通使用,谢绝商业用途。\n");
    		printf("\n\t\t\n");
    		system("pause");
    		exit(0);
    		}
    	}
    }
     
     
    
    void encfile(char *in_filename,char *pwd,char *out_filename)           
    {
    	FILE *fp1,*fp2;
        char ch;
    	int j=0;
    	int j0=0;
    	fp1=fopen(in_filename,"rb");
    	if(fp1==NULL)
    	{
    		printf("cannot open in-file.\n");
    		exit(1);                                                              
    	}
    	fp2=fopen(out_filename,"wb");
    	if(fp2==NULL)
    	{
    		printf("cannot open or create out-file.\n");
    		exit(1);                                                               
    	}
    	while(pwd[++j0]);                                     
    	ch=fgetc(fp1);                                      
    	/*加密算法开始*/
    	while(!feof(fp1))
    	{
    		fputc(ch^pwd[j>=j0?j=0:j++],fp2);              
    		ch=fgetc(fp1);                                   
    	}
    	printf("恭喜文件加密成功!\n");
    	printf("请牢记您的密码!\n");
    	fclose(fp1);/*关闭源文件*/
    	fclose(fp2);/*关闭目标文件*/
    }
    
    int  passwd()//加密调用函数
    {
    	char in_filename[30];  /*用户输入的要加密的文件名*/
    	char out_filename[30]; /*用户输入加密后保存的文件名*/
    	char pwd[8];           /*用来保存密码*/
    /*	printf("\t为了安全起见,这里要对文件做加密处理:\n");    //反复调试还是没有通过。。。。。
    	printf("\t请输入要加密文件的名字:");
    	scanf("\t s%",in_filename);
    	fflush(stdin);
    	printf("\t请输入加密后的文件名:");
    	scanf("\t s%",out_filename);
    	fflush(stdin);
    	printf("\t 请输入密码(不超过8位):");
    	scanf("\t s%",pwd);
    	fflush(stdin);
    */
       printf("\t为了安全起见,这里要对文件做加密处理:\n");
       printf("\t\n请输入需要加密文件的名字:\n");
       fflush(stdin);             
       gets(in_filename);      
       printf("\t\n请输入加密的密码:\n");
       gets(pwd);                
       printf("\t\n请输入加密后文件的名字\n");
       gets(out_filename);       
       encfile(in_filename,pwd,out_filename);
       return 0;
    }
     
    void unencfile(char *in_filename,char *pwd,char *out_filename) 
    {
    	FILE *fp1,*fp2;
        char ch;
    	int j=0;
    	int j0=0;
    	fp1=fopen(in_filename,"rb");
    	if(fp1==NULL)
    	{
    		printf("cannot open in-file.\n");
    		exit(1);      
    	}
    	fp2=fopen(out_filename,"wb");
    	if(fp2==NULL)
    	{
    		printf("cannot open or create out-file.\n");
    		exit(1);      
    	}
    	while(pwd[++j0]); 
    	ch=fgetc(fp1);   
    	while(!feof(fp1))
    	{
    		fputc(ch^pwd[j>=j0?j=0:j++],fp2);      
    		ch=fgetc(fp1);                         
    	}
    	printf("恭喜文件解密成功!\n");
    	printf("现在你可以对文件进行修改了!\n");
    	fclose(fp1);
    	fclose(fp2);
    }
     
    int  unpasswd()
    {
    	char in_filename[30];  
    	char out_filename[30]; 
    	char pwd[8];           
    /*	printf("\t为了安全起见,这里要对文件做解密处理:\n");
    	printf("\t请输入要解密文件的名字:");
    	scanf("\t s%",in_filename);
    	fflush(stdin);
    	printf("\t请输入解密后的文件名:");
    	scanf("\t s%",out_filename);
    	fflush(stdin);
    	printf("\t 请输入密码:");
    	scanf("\t s%",pwd);
    	fflush(stdin);
    */
       printf("\t\n请输入需要解密文件的名字:\n");
       fflush(stdin);
       gets(in_filename);         
       printf("\t\n请输入密码:\n");
       gets(pwd);                 
       printf("\t\n请输入解密后文件的名字\n");
       gets(out_filename);         
       unencfile(in_filename,pwd,out_filename);
       return 0;
    }
    /*
      C语言的关机程序,主要调用windows DOS 系统下的system 函数
     */
    int print()
    {
        printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n");
        printf("╔═══╧╧C语言关机程序 ╧╧═══╗\n");
        printf("║*************\n");
        printf("║**********计算机学院***********\n");
        printf("║*******************************\n");
        printf("║※1.实现10分钟内的定时关闭计算机║\n");
        printf("║※2.立即关闭计算机              ║\n");
        printf("║※3.注销计算机                 ║\n");
        printf("║※4.重启计算机                 ║\n");
        printf("║※0.退出系统                   ║\n");
        printf("╚════════════════╝\n");
        return 0;
    }
    void shut()
    {
    	char cmd[20]="shutdown -s -t ";
    	int c;
        char t[5]="0";
        system("title C语言关机程序        作者:FantasticTony");
        system("mode con cols=45 lines=25");
        system("color 0B");
        system("date /T");
        system("TIME /T");
        print();
        scanf("%d",&c);
        getchar();
        switch(c)
       {
        case 1:printf("您想在多少秒后自动关闭计算机?(0~600)\n");scanf("%s",t);system(strcat(cmd,t));break;
        case 2:system("shutdown -p");break;
        case 3:system("shutdown -l");break;
        case 4:system("shutdown -r");break;
        case 0:break;
        default:printf("Error!\n");
       }
        system("pause");
        exit(0);
    }
    
    int main()
    {
    	int flag1;
        char name[20]="lhy";
        char person[20];
    	char ch[7];
    	int i,n;
    	system("title   通讯录管理系统   作者:FantasticTony");
    	system("date /T");   
    	system("time /T");	
    	system("color 0b");
    	
        printf ("\t\t **********通讯录管理系统!**********\n\n");
    	printf ("\t\t\t\t用 户 登 录 \n\n");
        printf("\t\t\t\t username:");
        gets(person);
        flag1=strcmp(person,name);
        printf("\t\t\t\t password:");
        
    	for(i=0;i<3;i++)
    	{
    		for(n=0;n<6;n++)
    		{
    			ch[n] = getch();
    			printf("*");
    		}
    		printf("\n");
    		ch[n] = '\0';
    		if(0 == strcmp(ch,"201314"))
    		{
    			printf("\t\t\t\t管理员你好,欢迎你进入本系统!\n");
    			getch();
    			Menu();
    			break;
    		}
            else
            {
                printf("密码错误,请重新输入\n");
            }
    	}
    	if(i==3)
        {
            printf("你输入的错误的密码次数达到上限,系统自动退出!请联系管理员!");
            exit(1);
        } /*     gets(password1);
            flag2=strcmp(password,password1);
            if(flag1==0 && flag2==0)            
    		{
                printf("\t\t\t\t Welcome !\n\t\t\t\t Press any key to enter the menu!\n");
    			getch();
                Menu();
                break;
    		}
            else
    		{
                printf ("\t\t\t      Your username or password is wrong!\n\t\t\t\t Please input again!\n");
    			printf ("\t\t\t      pay attention you will hava %d  chance!         \n\n",4-h);
                h++;
    		}
    	}
       	if (h=5)                              
    	    printf ("对不起,您输入的用户名或密码有误,已被强制退出。\n");
    	    */
    	return 0;}
    

    运行截图:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 这是一个手机通讯录系统,运行时具有一般手机的通讯界面,添加联系人,删除联系人,查找联系人,联系人的排列方式等,难度适中,容易看懂,并且在此基础上适合自己进一步的发挥》》》
  • 山东交通学院课程设计报告 实习名称 通讯录设计 教学院部 山东 专业班级 学生姓名 学生学号 指导教师 完成时间 2011 年09月09日 报告成绩 评阅意见 评阅教师 日期 通讯录管理系统 一 设计需求 设计课题及要求 1建立...
  • c语言课程设计之通讯录及鸡兔同笼的代码源程序课程设计报告
  • 山东交通学院课程设计报告 实习名称 通讯录设计 教学院部 山东 专业班级 学生姓名 学生学号 指导教师 完成时间 2011年09月09日 扌报告成绩 评阅意见 评阅教师 日期 通讯录管理系统 一 设计需求 设计课题及要求 1 ...
  • 重庆科技学院 C语言程序设计 课程设计报告 学 院:电气与信息工程学院 专业班级电自专2011-01 学生姓名 蒋洪山 学 号:94 设计地点单位 I515 设计题目: 个人通讯录管理系统 完成日期2012年12月28日 指导教师评语 成绩...
  • 拿走直接用 代码都能运行 里面课程报告有我的个人信息 改一下就能用,不用客气 这个是我的课程实验的报告 以及源码 程序中不好理解的都有注释
  • 重庆科技学院 C 语言程序设计 课程设计报告 学 院_ 电气与信息工程学院 _ 专业班级 : 电自专 2011-01 学生姓名 : 蒋 洪 山 学 号: 2011630194 设计地点单位 _ I515 _ _ 设计题目 _个人通讯录管理系统 _ 完成日期 ...
  • 重庆科技学院 C 语言程序设计课程设计报告 学 院_电气与信息工程学院 _ 专业班级 : 电自专 2011-01 学生姓名 : 蒋 洪 山 学 号: 2011630194 设计地点单位 _ I515 _ _ 设计题目 _个人通讯录管理系统 _ 完成日期 2012 ...
  • 这是我学C语言那年做的课程设计,是一个通讯录管理程序。实现时用到了链表和文件。我顺便也把课程设计报告也分享给大家了,供大家参考,希望对大家学习C语言能有所帮助。

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

c语言通讯录程序设计报告

c语言 订阅