学生管理系统c语言程序设计方案免费下载,c语言程序设计学生管理系统.doc

/*学生成绩管理系统

数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。

要求具有以下功能:

(1)添加、删除任意个记录。

(2)修改任意个记录。

(3)显示、保存记录。

(4)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小),

存盘并显示这两个文件的全部记录。

(5)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。

要求:

(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。

(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。

口令程序段的功能要求:

《1》提示用户输入一个口令。

《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。

《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。*/

#include

#include

#include

struct student

{

int num;

char name[10];

int grade;

char major[10];

float score_1,score_2,score_3,aver,total;

struct student *next;

};

struct student *creat(void);

struct student *add(void);

struct student *del(int num);

struct student *alter();

void save(struct student *head);

void read();

void totalsort(struct student *head);

void aversort(struct student *head);

void Bfindsort();

int all=0;

void main()

{

int i,n,m,num;

char ord[10]="student",ord_1[10];

struct student *p;

for(i=0;i<=3;i++)

{

if(i==3)

exit(0);

printf("请第%d次输入进入系统的指令:",i+1);

scanf("%s",ord_1);

if(strcmp(ord,ord_1)!=0)

printf("输入的指令有误请重新输入。\n");

if(strcmp(ord,ord_1)==0)

break;

}

p=NULL;

loop_2:printf("输入系统的功能:\n0、建立一个数据库;\n1、添加与保存学生数据;\n2、删除与保存学生数据;\n3、修改与保存学生数据;\n4、显示数据库的记录;\n5、将数据进行排序;\n6、查询指定成绩的人数:");

loop: scanf("%d",&n);

if(n<0||n>6)

{

printf("\n输入的选择有误请重新输入:");

goto loop;

}

if(n==2)

{

printf("输入删除学生数据的学号:");

scanf("%d",&num);

}

switch(n)

{

case 0:p=creat();save(p);read();break;

case 1:p=add();save(p);read();break;

case 2:p=del(num);save(p);read();break;

case 3:p=alter();save(p);read();break;

case 4:read();break;

case 5:

{

printf("输入选择排序的功能1、根据平均成绩;2、根据总成绩:");

loop_1: scanf("%d",&m);

if(m<1||m>2)

{

printf("\n输入的选择有误请重新输入:");

goto loop_1;

}

switch(m)

{

case 1:aversort(p);break;

case 2:totalsort(p);break;

}

}break;

case 6:Bfindsort()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值