C语言小项目:学生管理(文件编辑)

编程入门 行业动态 更新时间:2024-10-27 10:30:02

C语言小项目:学生管理(文件<a href=https://www.elefans.com/category/jswz/34/1770921.html style=编辑)"/>

C语言小项目:学生管理(文件编辑)

//主函数
#include<stdio.h>
#include<stdlib.h>
#include"xsgl.h"
int main(int argc, char const *argv[])
{char name[]={};printf("请输入用户名:");scanf("%s",name);Help(name);while(1){printf("请输入命令=");scanf("%c",&in);getchar();//回收一个垃圾字符if(in>=65&&in<=122){if(in>=97&&in<=122)in=in-32;if(in!=84&&renshu==0&&in!=81&&in!=72&&in!=67)printf("成绩列表为空!请先使用命令T录入学生成绩。\n");else if(in==81)//输入字符Q退出系统break;else if(in==72)//输入字符H列出菜单Help();else if(in==67)//输入字符C清屏system("clear");else{switch(in){case 84:Type();break;case 65:Average();break;case 76:List();break;case 80:Sort();break;case 83:Search();break;default:printf("命令错误请重新输入正确命令,");break;}}}else{getchar();printf("请输入正确英文字符,");}}return 0;
}
//自定义函数
#include<stdio.h>
#include"xsgl.h"
void Type()
{while(1){for(int x = 0; x < renshu; x++){stu[x].num=0;stu[x].yw=0;stu[x].sx=0;stu[x].wy=0;stu[x].avg=0;}printf("请输入学生人数:");int res=scanf("%d",&renshu);//确认要输入学生成绩人数getchar();if(res==1){printf("请输入%d名学生的三门课成绩:\n",renshu);printf("学号  语文  数学  外语\n");for(int i=0;i<renshu;i++){stu[i].num=i+1;printf("%d     ",stu[i].num);scanf("%f %f %f",&stu[i].yw,&stu[i].sx,&stu[i].wy);}getchar();//回收垃圾字符break;}elseprintf("请输入正确的学生人数,");}
}
void List()
{printf("学生成绩如下:\n");printf("学号  语文  数学  外语  平均分\n");for(int i=0;i<renshu;i++){printf("%d     ",stu[i].num);printf("%-5.1f %-5.1f %-5.1f %-5.1f",stu[i].yw,stu[i].sx,stu[i].wy,stu[i].avg);puts(" ");}
}
void Average()
{for(int i=0;i<renshu;i++){stu[i].avg=(stu[i].yw+stu[i].sx+stu[i].wy)/3.0;}printf("完成平均值计算,请使用命令L查看\n");
}
void Sort()
{//stu中间交换量for(int i=0;i<renshu;i++)//冒泡排序,通过对平均分进行排序{for(int j=0;j<renshu-i;j++){if(stu[j].avg<stu[j+1].avg){stu1=stu[j];stu[j]=stu[j+1];stu[j+1]=stu1;}}}printf("完成排序。请使用命令L查看。\n");
}
void Search()
{int n;//查询学号printf("请输入要查询的学生学号:");int res=scanf("%d",&n);getchar();if(res==1){if(n<renshu){for(int i=0;i<renshu;i++){if(n==stu[i].num){printf("学号  语文  数学  外语  平均分\n");    printf("%d     %-5.1f %-5.1f %-5.1f %-5.1f",n,stu[i].yw,stu[i].sx,stu[i].wy,stu[i].avg);puts(" ");break;}}}else{printf("成绩表内没有该同学\n");}}elseprintf("请正确输入学生学号,");
}
void Help(char a[32])
{printf("***************************************************\n");printf("  *         学生成绩管理系统————帮助菜单          *  \n");printf("***************************************************\n");printf("  *               H = 显示帮助菜单                *  \n");printf("  *               T = 成绩录入                    *  \n");printf("  *               A = 计算学生平均分              *  \n");printf("  *               L = 列出成绩表                  *  \n");printf("  *               P = 按平均成绩由高到低排序      *  \n");printf("  *               S = 按学号查询学生成绩          *  \n");printf("  *               C = 清屏                        *  \n");printf("  *               Q = 推出系统                    *  \n");printf("***************************************************\n");printf("  *      Copyright <C> 2023.08.24 By ");printf("姓名:%s      *  \n",a);printf("***************************************************\n");
}
//头函数
#ifndef XSGL_H
#define XSGL_H
char in;//命令输入
int renshu;//要录入的学生人数
struct chengji//成绩结构体
{int num;//学号float yw;//语文成绩float sx;//数学成绩float wy;//外语成绩float avg;//存放平均分
}stu[32],stu1;//学生个人成绩void Type();//输入成绩函数
void List();//展示成绩单函数
void Average();//算取平均值函数
void Sort();//排序函数
void Search();//按学号查找函数
void Help();//帮助界面函数
#endif

更多推荐

C语言小项目:学生管理(文件编辑)

本文发布于:2023-12-04 18:32:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1661846.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:编辑   语言   文件   项目   学生

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!