资源简介
用c语言实现学生基本信息的增添删改等功能,基本信息包括姓名 学号 成绩 性别等。
代码片段和文件信息
#include
#include
#include
#include
#define N 10000
typedef struct student
{
char id[10];
char name[20];
char sex;
double score[5];//五门课成绩
double total;
double avg;
}STU;
void display(void); //显示主菜单
void load(STU stu[]int *nPtr);//把学生信息加载到内存
void save(STU stu[]int n);//将数据保存到磁盘
void sort(STU stu[]int n);//排序
void InputRecord(STU stu[]int i);//输入一条记录
void find(STU stu[]int n);//查找
void del(STU stu[]int *nPtr);//删除
void add(STU stu[]int *nPtr);//添加一条记录
void edit(STU stu[]int n);//修改一条记录
void DeleteAll(STU stu[]int *nPtr);//删除所有记录
void DeleteRecord(STU stu[]int *nPtr);//删除一条记录
int FindByNum(STU stu[]int nchar *str);//按学号查找
void output(STU stu[]int n);//输出所有信息
void PrintRecord(STU *nPtr);//输出一条记录
int main()
{
STU stu[N];
int n;
int select ;
load(stu&n);
while(1)
{
//load(stu&n);
display();
scanf(“%d“&select);
switch(select)
{
case 1:
add(stu&n);break;//添加
case 2:
edit(stun);break;//修改
case 3:
sort(stun);break;//排序
case 4:
find(stun);break;//查找
case 5:
del(stu&n);break;//删除
case 6:
output(stun);break;//输出
case 7:
return 0;//退出
}
}
}
void display(void)
{
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“);
}
void load(STU stu[]int *nPtr)
{
FILE *fp;
int i;
if((fp=fopen(“d:\\student.dat““r“))==NULL)
{
*nPtr = 0;
return;
}
for (i=0;fread(&stu[i]sizeof(STU)1fp)!=0;i++)
*nPtr=i+1;
fclose(fp);
}
void save(STU stu[]int n)
{
FILE *fp;
if((fp = fopen(“d:\\student.dat““w“))==NULL)
{
printf(“打开文件失败\n“);
exit(0);
}
fwrite(stun * sizeof(stu[0])1fp);
fclose(fp);
}
void output(STU stu[]int n)
{
int i;
/*打印表头*/
printf(“%8s%8s%4s%8s%8s%8s%8s%8s%8s%8s\n““ID““NAME““SEX“
“SCORE1““SCORE2““SCORE3““SCORE4““SCORE5““total““avg“);
/*打印所有记录*/
for(i=0;i PrintRecord(&stu[i]);
system(“pause“);
}
void PrintRecord(STU *sPtr)//输出指针sPtr所指记录的内容
{
int i;
printf(“%8s%8s%4c“sPtr->idsPtr->namesPtr->sex);
for(i=0;i<5;i++)
{
printf(“%8.2f“sPtr->score[i]);
}
printf(“%8.2f%8.2f“sPtr->totalsPtr->avg);
printf(“\n“);
}
void add(STU stu[]int *sPtr)
{
//int i=0;//没用
char sel = ‘y‘;
while(sel==‘y‘)
{
InputRecord(stu(*sPtr)++);
printf(“是否继续添加(yes--yno--others)\n“);
scanf(“ %c“&sel);
}
save(stu*sPtr);
}
void InputRec属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-03 22:21 学生管理系统\
目录 0 2018-01-03 22:02 学生管理系统\管理系统\
目录 0 2017-09-14 13:10 学生管理系统\管理系统\bin\
目录 0 2017-09-14 13:10 学生管理系统\管理系统\bin\Debug\
文件 39555 2017-03-22 20:46 学生管理系统\管理系统\bin\Debug\管理系统.exe
文件 6844 2017-03-22 20:46 学生管理系统\管理系统\main.c
目录 0 2017-09-14 13:10 学生管理系统\管理系统\obj\
目录 0 2017-09-14 13:10 学生管理系统\管理系统\obj\Debug\
文件 12816 2017-03-22 20:46 学生管理系统\管理系统\obj\Debug\main.o
文件 1125 2017-03-19 15:09 学生管理系统\管理系统\管理系统.cbp
文件 407 2018-01-03 22:00 学生管理系统\管理系统\管理系统.depend
文件 358 2018-01-03 22:02 学生管理系统\管理系统\管理系统.layout
相关资源
- c语言字符串分割截取子串查找插入删
- 《智能卡批量自动发卡系统》 《CPU卡
- MFC对ACCESS数据库的增加、删除、查找
- AES-128-CBC算法C语言源码已经修改,可
- 用c写的航空订票系统 航班信息改变
- C++模板实现大根堆的插入删除以及初
- 可以在单片机上计算的BP神经网络C语
- Linux下C语言操作静态ARP表,包括增加
- C++MFC数据库职工信息管理系统,实现
- VT虚拟化驱动+内存读写+机器码修改源
- VC 实现DDA,Breshenham,中点直线生成法
- c++实现自我删除
- 基于QT5.6编写Echart动态交互仪表盘-修
- C++(OPENCV)摄像头标定代码带图片O
- MFC 实现画线 画图形 移动删除图形
- VC++实现简单的用户登录系统ADO。包括
- VC++实现简单的用户登录系统,包括修
- 二叉排序树 建立 查询 删除
- VS2003 MFC串口源码,通过修改可以变成
- 基于MFC的绘图程序,可以选择,移动
- MFC 制作浏览器,基本功能全有,带收
- mfc 画多个矩形框,可选中任意一个移
- 计算机二级C语言考试题库--程序修改
- 基于bluez5.50修改的gatt api库
- mesh简化实现——边折叠算法
- 传智播客C/C++学院游戏内存修改器-清
- MFC生成二维码并显示的基于qrencode修改
- C++ 删除指定的字符串并在指定的位置
- C++ 应用存储过程修改数据
- VS2008基于MFC的对话框编程串口上位机
川公网安备 51152502000135号
评论
共有 条评论