做完c语言通讯录系统后的小结,c语言通讯录管理系统的总结
c语言通讯录管理系统的总结
c语言通讯录管理系统的总结
c语言课设管理系统总结
完成情况
防暴力输入
密码加密输入并删除
管理员和用户端两个端
管理员对用户的账号删除
注册用户
用户的账户名及密码修改
用户基本操作
管理员基本操作
存在的问题
管理员无法对用户的数据进行修改
未使用链表
由于给每一个用户都创建了一个文件,导致当用户过多时不好操作
一些写管理系统前的建议
在着手写代码之前一定先将思路理清楚,比如分为几个端,数据的如何存储,然后再按照数据存储的方式去写代码
对一些重复性较高的代码将其打包为函数,比如密码输入,界面等等你觉得重复率较高的的代码块,多用函数可以让你的代码看起来更加的简介易懂
先将一些与“整体性”关联不大的,但又经常遇到的函数写出来,界面,防暴力输入了等等,方便以后写的时候直接用、
下面是我的几个比较重要的代码块
密码输入函数
char* InputPassword()
{
char* password = (char*)malloc(20);
int c;
char c1;
int i = 0;
while (i < 6) {
while ((c = getch()) != '\r') {
if (c == 224) {
c1 = getch();
continue;
}
if (i < 20 && isprint(c)) {
password[i] = c;
i++;
putchar('*');
}
else if (i > 0 && c == '\b') {
i--;
putchar('\b');
putchar(' ');
putchar('\b');
}
}
password[i] = '\0';
}
return password;
}
这里由于password是用malloc分配的, 所以 使用这个函数时直接定义一个指针去接收函数返回值就可以啦
eg:
char * password = intputpassowrd();
判断选项函数
int judgeselect(int mix, int max) // min 和 max 为可选择的区间
{
char num[100]; //防止输入字符而导致程序崩溃
printf("请输入选项\n>");
fflush(stdin);
scanf("%s", num);
while (!inputjudge(num[0], mix, max) || num[1] != '\0') {
printf("输入有误!请重新输入\n>");
fflush(stdin);
scanf("%s", num);
}
return num[0] - '0';
}
顺便附上inputjudge
int inputjudge(char n, int min, int max) {
n -= '0';
if (n >= min && n <= max) {
return 1;
}
return 0;
}
这个是利用scanf返回值
int judgeselect(int min, int max) // min 和 max 为可选择的区间
{
int select;
printf("请输入选项\n>");
int n = scanf("%d", &select);
while(n == 0 || n < min || n > max){
printf("您的输入有误,请重新输入!\n");
fflush(stdin);
n = scanf("%d", &select);
}
return select;
}
c语言通讯录管理系统的总结相关教程
做完c语言通讯录系统后的小结,c语言通讯录管理系统的总结相关推荐
- 如何让一个vue项目支持多语言(vue-i18n) 打包后依然可以修改语言包 并且修改后不需要重新打包
如何让一个vue项目支持多语言(vue-i18n) 1.安装:npm install vue-i18n --save 2.在main.js中引入vue-i18n import VueI18n from ...
- linux语言windows 语言,作业系统一般用什么编码语言程式设计?如:Windows,Linux,是组合语言吗?还是自己开发的程式码?...
作业系统一般用什么编码语言程式设计?如:Windows,Linux,是组合语言吗?还是自己开发的程式码?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内 ...
- c语言排队系统,【分享】C语言 银行取票排队系统
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 void call() //客服呼叫客户 { int mywin;//客服所在窗口号 自动分配窗口改为手工分配 char mywinchar;//字符型的 ...
- c语言scanf在%后加.意义,C语言scanf函数详细解释
while(scanf("%d,%d",&a,&b)!=2)fflush(stdin); c=a+b; printf("%d+%d=%d",a, ...
- c语言选课系统课程设计,用C语言写一个 学生选课系统
匿名用户 1级 2009-07-05 回答 #include #include int N1,N2,kk1,kk2,kk3; struct couse * head1; struct student ...
- (C语言设计系统)利用EasyX完成学校工资管理系统
头文件:CommonData.h,用来定义本系统中所用到的各种重要的数据结构 /*头文件:CommonData.h,用来定义本系统中所用到的各种重要的数据结构*/ #ifndef __COMMONDA ...
- matlab语言帮助系统题目,西电 matlab语言考试题2009年
西安电子科技大学 考试时间 90 分钟 2009年MATLAB语言试题 1.考试形式:闭卷: 2.本试卷共七大题,满分100分. 班级学号姓名任课教师 一.基本知识填空题(每空1分,共20分) 1.M ...
- linux vim go语言,CentOS7系统基于Vim8搭建Go语言开发环境
主要是在vim中通过vundle来安装vim-go插件.gocode插件,支持代码高亮.代码提示以及语法检查等功能 安装Golang 1.11.2 curl -Lo golang.tar.gz htt ...
- c语言图像系统,JPEG2000核心编码C语言实现及图像验证系统设计
摘要: JPEG2000是由ISO/ITU-T制定的新一代的静止图像压缩标准.与JPEG不同,JPEG2000基于离散小波变换,采用嵌入式编码技术(EBCOT),生成的码流有较强的截断和优化功能,压缩 ...
- c语言药房系统书写指导书,C语言药房管理系统[文书借鉴]
<C语言药房管理系统[文书借鉴]>由会员分享,可在线阅读,更多相关<C语言药房管理系统[文书借鉴](16页珍藏版)>请在人人文库网上搜索. 1.include#include# ...
最新文章
- 解决Echarts窗口自适应失效问题
- Android KeyStore流程
- laravel mysql 视图_Laravel框架控制器,视图及模型操作图文详解
- numpy产生一个大于0的随机数_Numpy中常用随机函数的总结
- jquery extend中
- 电脑关机很慢是怎么回事
- jQuery控制checkbox选中状态但是不显示选中
- Oracle中用于发送邮件的存储过程
- 《那些花儿》范玮琪版
- 火狐html5播放器,可能用户已经发现你在火狐内建HTML5音视频播放器
- Mybatis——拦截器Interceptor
- mysql 建表 game_RPG游戏数据库设计
- python爬取网页数据总结_python之爬取网页数据总结(一)
- 机房环动监控系统作用
- 如何阻止搜索引擎收录指定网页
- STM32普通IO模拟SPI和W25Q32通信调试
- 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例52
- CSS3 深海游弋的鱼群
- js实现div的碰壁反弹效果
- 模型压缩,裁剪,量化
热门文章
- Ace Admin前端框架笔记二导航栏Navba
- 机顶盒改成无线打印服务器,【当贝市场】如何将网络机顶盒改装成无线路由器...
- 水系图一般在哪里找得到_虹吸雨水排水系统相较于传统重力排水有哪些优点?...
- Qt5下载与安装(Windows版)
- scratch---植物大战僵尸游戏实现,完整代码分享,多种僵尸与植物特效都有素材包!
- MySQL基础 — 常用命令
- 西门子200程序案例集
- JavaWbe中文乱码解决方案
- java voip 的sip服务器搭建_用树莓派搭建低成本VOIP服务器与电话系统
- [sipdroid]3CX voip 服务器的搭建教程---个人实践版