c语言程序---学生成绩管理系统
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#include<string.h>
#define N 50
//定义结构类型
struct student
{
int stuNo; //学号
char name[10]; //姓名
float cScore ; //C成绩
float javaScore; //java成绩
float sqlScore; //sql成绩
float sumScore; //总分
float avgScore; //平均分
}stu[N];//定义学生结构数组
/*函数原型说明*/
void add();
void display();
void sort();
void insert();
void del();
void sortByNo(); //px学号
void sortByavg(); //px平均分
void insertById(int);
void writeFile();
void readFile();
struct student input();//录入的函数原型
int count=0; //存储当前已有的学生人数
//登入界面
int login()
{
int i=0;
char uname[20];
char pwd[20];//密码 123\0
system("cls");
printf("\n\t\t +++++ Welcome to you!!! +++\n");
printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\n\t\t用户名:");
gets(uname);
printf("\n\t\t密 码:");
fflush(stdin);
do
{
pwd[i] = getch(); // 123\r
if(pwd[i]!='\r')//如果当前输入不是回车键,则输出*
{
i++;
printf("*");
}
}while(pwd[i]!='\r');
pwd[i]='\0';//将最后的\r替换为\0
//验证
if(strcmp(uname,"hhysz")==0 && strcmp(pwd,"hh200707")==0)
return 1;
else
return 0;
}
void main()
{
int isSuccess;
int c = 0;//记录登入的次数
do
{
isSuccess = login();//调用登入函数
if(!isSuccess)//如果没有成功
{
printf("\n\t\t\t用户名不存在或密码错误,请检查后重新输入!\n");
printf("\n\t\t\t<您还有 %d 次机会!>",2-c);
c++;
if(c==3)
{
printf("\n\t\t您已尝试登入三次且失败,系统将退出!!!\n");
exit(1);
}
fflush(stdin);
getch();
}
else //登入成功
break;
}while(1);
int select; //选择项
do
{
system("cls");//清屏
printf("\n\t\t 欢迎进入学生成绩管理系统\n");
printf("\n\t***********************************************\n");
printf("\n\t\t\t1.添加学生信息\n");
printf("\n\t\t\t2.显示学生信息\n");
printf("\n\t\t\t3.排序学生信息\n");
printf("\n\t\t\t4.插入学生信息\n");
printf("\n\t\t\t5.删除学生信息\n");
printf("\n\t\t\t6.保存文件\n");
printf("\n\t\t\t7.打开文件\n");
printf("\n\t\t\t8.退出系统\n");
printf("\n\t**********************************************\n");
printf("\n\t请选择<1--8>:");
scanf("%d",&select);
if(select == 8)
{
printf("\n\t~~bye!!!\n");
break;
}
switch(select)
{
case 1:
add();//添加学生
break;
case 2:
display();//显示
break;
case 3:
s
ort();//排序
break;
case 4:
insert();//插入学生
break;
case 5:
del();//删除学生
break;
case 6:
writeFile();//写文件
break;
case 7:
readFile();//读
文件
break;
default:
printf("\n\t您输入的选项无效!按任意键重新输入...\n");
getch();
}
}while(1); //死循环
}
/*录入学生*/
struct student input()
{
int i;
struct student st;//定义结构变量
//循环验证添加的学号是否已经存在。
do{
printf("\n输入学号:");
scanf("%d",&st.stuNo);
for(i=0;i<count;i++)
{
if(st.stuNo == stu[i].stuNo)
{
printf("\n\t\t\t您输入的学号已存在,按任意键返回...");
fflush(stdin);
getch();
break;
}
}
if(i==count)
{
break;
}
}while(1);
fflush(stdin); //清空键盘输入的缓存区
printf("请输入姓名:");
gets();
printf("请输入C成绩:");
scanf("%f",&st.cScore);
printf("请输入Java成绩:");
scanf("%f",&st.javaScore);
printf("请输入SQL成绩:");
scanf("%f",&st.sqlScore);
//计算总分与平均分
st.sumScore = st.cScore +st.javaScore +st.sqlScore ;
st.avgScore =st.sumScore /3;
return st;//返回该学生
}
/*添加学生*/
void add()
{
char ans;//用于存放用户的回答
do
{
stu[count] = input();
count++;
printf("\n\t信息录入完成,是否继续(y|n):");
fflush(stdin);
ans = getchar();
}while(ans == 'y'||ans == 'Y');
}
/*显示*/
void display()
{
system("cls");
int i;
//输出表头
printf("\n\t\t*** 显示学生 ***\n");
printf("\n\t学号\t姓名\tC\tJava\tSQL\t总分\t平均分\n");
printf("\t======================================================\n");
for(i=0;i<count;i++)
{
printf("\t%d\t%s\t%5.2f\t%5.2f\t%5.2f\t%5.2f\t%5.2f\n",
stu[i].stuNo,stu[i].name,stu[i].cScore,stu[i].javaScore,stu[i].sqlScore,
stu[i].sumScore,stu[i].avgScore);
}
printf("\t====================================================\n");
printf("\n\t\t\t\t按任意键返回主菜单...");
fflush(stdin);
getch();
}
void sort()
{
int op;
do{
system("cls");//清屏
printf("主界面>>>排序界面");
printf("\n\t\t***********************************************\n");
printf("\n\t\t\t 1.按学号排序<升序> \n");
pri
…… 此处隐藏:3073字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




