用标准C语言编写学生信息管理系统
发布网友
发布时间:2022-05-10 16:23
我来回答
共1个回答
热心网友
时间:2024-02-29 20:25
把我之前做的给你吧,差不多的
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"conio.h"
#define N 50 //定义符号常量,代表学生人数最大值
int count=0; //全局变量,用于记录数组的当前位置
struct student //定义结构体类型,代表学生信息*/
{
char name[9];
char number[10];
float math;
float english;
float physics;
float computer;
};
void input(struct student *arr); //函数声明,输入学生信息*/
void sort(struct student *arr); //函数声明,按总分排序*/
void find(struct student *arr); //函数声明,查找某位学生信息*/
void main()
{
char selmenu; //定义局部变量,用于记录用户选择的功能编号*/
struct student stud[N]; //定义结构体数组,用于记录学生信息*/
do //利用循环显示界面*/
{
system("cls"); //清屏函数*/
printf("\n\n");
printf("欢迎使用学生管理系统\n");
printf("------------------------\n");
printf("学生成绩管理系统 \n\n");
printf("1.输入学生信息 \n");
printf("2.按总分进行排榜 \n");
printf("3.查找相应的学生信息 \n");
printf("4.退出学生成绩管理系统 \n\n");
printf("请输入功能选择编号:");
fflush(stdin); //清空输入缓冲区
scanf("%c",&selmenu); //接受用户选择的功能编号
switch(selmenu) //输入不同功能编号调用相应函数来完成功能
{
case'1':
input(stud); //调用输入学生信息函数,参数为学生信息数组名
break;
case'2':
sort(stud); //调用按总分排榜函数,参数是数组名
break;
case'3':
find(stud); //调用按学号和姓名查找学生信息函数
break;
}
}while(selmenu!='4'); //判断是否退出
printf("*^-^* 谢谢使用 *^-^*\n"); //输出告别词
printf(" 任务完成 ");
getch();
}
void input(struct student *arr) //定义输入学生信息函数
{
char ch; //用于接收用户指令
do //利用循环,由用户控制输入学生成绩
{
system("cls");
printf("\n输入第%d个学生的信息:\n输入学生姓名:",count+1);
scanf("%s",arr[count].name);
printf("\n输入学生学号:");
scanf("%s",arr[count].number);
printf("\n输入数学成绩:");
scanf("%f",&arr[count].math);
printf("\n输入英语成绩:");
scanf("%f",&arr[count].english);
printf("\n输入物理成绩:");
scanf("%f",&arr[count].physics);
printf("\n输入计算机成绩:");
scanf("%f",&arr[count].computer);
count++; //记录当前输入的学生资料的个数
printf("\n是否继续输入(y/n)\n");
fflush(stdin); //清空输入缓冲区
ch=getchar();
}while(ch=='y'||ch=='Y'); //判断用户指令,是否继续输入
}
void sort(struct student *arr) //定义按总分排榜函数
{
int i,j,k; //定义循环变量i,j,最小数位置k
struct student t; //定义交换临时变量
if(count==0) //判断数组中学生成绩是否存在
printf("无学生成绩,请先录入学生信息\n");
else
{
for(i=0;i<count-1;i++) //用选择法按总分对学生成绩排序
{
k=i;
for(j=i+1;j<count;j++) //k为arr[i]到arr[count-1]中最小数的位置
if((arr[k].math+arr[k].english+arr[k].physics+arr[k].computer)<(arr[j].math+arr[j].english+arr[j].physics+arr[j].computer))
k=j;
if(k!=i) //如果最小数不是比较数列中第一个,对调
{
t=arr[k];
arr[k]=arr[i];
arr[i]=t;
}
}
printf("\n总分排榜版:\n\n");
printf("\t姓名\t学号\t数学\t英语\t物理\t计算机\t总分\t名次\n");
for(j=0;j<count;j++) //输出按总分排榜后的学生成绩和名次
printf("\t%-6s\t%-4s\t%-6.1f\t%-6.1f\t%-6.1f\t%-6.1f\t%-6.1f\t%-5d\n",
arr[j].name,arr[j].number,arr[j].math,arr[j].english,arr[j].physics,arr[j].computer,arr[j].math+arr[j].english,j+1);
}
printf("\n回车键返回主程序\n");
fflush(stdin);
getchar();
}
void find(struct student *arr) //定义查找函数
{
int j;
char name[9]; //用于接收用户输入的学生姓名
char number[10]; //用于接收用户输入的学生学号
system("cls"); //清屏函数
printf("\n请输入要查找的学生资料:\n");
printf("\n学生姓名:");
scanf("%s",name);
printf("\n学生学号:");
scanf("%s",number);
for(j=0;j<count;j++) //使用字符串比较函数查找兵书出符合条件的学生成绩
{
if((strcmp(name,arr[j].name)==0)&&(strcmp(number,arr[j].number)==0))
{
printf("\n\t姓名\t学号\t数学\t英语\t物理\t计算机\t总分\n");
printf("\t%-6s\t%-4s\t%-6.1f\t%-6.1f\t%-6.1f\t%-6.1f\t%-6.1f\n",
arr[j].name,arr[j].number,arr[j].math,arr[j].english,arr[j].physics,arr[j].computer,arr[j].math+arr[j].english);
break;
}
}
if(j>=count) //如果没找到,会从循环条件退出
printf("\n未找到该学生纪录,请核对后重新查找!\n");
fflush(stdin); //清空输入缓冲区
printf("\n回车键返回\n");
getchar();
}
参考资料:自学成才
如何用C语言编写学生信息管理系统
参考如下学生信息管理系统的C源代码吧。include <stdio.h>#include <string.h>/*定义学生结构体*/struct Student{ char ID[20]; char Name[20]; float Mark1; float Mark2; float Mark3; float Average;};/*声明学生数组及学生数量*/struct Student students[1000];int num=...
请过来人推荐一个好用的教务管理软件
我们学校用的校管家,用了三年了,挺不错的。校管家是国内第一批做教务管理系统的,公司的资质久,做了十几年,是这个行业数一数二的大牌子了,很多万人机构都在用,可以从招生、收费报名、分班排课、点名上课、家校服务、数据分析各个方面管理...
c语言做学生信息管理系统。学生信息包括:学号,姓名,年龄,性别,出生年...
2012-06-23 C语言课程设计:学生信息管理系统 学生信息包括:学号,姓名,... 2011-07-19 学生信息管理系统 学生信息包括:学号,姓名,年龄,性别,出生... 42 2016-06-11 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,... 5 2012-07-12 学生信息管理系统 (1) 学生基本信息包括: 学号、姓名...
如何用c语言制作一个学生信息管理系统,要求以文件形式保存
system("cls");printf("欢迎进入信息查询版块!\n");printf("请输入要查询的学生编号:");scanf("%d",&j);getchar();//printf("%d\n",j); //检测输入是否成功,调试程序用 FindStu(head,j); //查询并输出 printf("\n请输入回车键返回主菜单!");getchar();system("cls");break...
用标准C语言编写学生信息管理系统
char ch; //用于接收用户指令 do //利用循环,由用户控制输入学生成绩 { system("cls");printf("\n输入第%d个学生的信息:\n输入学生姓名:",count+1);scanf("%s",arr[count].name);printf("\n输入学生学号:");scanf("%s",arr[count].number);printf("\n输入数学成绩:");scanf(...
用c语言编写学生信息管理系统
用c语言编写学生信息管理系统 1.定义结构体,应该至少包含如下属性:学号姓名性别年龄三门成绩2.要求所有功能均用函数来实现,要使main函数尽量的简洁3.录入学生信息(initStudentInfo())注意:学号的唯一性4.显示学... 1. 定义结构体,应该至少包含如下属性: 学号 姓名 性别 年龄 三门成绩 2. 要求所有功能均用函数...
用C语言编写一个学生管理系统。
用C语言编写一个学生管理系统。实验要求1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。2、系统数据要求:学生信息如下:学号、姓名、年龄、所在系、3门课程名称及成绩、总分、平均分。3、... 实验要求1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。 2、系统数据要求:学生...
c语言学生信息管理系统代码
printf("没有您要查找的学生。");return 0;}} //菜单函数voidmenu(List L){printf("\t\t\t a. 考生报名入口\n");printf("\t\t\t b. 查询考生信息\n");printf("\t\t\t c. 修改考生信息\n");printf("\t\t\t d. 删除考生信息\n");printf("\t\t\t e. 全部考生信息\n");printf("...
用C语言编写学生管理系统界面
其他类似问题 2013-06-16 用C语言编写一个学生管理系统。 208 2018-04-15 怎样用c语言编写学生管理系统? 2 2011-01-04 如何用C语言程序编写一个学生成绩管理系统,界面用菜单进行设计... 42 2014-05-22 c语言学生信息管理系统代码 425 2018-01-05 ...
用C语言设计一个学生信息查询系统程序
1、首先创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。2、编写头文件的代码。再将数据结构的增删改查和结构体写入头文件。3、在源文件中创建main源文件和Stu源文件。再main文件中写入int mian()代码。4、然后在mian主函数中,写入while语句无限循环。再写入Init函数。5、在Stu源文件的...
求C语言学生档案管理界面的源代码
int a,b,c,yanz=0;char name[50];FILE *fp;printf("***ZX学生管理系统1.0测试版***\n");loop:printf("1.通过学号查找信息\n2.通过姓名查找信息\n3.添加学生信息\n4.删除学生信息\n5.文件操作\n请输入操作代码(1~6):");scanf("%d",&a);switch(a){ case 1:printf("请输入学生学...