没有合适的资源?快使用搜索试试~ 我知道了~
c语言程序设计学生管理系统.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 151 浏览量
2022-07-11
19:10:48
上传
评论
收藏 44KB DOC 举报
温馨提示
试读
22页
c语言程序设计学生管理系统.doc
资源推荐
资源详情
资源评论
第 1 页
/*学生成绩管理系统
数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩
1、成绩 2、成绩 3、平均成绩、总成绩。
要求具有以下功能:
(1)添加、删除任意个记录。
(2)修改任意个记录。
(3)显示、保存记录。
(4)排序功能:打开学生数据库,计算每个学生的平均成绩和
总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成
两个新文件(从大到小),
存盘并显示这两个文件的全部记录。
(5)查询功能:打开总成绩排序文件,用折半查找法统计出给
定分数的人数并显示。
要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对
独立的子功能。
(2)程序运行时,首先进行口令检查,再显示菜单。并能根据
菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执
行后续程序;否则不通过。
第 2 页
《3》可对用户的口令输入进行次数限制(如:重复输入 3
次都不对),则自动退出系统。*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
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;
第 3 页
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;
第 4 页
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();break;
loop_5: printf("输入你要进行的步骤:1、返回上一
第 5 页
菜单菜单;2、退出程序。\n");
scanf("%d",&n);
if(n<1||n>2)
printf("输入的选择有误,请重新输入:");
goto loop_5;
switch(n)
case 1:goto loop_2;break;
case 2:break;
struct student *creat(void)
int i,n;
struct student *head,*p,*q,*tail;
printf("输入学生的个数:");
scanf("%d",&n);
head=NULL;
for(i=0;i<n;i++)
all++;
p=(struct student*)malloc(sizeof(struct student));
if(head==NULL)
head=p;
else
tail->next=p;
tail=p;
剩余21页未读,继续阅读
资源评论
kfcel5889
- 粉丝: 3
- 资源: 5万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功