班级档案管理系统c课程设计语言,求助课程设计:班级档案管理系统:为什么文件保存有乱码...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//****************************************************************************
//**** 说明:密码所在的文件位于c盘,文件名为1.txt。
//**** 学生基本信息最好保存在C盘,文件名为student.txt。
//****************************************************************************
#include
#include
#include
#define N 1//测试数据学生人数为10个
struct student //设定一个内容为学生信息的结构体
{
char name[10];//名字的长度允许最大为十
char no[10];//学号的长度允许最大为十
char sex;
int age;//定义年龄为整型
char bnote[100];//备注的长度为允许最大100
};
void print(bool menu)//打印基本信息
{
if (!menu)//主菜单
{printf(" \t \t \t (欢迎使用本班级档案管理系统)\t\t\t\t\n");
printf("★*★*★*★*★*★*★*★*★*★ 欢迎进入我们的系统 ★*★*★*★*★*★*★*★*★*★\n\n");
printf("学生基本信息录入 ,press 1\n");
}
else
{
printf("学生基本信息显示 ,press 2\n");
printf("学生基本信息保存 ,press 3\n");
printf("学生基本信息删除 ,press 4\n");
printf("学生基本信息修改 ,press 5\n");
printf("学生基本信息查询 ,press 6\n");
}
printf("退出学生信息系统 ,press 7\n");
}
bool Check(char pas[6])//密码验证
{
FILE *fp;//文件类型指针型变量
char ch;
char a[7]={" "};
int i = 0;
if ((fp=fopen("c:\\1.txt","r"))==NULL) //在C盘中建立文件名为1.txt的文档来存放密码
{
printf("打开文件失败!\n");
exit(0);
}
ch=fgetc(fp);
while (ch!=EOF&&i<6)//循环控制
{
a[i] = ch;
ch=fgetc(fp);
i++;//自加1
}
a[6] = '\0';//正常结束的标志
if (!strcmp(pas,a))
{
return true;
}
else
{
printf("密码错误\n");
return false;
}
fclose(fp);//关闭一个流,原型是int fclose(FILE*stream)stream为流指针,返回EOF时表示出错。
}
void GetInfo(struct student *arr,int n)//学生基本信息录入
{
for (int i = 0;i
{
printf("输入学生的基本信息:name no sex age bnote\n");
scanf("%s %s %c %d %s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);
}
}
void Display(struct student* arr,int n)//学生基本信息显示
{
printf("学生信息: Name NO Sex age Note\n");
for (int i = 0;i
{
printf("%15s%15s%15c%15d%15s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);
}
}
void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt
{
FILE * fp;
fp= fopen("c:\\student.txt","w");
if (fp == NULL)
{
printf("文件不存在!\n");
exit(0);
}
fwrite(arr,sizeof(struct student)*n,n,fp);
fclose(fp);
}
void Modfiy(struct student* arr,int n)//学生基本信息修改
{
char number[10];
bool flag=false;
char pass[6];
printf("请输入密码:\n");
scanf("%s",pass);
if (Check(pass))
{
printf("修改学生信息:\n");
printf("请输入学号:\n");
scanf("%s",number);
for (int i =0;i
{
if (!strcmp(number,arr[i].no))
{
printf("infor: name no sex age note\n");
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
printf("please input information:\n");
scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);
Save(arr,n);
flag = true;//设置标志
}
}
if (flag == false)//判断标志
{
printf("该学生不存在!:\n");
}
}
}
void Delete(struct student* arr,int n)//学生基本信息删除
{
char number[10];
bool flag=false;
printf("Delete information:\n");
printf("please input the no:\n");
scanf("%s",number);
for (int i =0;i
{
if (!strcmp(number,arr[i].no))
{
strcpy(arr[i].name," ");
strcpy(arr[i].no," ");
strcpy(arr[i].bnote," ");
arr[i].sex = ' ';
arr[i].age = 0;
Save(arr,n);
flag = true;
}
}
if (flag == true)
{
printf("该学生不存在!:\n");
}
}
void Search(struct student* arr,int n)//学生基本信息查询
{
int temp,i;
bool flag=false;
printf("---------------通过学号查询,press 1-------------\n");
printf("---------------通过姓名查询,press 2-----------\n");
printf("---------------通过性别查询,press 3------------\n");
printf("---------------通过年龄查询,press 4------------\n");
printf("---------------退出,press 5 ------------\n");
scanf("%d",&temp);
switch (temp)
{
case 1://按照学号查询
{
char num[10];
printf("请输入学号:\n");
scanf("%s",num);
for ( i =0;i
{
if (!strcmp(num,arr[i].no))
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
case 2://按照名字查询
{
char num[10];
printf("please input name:\n");
scanf("%s",num);
for ( i =0;i
{
if (!strcmp(num,arr[i].name))
{
printf("%12s%12s%12c%12d%12s",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
case 3://按照性别查询
{
char ch;
printf("请输入性别:\n");
//scanf("%c",&ch);
ch = getchar();
for ( i =0;i
{
if (ch == arr[i].sex)
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("t该学生不存在.\n");
}
}
break;
case 4://按照年龄查询
{
char num_age;
printf("请输入年龄:\n");
scanf("%d",&num_age);
for ( i =0;i
{
if (num_age == arr[i].age)
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
default:
break;
}
}
int main()
{
struct student arr[N];
char ps[6];
bool flag =false;
printf("请输入密码:\n");
scanf("%s",ps);
flag = Check(ps);
if (flag)
{
int select;
print(false);
scanf("%d",&select);
while (0
{
switch (select)
{
case 1:
GetInfo(arr,N);
print(true);
break;//循环控制
case 2:
Display(arr,N);
print(true);
break;//循环控制
case 3:
Save(arr,N);
print(true);
break;//循环控制
case 4:
Delete(arr,N);
print(true);
break;//循环控制
case 5:
Modfiy(arr,N);
print(true);
break;//循环控制
case 6:
Search(arr,N);
print(true);
break;//循环控制
default:
break;
}
printf("请选择:\n");
scanf("%d",&select);
}
}
}
班级档案管理系统c课程设计语言,求助课程设计:班级档案管理系统:为什么文件保存有乱码...相关推荐
- c语言程序设计创新课程,C语言程序设计课程创新和实践.doc
C语言程序设计课程创新和实践 摘要:通过对c语言程序设计课程的创新与实践, 研究和探索培养高职学生创新能力的课程设计和教育方法, 探索课程与创新实践教育结合的教育模式,从而实现具有高 素质的职业技术人 ...
- html是一种网页设计语言,html网页设计教程
网页设计--根据企业希望向浏览者传递的信息(包括产品.服务.理念.文化),进行网站功能策划,然后进行的页面设计美化工作.以下是有学习啦小编为大家整理的html网页设计教程,希望能帮到你. html网页 ...
- java开发的图片管理系统,一个使用Java语言编写的Web本地照片管理系统
jAlbum 这是一个使用Java语言编写的本地照片管理系统.使用BS架构.服务端采用Servlet提供RESTful风格接口和动态页面供浏览器直接访问,集成照片Exif信息处理.视频流信息处理和人像 ...
- 校园卡管理系统实验报告c语言,基于C++的校园一卡通管理系统
一.需求分析 随着学校管理现代化方向意识的不断增强,基于卡片应用的计算机管理系统已日益普及,学生持有传统的多种卡片和不同证件已司空见惯.然而,随着各种卡证的管理功能不断发展,由于传统卡功能的局限,常常 ...
- vs2010c语言通讯录读取,用C语言实现通讯录(二、动态版+文件保存信息)
之前写的静态版的通讯录,只能存储固定数目大小的联系人信息,现在要升级为动态版的,这样只要容量不够的话只需自动扩容就可以啦!而且之前版本的信息每次退出程序后不会保存,每次需要重新录入,加入文件操作后可以 ...
- c语言个人通讯录管理系统实验报告_C语言个人通讯录管理系统课程设计报告
语言程序设计> C <课程设计报告 _________:__________C 设计题目语言个人通讯录管理系统 摘要 本次课程设计地题目为个人通讯录管理系统, 要求将程序中所输入地联系人姓 ...
- C语言程序设计课程设计题目[2023-02-11]
C语言程序设计课程设计题目[2023-02-11] C语言程序设计课程设计题目 选题说明: 1.以下题目有部分可能功能相近,请同学们可从不同的角度来分析实现. 2.题目描述和要求仅供参考,同学们可以查 ...
- c语言谢延红主编答案,C语言程序设计课程改革与实践.doc
C语言程序设计课程改革与实践 C语言程序设计课程改革与实践 [摘要]针对C语言程序设计课程教学效果差的原因,结合"研究式学习"."CDIO教学模式"." ...
- 双语的c语言教程,C语言程序设计课程双语教学探索与实践
摘要:针对我国高校中双语教学的现状,阐述在C语言程序设计课程中开展双语教学的可能性和可行性,分析教学过程中的关键环节,从开展条件.教学组织.效果评价等方面进行探讨,并对双语教学实践中遇到的问题进行分析 ...
最新文章
- 学习vulkan的几个有用的网址
- vb.net 文本框为空提示,一键清空文本框所有内容
- Redis在Windows+linux平台下的安装配置(转)
- 打印user在指定时间段内做过的personalization detail
- 常用 AT 命令手册
- 超绝万圣节主题设计海报背景,搞节日气氛靠它没问题!
- Google 的论坛
- java 局部内部类
- ROS学习记录:在ROS的Rviz下完成摄像头的视频显示
- Java文件编码自动转换工具类(只改变编码,不会改变文件内容)
- 歌华链刷 openwrt 记录
- linux 蓝牙驱动 chi,linux下的蓝牙驱动程序详解
- 使用Git上传项目到Gitgub
- Excel作图-制作复合饼图
- visio付款流程图_visio画程序流程图(转)
- 利用Backtrader进行期权回测之五:用backtrader_plotting查看回测结果
- android联想云服务,联想云服务手机客户端
- IoT技术概览(postscapes)
- java的方法decompress_Java LZ4SafeDecompressor.decompress方法代码示例
- @Transactional(propagation)