云文档网 - 专业文章范例文档资料分享平台

c语言程序---学生成绩管理系统

来源:网络收集 时间:2024-05-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

#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");

百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典英语学习c语言程序---学生成绩管理系统在线全文阅读。

c语言程序---学生成绩管理系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.yundocx.com/wenku/1246019.html(转载请注明文章来源)
Copyright © 2018-2022 云文档网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219