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(http://doc.guandang.net);
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.按学号排序<升序&
…… 此处隐藏:6965字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




