班级档案管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级档案管理系统
对一个有20个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、保存等操作的管理。
基本内容:
(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
(2)本系统显示这样的菜单:
请选择系统功能项:
a 学生基本信息录入
b 学生基本信息显示
c 学生基本信息保存
d学生基本信息修改(要求先输入密码)
e学生基本信息查询(1.按学号查询;2.按性别查询)
f 退出系统
(3)执行一个具体的功能之后,程序将重新显示菜单。
(4)将学生基本信息保存到文件中。
(5)进入系统之前要先输入密码。
#include
#include
#include
#include
#define N 3
struct student
{
char name[10];
char no[10];
char sex;
int age;
char bnote[100];
};
void print(bool menu)//打印基本信息{
if (!menu)
{
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) {
printf("打开文件失败!\n");
exit(0);
}
ch=fgetc(fp);
while (ch!=EOF&&i<6)
{
a[i] = ch;
ch=fgetc(fp);
i++;
}
a[6] = '\0';
if (!strcmp(pas,a))
{
return true;
}
else
{
printf("密码错误\n");
return false;
}
fclose(fp);
}
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,ar r[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)) {