学生考试信息管理系统c语言程序,C语言版学生信息管理系统

本文实例为大家分享了C语言版学生信息管理系统的具体代码,供大家参考,具体内容如下

一.题目分析

1.功能概述

1)查询学生信息

2)添加学生信息

3)修改学生信息

4)删除学生信息

5)刷新学生信息

6)保存学生信息

7)输出当前学生信息

2.题目要求:

1)使用结构体建立学生信息体制

2)实现七大基本功能

3)采用文件存储学生信息

二.算法构造

1.难点解析----对文件的操作

1.1文件读取

FILE * fp;

if ((fp = fopen(filename, "r")) == NULL) return 0;

//从文件读取信息

while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {

j++;

}

1.2文件写入

FILE * fp;

fp = fopen(filename, "w");

for (i = 0; i < n; i++){

fprintf(fp, "%s%s%d%c%.lf%.lf%.lf\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex,

stu[i].score[0], stu[i].score[1], stu[i].score[2]);

}

2.流程图

271796b402e317c673767c5a2726660f.png

3.七大基本功能----函数实现

3.1菜单函数:通过菜单建立用户与程序之间的交流

void menu()/* 界面*/

{

int num;

printf(" \n\n \n\n");

printf(" ******************************************************\n\n");

printf(" * 学生信息管理系统 *\n \n");

printf(" ******************************************************\n\n");

printf("*********************系统功能菜单************************* \n");

printf(" ---------------------- ---------------------- \n");

printf(" ********************************************* \n");

printf(" * 0.系统帮助及说明 * * 1.刷新学生信息 * \n");

printf(" ********************************************* \n");

printf(" * 2.查询学生信息 * * 3.修改学生信息 * \n");

printf(" ********************************************* \n");

printf(" * 4.增加学生信息 * * 5.按学号删除信息 * \n");

printf(" ********************************************* \n");

printf(" * 6.显示当前信息 * * 7.保存当前学生信息* \n");

printf(" ********************** ********************** \n");

printf(" * 8.退出系统 * \n");

printf(" ********************** \n");

printf(" ---------------------- ---------------------- \n");

printf("请选择菜单编号:");

scanf("%d", &num);

switch (num)

{

case 0:help(); break;

case 1:flush(); break;

case 2:seek(); break;

case 3:modify(); break;

case 4:insert(); break;

case 5:del(); break;

case 6:display(); break;

case 7:save(); break;

case 8:

k = 0;

printf("即将退出程序!\n");

break;

default:printf("请在0-8之间选择\n");

}

}

3.2系统帮助与说明函数:适用于初次接触学生信息管理系统的用户参考

void help()

{

printf("\n0.欢迎使用系统帮助!\n");

printf("\n1.初次进入系统后,请先选择增加学生信息;\n");

printf("\n2.按照菜单提示键入数字代号;\n");

printf("\n3.增加学生信息后,切记保存;\n");

printf("\n4.谢谢您的使用!\n");

}

3.3刷新学生信息函数

功能:调用刷新信息函数后,文件中再无学生信息

int flush(){

char filename[LEN + 1];

int i = 0;

printf("请输入要刷新学生信息的文件名:\n");

scanf("%s", filename);

int j = 0;

FILE * fp;

if ((fp = fopen(filename, "r")) == NULL) return 0;

//从文件读取信息

while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {

j++;

}

n = j;

printf("刷新成功!!!");

return n;

}

3.4查询学生信息函数

功能:通过输入要查询的学生学号或者姓名,与系统中的学生信息进行对比,若相等,则输出该学生的基本信息;反之,则输出该学生在该管理系统中不存在

查询方式:

1)按照学号查询

2)按照姓名查询

void seek() /*查找*/

{

int i, item, flag;

char s1[21]; /* 以姓名和学号最长长度+1为准*/

printf("------------------\n");

printf("-----1.按学号查询-----\n");

printf("-----2.按姓名查询-----\n");

printf("-----3.退出本菜单-----\n");

printf("------------------\n");

while (1)

{

printf("请选择子菜单编号:");

scanf("%d", &item);

flag = 0;

switch (item)

{

case 1:

printf("请输入要查询的学生的学号:\n");

scanf("%s", s1);

for (i = 0; i

if (strcmp(s1,stu[i].StudentId) == 0)

{

flag = 1;

printf("学生学号\t学生姓名\t年龄\t性别\tC语言成绩\t高等数学\t大学英语成绩\n");

printf("--------------------------------------------------------------------\n");

printf("%s\t%s\t%d\t%6\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId,stu[i].StudentName,stu[i].S

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值