-
2021-05-19 02:20:35
士大夫士大夫
#include #include #include #define SIZE sizeof(NODE) typedef struct node { char name[20]; char phone_num[20]; char add[50]; struct node *next.
最好不用太多链表,尽量用数组来做
1 设计数据结构,确定存储方式。2 设计相关界面。3 实现输入通讯录接口。4 实现保存及读取通讯录接口。5 实现查询通讯录接口。6 实现修改通讯录接口。7 实现删除通.
c语言的作业,用c语言编写,学生通讯录,需要程序、以及流程图,望哪位大。
这有一个,不知道你还用不用,我先贴上吧……(图我没法贴)#include #include #define Back 8 #define Enter 13 #define Esc 27#define home 71 #.
#include "stdio.h"#include "stdlib.h" #include "string.h" #define N 3 typedef . printf("1、创建通讯录\n"); printf("2、插入通讯录\n"); printf("3、删除通讯录\n"); .
要求查询名字 城市 班级“陈”“重庆”“一班”
#include #include #include //包含system函数头文件#define LEN sizeof(struct student). printf("\n\t\t\t☆★欢迎使用阿冬子通讯录☆★"); printf("\n\n\t☆★选择你需要操作的.
1、设一个通信录由以下几项数据信息构成: 数据项 类型 姓名 字符串 地址 .
/*编程建立一通讯簿,存放有姓名、电话号码、住址,然后对通信簿进行查找、添加、修改及删除。*/#includestructperson{charname[8];chartel[15];charaddr[50];};.
题目11:学生通讯录管理系统设计 设计一个学生通信录,学生通迅录数据信。
//简单的学生通讯录管理系统#include#include#include#include struct record { char name[20]; //姓名 char phone[12]; //电话 char .
编辑通讯录 5.保存刚才的操作并退出 还可以更多。 使用到的函数及其功能说。
C语言编写一个通讯录管理系统的源代码如下:#include#include#include/*定义保存通迅录的信息*/ structfriends { charname[20];/*名字*/ .
我这里有个通讯录,主要是学生通讯录不过都差不多是这个内容...没有错误,运行可以直接通过!!
#include #include #include #define maxlen 15 struct persons { int num; char name[20]. printf("\n\n\n\n\t 欢迎来到通讯录!"); printf("\n\n\t\t 请选择操作:"); printf("\n\t.
改了一下已有的程序,虽然长了点,你看行吗!#include #include . printf("1.重建立通信录;\n"); printf("2.查看通信录;\n"); printf("3.删除成员;.
具体功能: (1) 输入功能: (2) 显示功能: (3) 查找功能: (4) 修改。
课程设计名称: 数据结构课程设计 专 业 班 级 : 计科**** 学 生 姓 名 : *** 学 号 . D 指导教师 同组姓名 无 主要内容 学习掌握并熟练运用C语言进行程序设计; 针对具.
要求 1内容包括姓名单位电话等 记录个数为N(N大于10) 2该系统具有对记录的。
请参考http://iso9001.blog.hexun.com/4381929_d.html#include #include <. if printf .>
C语言通讯录管理系统修改. 输入记录模块从键盘逐个输入每个人的电话信息。
#include "stdio.h"#include "windows.h"#include "stdlib.h"void menu(){ . printf("\t\t* 》》》》》》》》》通讯录《《《《《《《《 *\n"); printf("\t\t* *\n"); printf(".
程序运行时采用链表结构存储通信录信息。退出时,采用文件存储这些信息。 。
望采纳 #include #include#include typedef struct { char score; /*编号*/ char name[10. //登陆函数 logon() {printf("\n\n\n\t\t\t 通讯录管理系统\n\n"); printf("\t\t\t 版本号:1.0.
需要一个C语言的通信录代码,不用太复杂,最好只是简单些的函数,不用太。
这个行么~ 设一个通信录由以下几项数据信息构成:数据项类型姓名字符串地址字符串邮政编码字符串电话号码字符串 试为通信录数据定义类型和定义通信录变量, 实现.
设计一个通讯录管理系统,每条记录包括:联系人姓名、性别、电话、住址、。
#include#include#define MAX 100 struct addr{ char name[30]; char street[40]; char city[20]; char state[3]; unsigned long int zip; }addr_list[MAX]; void init_list(void); int menu_.
题目:通讯录 要求如下: 基本功能: a.添加个人信息 b.查询个人信息 c.删除。
以前写了一个简单的:#include <stdio.h> #include <stdlib.h>; /*与malloc.h. typedef struct lnode{ /*通讯录结构中结点的定义*/ int num; char name[20]; char e_addr.
我有:/*10.3.2源程序*//******头文件(.h)***********/#include "stdio.h" /*I/O函数*/#include "stdlib.h" /*标准库函数*/#include "string.h"/*字符串函数*/#include "ctype.h.
在线等 就是一个简单的通讯录全部要加上注释 在线等 你们直接留邮箱我发给。
注释了很多,应该能很容易看懂了,辛苦打来,望采纳#include//包含头文件stdio.h#. //定义文件指针fp if((fp=fopen("通讯录.txt","a"))==NULL)//如果建立通讯录.txt不成.
更多相关内容 -
班级通讯录管理系统C语言源码.txt
2019-10-13 07:52:05C语言、班级通讯录管理系统、文件存储、非数据库存储。类调用的例子。 -
个人通讯录管理系统 c语言课程设计.zip
2020-08-31 17:05:13c语言课程设计 《面向过程程序设计(C语言)》课程设计指导书 一、目的要求 《面向过程程序设计(C语言)》课程设计是计算机科学与技术专业集中...掌握程序的局部测试、调试方法,建立程序系统调试的基本概念和思想, -
个人通讯录管理系统C语言课程设计报告.doc
2021-09-30 20:19:55个人通讯录管理系统C语言课程设计报告.doc -
个人通讯录管理系统C语言课程设计报告.docx
2020-08-18 06:51:35重庆科技学院 C语言程序设计 课程设计报告 学 院:电气与信息工程学院 专业班级电自专2011-01 学生姓名 蒋洪山 学 号:94 设计地点单位 I515 设计题目: 个人通讯录管理系统 完成日期2012年12月28日 指导教师评语 成绩... -
个人通讯录管理系统c语言课程设计报告.pdf
2020-07-14 22:14:28重庆科技学院 C 语言程序设计 课程设计报告 学 院_ 电气与信息工程学院 _ 专业班级 : 电自专 2011-01 学生姓名 : 蒋 洪 山 学 号: 2011630194 设计地点单位 _ I515 _ _ 设计题目 _个人通讯录管理系统 _ 完成日期 ... -
通讯录管理系统c语言
2013-05-15 11:02:37课程设计,通讯录管理系统,c语言版本,使用文件管理 -
个人通讯录管理系统C语言课程设计报告(内有详细设计过程与源码)
2018-07-28 20:42:05大一时写的个人通讯录管理系统,这是文档,不想把纯代码发出来,希望你能学习里面的设计思路,然后自己编码.参照文档设计思路,相信你可以的. -
基于C语言实现个人通讯录管理系统
2020-12-17 03:09:17之前利用C语言完成了一个关于个人通讯录管理系统的课题,主要是关于联系人的添加、查找、删除、修改、输出以及文件的写入与读出,还有一个甜点功能—模拟通话,它的实现原理也很容易理解,文章末尾会介绍到。... -
通讯录管理系统C语言课程设计大作业 (2).docx
2022-06-20 14:53:33通讯录管理系统C语言课程设计大作业 (2).docx通讯录管理系统C语言课程设计大作业 (2).docx通讯录管理系统C语言课程设计大作业 (2).docx通讯录管理系统C语言课程设计大作业 (2).docx通讯录管理系统C语言课程设计大... -
通讯录管理系统C语言课程设计大作业 (2).pdf
2022-06-20 15:29:37通讯录管理系统C语言课程设计大作业 (2).pdf通讯录管理系统C语言课程设计大作业 (2).pdf通讯录管理系统C语言课程设计大作业 (2).pdf通讯录管理系统C语言课程设计大作业 (2).pdf通讯录管理系统C语言课程设计大作业 (2... -
通讯录管理系统 C语言版
2015-06-14 15:38:31基于C语言的通讯录管理系统 基本功能: a) 显示菜单 b) 显示:按照一定的顺序显示出通讯录中的记录。 c) 添加:用户可以根据自己的需向通讯录中添加新的记录(记录内容包括姓名和号码) d) 删除:用户可以定位到... -
C语言实现个人通讯录管理系统
2020-08-25 06:32:11主要为大家详细介绍了C语言实现个人通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
通讯录管理系统C语言课程设计大作业.pdf
2022-06-20 15:09:20通讯录管理系统C语言课程设计大作业.pdf通讯录管理系统C语言课程设计大作业.pdf通讯录管理系统C语言课程设计大作业.pdf通讯录管理系统C语言课程设计大作业.pdf通讯录管理系统C语言课程设计大作业.pdf通讯录管理系统... -
通讯录管理系统C语言课程设计大作业.docx
2022-06-20 14:54:11通讯录管理系统C语言课程设计大作业.docx通讯录管理系统C语言课程设计大作业.docx通讯录管理系统C语言课程设计大作业.docx通讯录管理系统C语言课程设计大作业.docx通讯录管理系统C语言课程设计大作业.docx通讯录管理... -
C语言通讯录管理系统完整版
2021-01-20 07:08:56C语言实现了通讯录的录入信息、保存信息、插入、删除、排序、查找、单个显示等功能。。 完整的代码如下: #include #include <malloc> //得到指向大小为Size的内存区域的首字节的指针// #include #include ... -
通讯录管理系统 C语言课程设计实验报告
2021-04-08 18:38:54通讯录管理系统C语言课程设计 一、实验目的 1.巩固和加深学生对C语言课程的基本知识的理解和掌握 2.掌握C语言编程和程序调试的基本技能 3.利用C语言进行基本的软件设计 4.掌握书写程序设计说明文档的能力 5.提高运用...通讯录管理系统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;}
运行截图:
-
个人通讯录管理系统C语言版(含源代码和报告)
2021-04-04 12:26:26个人通讯录管理系统 1、前言 本人2019级学生,某天闲来无事偶然翻着自己的文件夹,发现自己在大一上学期期末做的C语言课程设计(这是大学的第一个课程设计),时间已悄然过去了一年多了。打开文件看着源代码,发现...个人通讯录管理系统
1、前言
本人2019级学生,某天闲来无事偶然翻着自己的文件夹,发现自己在大一上学期期末做的C语言课程设计(这是大学的第一个课程设计),时间已悄然过去了一年多了。打开文件看着源代码,发现自己在这一年多的时间内还是改变了许多。看着当时写的C语言,那些函数命名、变量命名以及函数的复用性,确实很不专业,不过那一个星期的时间确实是很难忘记,当时学了C语言和一点数据结构,然后就是默默地写代码、出BUG、打断点调试、解决BUG、然后在次重复……当时一共写了1000多行代码(现在应该五六百行甚至更少就能做出同样效果)。虽然这个课程设计在现在看来是那么简单,但是它对于我却有着不一样的意义。
所以我想把它分享一下,也许能帮到别人,但是我还是再说明一下,这个程序中的命名不是很专业,而且有多冗余的代码,基本功能健全但不是很完善,存在着一些问题,所以觉得有帮助想用的话,自己还是再改良改良。我就先叨逼叨这么多了……
2、题目
个人通讯录管理系统
建立一通讯录,输入姓名、手机号码、单位等信息,然后对通讯录进行显示、查找、添加、修改及删除等操作。
功能要求:
- 通讯录的每一条信息包括姓名、单位、手机号码、E-mail、QQ等;
- 输入功能要求可以一次完成若干条信息的输入,并存入文件;
- 显示功能要求完成全部通讯录信息的显示;
- 查找功能要求可以按姓名、手机号码等多种方式进行查找;
- 增加、删除、修改功能要求完成通讯录信息的多种更新。
3、实现
由于代码量太多,请自行到《个人通讯录管理系统C语言.zip》下载,压缩内包含"源代码+报告",源码大概1000多行,报告大概9000字。
4、效果展示
简单截几张图介绍一下。
4.1、初始化界面
4.2、菜单界面
4.3、退出界面
最后再次附上:下载地址
-
个人通讯录管理系统C语言版(源码+报告)
2022-04-09 15:13:22大一时做的课程设计,基于链表的个人通讯录管理系统(C语言版),压缩包内包含源代码和报告,代码量大概1000多行,能实现基本的增删改查,支持文件写入和输出,界面非常美观。 个人通讯录管理系统:建立一通讯录,... -
通讯录管理系统C语言课程设计
2022-06-15 18:48:00)通讯录管理系统 1、问题描述 通讯录属性有:编号、姓名、性别、通讯地址、邮箱地址、电话等信息和相关的对属性做操作的行为。主要完成对通讯录的简单管理。 2、功能要求 (1)添加功能:程序能够添加通讯录信息,...(只列出了大体的框架,需要源码的朋友请私信联系。)
通讯录管理系统
1、问题描述
通讯录属性有:编号、姓名、性别、通讯地址、邮箱地址、电话等信息和相关的对属性做操作的行为。主要完成对通讯录的简单管理。
2、功能要求
(1)添加功能:程序能够添加通讯录信息,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据姓名、电话、邮箱地址等信息对已添加的信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:可显示当前系统中所有通讯信息,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的通讯记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。
(6)保存功能:可将当前系统中通讯录记录存入文件中,存入方式任意。
(7)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。#include <stdio.h> #include <stdlib.h> #include <string.h> #define FILENAME "address.txt" using namespace std; struct per/*结构体变量*/ { char num[10];/*编号*/ char name[10];/*姓名*/ char x[5];/*性别*/ char address[100];/*地址*/ char email[20];/*邮箱*/ char phone[20];/*电话*/ }; void menu();/*主菜单*/ void address_add();/*添加功能*/ void address_query();/*查询功能*/ void address_display();/*显示功能*/ void address_modify();/*编辑功能*/ void address_delate();/*删除功能*/ void writeToText();/*保存功能*/ void address_read();/*读取功能*/ int address_exists(char b[20],struct per *p);/*判断编号是否唯一*/ void address_append(FILE *fp,struct per *p);/*添加数据格式*/ void menu(){/*主菜单代码*/ int a=0; system("cls"); printf("=======通讯录管理系统=======\n"); printf("=======主菜单=======\n"); printf("1.添加通讯录信息\n"); printf("2.查询通讯录信息\n"); printf("3.显示通讯录信息\n"); printf("4.编辑通讯录信息\n"); printf("5.删除通讯录信息\n"); printf("6.保存通讯录信息\n"); printf("7.读取通讯录信息\n"); printf("0.退出\n"); printf("==============================\n"); printf("请选择(0-7)\n"); scanf("%d",&a); switch(a){ case 1: { address_add(); break; } case 2:{ address_query(); break; } case 3:{ address_display(); break; } case 4:{ address_modify(); break; } case 5:{ address_delate(); break; } case 6:{ writeToText(); break; } case 7:{ address_read(); break; } default:{ exit(0);/*正常退出*/ break; } } }
(只列出了大体的框架,需要源码的朋友请私信联系。) -
C语言实现通讯录管理系统
2021-01-08 19:31:54设计与实现一个通讯录管理系统,实现按姓名、电话号、QQ 号查找。 内付代码,运行示例和相关算法流程图。 -
《通讯录管理系统c语言.doc
2022-07-01 19:06:54《通讯录管理系统c语言 -
通讯录管理系统c语言链表实现
2021-04-11 17:43:56大一的课设 用的链表实现的 -
[考试]通讯录管理系统 C语言.doc
2022-07-01 17:26:22[考试]通讯录管理系统 C语言 -
个人通讯录管理系统C语言源程序(优秀版).doc
2021-05-19 12:30:43#include /* 头文件 */#include // 包含最常用的系统函数#include // 关于字符数组的函数定义的头文件#include //控制台输入输出//定义结构体struct tongxunlu /*定义通讯录结构体变量 */{char xingming[20];... -
个人通讯录管理系统 c语言
2013-07-02 17:45:57用c语言来完成个人通讯录管理系统,c语言开发的一个小项目 -
个人通讯录管理系统C语言程序设计课程设计报告.doc
2022-06-15 01:11:10个人通讯录管理系统C语言程序设计课程设计报告 -
《通讯录管理系统c语言》实训报告含代码.doc
2022-07-01 19:07:22《通讯录管理系统c语言》实训报告含代码