资源简介
自己实现的C语言学生管理系统,带文本数据库,写了对文本文件的操作。
创建学生数据库(文件)
向数据库中录入内容
显示指定文件(数据库)中的内容
按照总分进行排序
向数据库中增加一条学生记录
删除一条学生记录
修改指定学生的记录
查找指定学生的记录
排序(子菜单,按照任意字段进行排序)
查询及格或不及格学生信息
更换数据库
退出学生管理系统
代码片段和文件信息
#include
#include
#include
struct student
{
int num; /*学号*/
char name[20]; /*姓名*/
char sax[4];
int score[3]; /*三门课成绩*/
int sum;
};
FILE *fp=NULL;
student *stu;
/************************************************************************************************/
void createFile()
{
char namedb1[100];
printf(“\n\n\t请输入数据库名称:“);
scanf(“%s“namedb1);
strcat(namedb1“.data“);
fp=fopen(namedb1“w“);
fclose(fp);
system(“dir *.data“);
printf(“ 数据库创建成功...!\n“);
}
/************************************************************************************************/
void input(int *hchar namedb1[])//向数据库中录入内容 a 追加
{
int i=0j;
int N=-1;
j=*h;
stu=new student[40];
while(N !=0)
{
printf(“请输入第%d学生信息:\n“i+1);
while(N !=2)
{
printf(“请输入学生学号:“);
scanf(“%d“&stu[i].num);
for(j=i+1;j>=0;j--)
{
if( stu[j].num == stu[j-1].num)
{
printf(“ 学号重复,请重新输入...!\n“);
N=0;
break;
}
else
{
N=2;
}
}
}
printf(“请输入学生姓名:“);
scanf(“%s“stu[i].name);
printf(“请输入学生性别:“);
scanf(“%s“stu[i].sax);
printf(“请输入学生的三门课程:\n“);
for(j=0;j<3;j++)
{
int temp=-1;
printf(“第%d门成绩的分数为(0-100):“j+1);
scanf(“%d“&stu[i].score[j]);
while(temp!=1)
{
if(stu[i].score[j]<0 || stu[i].score[j]>100)
{
printf(“输入错误,请重新输入第%d门成绩:\n“j+1);
scanf(“%d“&stu[i].score[j]);
temp=0;
}
else
{
temp=1;
}
}
}
stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
printf(“\n\n“);
i++;
printf(“ 是否继续输入:1.继续 0.退出并保存\n“);
scanf(“%d“&N);
if(N==1)
{
system(“cls“);
}
}
fp=fopen(namedb1“w“);
for(j=0;j {
fprintf(fp“学号:%10d 姓名:%8s 性别:%2s 三门课程成绩:%4d %4d %4d 总分:%4d\n“stu[j].numstu[j].namestu[j].saxstu[j].score[0]stu[j].score[1]stu[j].score[2]stu[j].sum);
}
printf(“输入完毕!按0键返回主菜单!\n“);
fclose(fp);
*h=i;
}
/************************************************************************************************/
void output(int *hchar namedb1[])//显示指定文件(数据库)中的内容
{
int ij;
j=*h;
fp=fopen(namedb1“r“);
stu=new student[j];
for(i=0;i {
fscanf(fp“学号:%10d 姓名:%8s 性别:%2s 三门课程成绩:%4d %4d %4d 总分:%4d\n“&stu[i].numstu[i].namestu[i].sax&stu[i].score[0]&stu[i].score[1]&stu[i].score[2]&stu[i].sum);
}
for(i=0;i {
printf(“学号:%10d 姓名:%8s 性别:%2s 三门课程成绩:%4d %4d %4d 总分:%4d\n“stu[i].numstu[i].namestu[i].saxstu[i].score[0]stu[i].score[1]stu[i].score[2]stu[i].sum);
}
printf(“\n当前学生人数为%d名...\n“j);
printf(“\n\n“);
fclose(fp);
}
/************************************************************************************************/
int count(char namedb1[])//统计
{
FILE *fp2;
//int N=1;
student *stu1;
fp2=fopen(namedb1“r“);
stu1=new student[10];
int i=0;
while(!feof(fp2))
{
fscanf(fp2“学号:%10d 姓名:%8s 性别:%2s 三门课程成绩:%4d %4d % 属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-09-22 13:06 studen_huangpeixiong\
文件 154 2010-12-07 14:41 studen_huangpeixiong\12.data
目录 0 2011-09-22 13:06 studen_huangpeixiong\Debug\
文件 225338 2010-12-09 10:50 studen_huangpeixiong\Debug\student.exe
文件 295520 2010-12-09 10:50 studen_huangpeixiong\Debug\student.ilk
文件 61948 2010-12-09 10:50 studen_huangpeixiong\Debug\student.obj
文件 225956 2010-12-09 10:24 studen_huangpeixiong\Debug\student.pch
文件 566272 2010-12-09 10:50 studen_huangpeixiong\Debug\student.pdb
文件 33792 2010-12-09 10:51 studen_huangpeixiong\Debug\vc60.idb
文件 53248 2010-12-09 10:50 studen_huangpeixiong\Debug\vc60.pdb
文件 1386 2010-12-09 10:51 studen_huangpeixiong\stu.data
文件 26721 2012-01-14 11:55 studen_huangpeixiong\student.cpp
文件 3413 2010-12-09 10:21 studen_huangpeixiong\student.dsp
文件 520 2010-12-09 10:52 studen_huangpeixiong\student.dsw
文件 41984 2010-12-09 10:52 studen_huangpeixiong\student.ncb
文件 48640 2010-12-09 10:52 studen_huangpeixiong\student.opt
文件 743 2010-12-09 10:50 studen_huangpeixiong\student.plg
- 上一篇:二叉树非递归遍历源码
- 下一篇:udp 泛洪攻击vc++源码
相关资源
- windows下使应用程序获得管理员权限办
- C语言编程常见问题解答.pdf
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
川公网安备 51152502000135号
评论
共有 条评论