#include <stdio.h>
#include <string.h>
#include<stdlib.h>
struct student
{
int num;
char name[20];
int age;
char sex[4];
char note[30];
};
int n=0;
struct student stu[100];
struct student *p;
bool Check(char ps[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(ps,a))
{
return true;
}
else
{
printf("密码错误\n");
return false;
}
fclose(fp);
}
void Save(struct student *arr,int n)//学生基本信息保存
{
FILE *fp;
fp=fopen("c:\\student.txt","w+");
if(fp==NULL)
{
printf("文件不存在!\n");
exit(0);
}
fwrite(stu,sizeof(struct student)*n,n,fp);
fclose(fp);
}
void Get()//录入函数
{
int y;
if(n==0)
p=stu;
do
{
printf("--------------------\n");
printf("请输入学生的学号:");
scanf("%d",&p->num);
printf("请输入学生的姓名:");
scanf("%s",p->name);
printf("请输入学生的年龄:");
scanf("%d",&p->age);
printf("请输入学生的性别:");
scanf("%s",p->sex);
printf("请输入备注:");
scanf("%s",p->note);
n++;
p++;
printf("\n1.继续输入.\n0.输入完毕.\n");
printf("请选择:");
scanf("%d",&y);
}
while(y==1);
printf("提示:输入完毕!你一共输入%d个\n",n);
}
void Display()//浏览函数
{
int i;
if(n!=0)
{
printf("学生总数:%d\n", n);
printf("学号\t姓名\t年龄\t性别\t备注\n");
printf("-----------------------------------------------------\n");
for(i=0;i<n;i++)
printf("%d\t%s\t%d\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].note);
}
else printf("提示:无学生数据,请输入数据!");
}
void fileread()//??????????????
{
int i;
FILE*fp;
if((fp=fopen("c:\\student.txt","r"))==NULL)
{
printf("文件不存在!\n");
exit(0);
}
for(i=0;i<n;i++)
{
fread(stu,sizeof(struct student)*n,n,fp);
printf("%d\t%s\t%d\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].note);
}
fclose(fp);
}
void Search()//查询函数
{
int c;
int w,x,i,j=0;
char name[20],sex[20];
if(n!=0)
{
do
{
printf("\n");
printf("|--------------------|\n");
printf("| 按学号查询 请按 1 |\n");
printf("| 按姓名查询 请按 2 |\n");
printf("| 按性别查询 请按 3 |\n");
printf("| 按年龄查询 请按 4 |\n");
printf("| 取消 请按 0 |\n");
printf("|--------------------|\n");
printf("请输入您的选择:");
scanf("%d", &c);
switch(c)
{
case 0:break;
case 1:
printf("请输入学生的学号;");
scanf("%d", &w);
printf("\n");
for(i=0;i<n;i++)
if(stu[i].num==w)
{
printf("\n学号\t姓名\t年龄\t性别\t备注\n");
printf("%d\t%s\t%d\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].note);
j=1;
}
if(j==0)
printf("提示:没有该学生记录,请核对!");
break;
case 2:
printf("请输入学生的姓名:");
scanf("%s", name);
printf("\n");
for(i=0;i<n;i++)
if(strcmp(name,stu[i].name)==0)
{
printf("\n学号\t姓名\t年龄\t性别\t备注\n");
j=1;
printf("%d\t%s\t%d\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].note);
}
if(j==0)
printf("提示:没有该学生记录,请核对!");
break;
case 3:
printf("请输入学生的性别:");
scanf("%s", sex);
printf("\n");
for(i=0;i<n;i++)
if(strcmp(sex,stu[i].sex)==0)
{
printf("\n学号\t姓名\t年龄\t性别\t备注\n");
j=1;
printf("%d\t%s\t%d\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].note);
}
if(j==0)
printf("提示:没有该学生记录,请核对!");
break;
case 4:
printf("请输入学生的年龄:");
scanf("%d",&x);
printf("\n");
for(i=0;i<n;i++)
if(stu[i].age==x)
{
printf("\n学号\t姓名\t年龄\t性别\t备注\n");
j=1;
printf("%d\t%s\t%d\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].note);
}
if(j==0)
printf("提示:没有该学生记录,请核对!");
break;
default:
printf("\n提示:无效选项!");
break;
}
}
while(c!= 0);
}
else printf("提示:无学生数据,请输入数据!");
return;
}
void Modify()//修改函数
{
long int num;
int i,j,c;
if(n!=0)
{
printf("请输入您要修改的学生的学号:");
scanf("%d", &num);
printf("\n");
for(i=0;i<n;i++)
if(stu[i].num==num)
j=i;
do
{
printf("请选择您要修改的学生的信息内容:\n");
printf("|----------------------|\n");
printf("| 姓名 请按 1 |\n");
printf("| 年龄 请按 2 |\n");
printf("| 性别 请按 3 |\n");
printf("| 学号 请按 4 |\n");
printf("| 备注 请按 5 |\n");
printf("| 取消 请按 0 |\n");
printf("|----------------------|\n");
printf("请输入您的选择:");
scanf("%d", &c);
printf("\n");
switch(c)
{
case 0:break;
case 1:printf("请输入新姓名:");
scanf("%s",stu[j].name);
break;
case 2:printf("请输入新年龄:");
scanf("%d",&stu[j].age);
break;
case 3:printf("请输入新性别:");
scanf("%s",stu[j].sex);
break;
case 4:printf("请输入新学号:");
scanf("%d",&stu[j].num);
break;
case 5:printf("请输入新备注:");
scanf("%s",stu[j].note);
break;
default:
printf("\n无效选项!");
break;
}
}
while(c!= 0);
}
else
printf("提示:无学生数据,请输入数据!");
}
void Delete()//删除函数
{
long int num;
int i,j,e;
if(n!=0)
{
printf("学号\t姓名\t年龄\t性别\t备注\n");
printf("-----------------------------------------------------\n");
for(i=0;i<n;i++)
printf("%d\t%s\t%d\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].note);
printf("请输入您要删除的学生的学号:");
scanf("%d", &num);
printf("\n");
for(i=0;i<n;i++)
if(num==stu[i].num)
j=i;
if(j!=(n-1))
{
for(e=i-1;e<n;e++,j++)
{
stu[j].num=stu[j+1].num;
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j].sex,stu[j+1].sex);
stu[j].age=stu[j+1].age;
strcpy(stu[j].note,stu[j+1].note);
n--;p--;
}
}
else
{n--;p--;}
printf("提示:删除完毕!");
}
else
printf("提示:无学生数据,请输入数据!");
}
void main()
{
char ps[6];
bool flag=false;
printf("请输入密码:\n");
scanf("%s",ps);
flag=Check(ps);
if(flag)
{
int z;
printf("+---------------------------+\n");
printf("| 欢迎使用学生信息管理系统 |\n");
printf("+---------------------------+\n");
printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");
do
{
printf("\n\t|------------------------------|\n");
printf("\t| 主菜单 |\n");
printf("\t|------------------------------|\n");
printf("\t| [1]----录入学生信息 |\n");
printf("\t| [2]----浏览学生信息 |\n");
printf("\t| [3]----查询学生信息 |\n");
printf("\t| [4]----删除学生信息 |\n");
printf("\t| [5]----修改学生信息 |\n");
printf("\t| [0]----退出系统并保存 |\n");
printf("\t|------------------------------|\n");
printf("请输入您的选择:");
scanf("%d", &z);
switch(z)
{
case 0 :Save(stu,n);break;
case 1 :Get();break;
case 2 :Display();break;
case 3 :Search();break;
case 4 :Delete();break;
case 5 :Modify();break;
default:printf("\n无效选项!");
}
}
while(z!= 0);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
C语言做的班级档案管理系统(源码+课程设计报告
共6个文件
cpp:3个
doc:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 21 下载量 40 浏览量
2021-09-11
15:54:24
上传
评论 14
收藏 968KB RAR 举报
温馨提示
本次课程设计利用《C语言程序设计》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。 要求: 1、对系统进行功能需求分析 2、设计合理的数据结构和系统框架 3、编程简练,程序功能齐全,能正确运行 4、说明书、流程图要清楚 5、课题完成后必须按要求提交课程设计报告 任务: 班级档案管理系统:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。 实现功能: (1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。 (2)本系统显示这样的菜单: 请选择系统功能项: 1) 学生基本信息录入 2) 学生基本信息显示 3) 学生基本信息保存 4) 学生基本信息删除 5) 学生基本信息修改(要求先输入密码) 6) 学生基本信息查询:a)按学号查询;b)按姓名查询;c)按性别查询;d)按年龄查询 7) 退出系统 (3)执行一个具体的功能之后,程序将重新显示菜单。 (4)将学生基本信息保存到文件中。 (5)进入系统之前要先输入密码。
资源推荐
资源详情
资源评论
收起资源包目录
C语言做的班级档案管理系统(源码+课程设计报告).rar (6个子文件)
C语言做的班级档案管理系统(源码+课程设计报告)
4班级档案管理系统_学生信息管理324.cpp 7KB
11班级档案管理系统_学生信息管理3.doc 391KB
4班级档案管理系统_学生信息管理.doc 616KB
5班级档案管理系统_学生信息管理2.doc 607KB
5班级档案管理系统_学生信息管理2_342.cpp 8KB
11班级档案管理系统_学生信息管理3_342.cpp 7KB
共 6 条
- 1
Yucool01
- 粉丝: 34
- 资源: 4600
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页