本文实例为大家分享了C语言实现学生成绩管理系统项目,供大家参考,具体内容如下
1、数据结构:学生信息:学号、姓名、年龄、性别、3课成绩
2、功能:
(1) 增加学生记录
(2) 删除学生记录
(3) 查找学生信息(学号、姓名)
(4) 修改学生信息
(5) 按照成绩排序、求平均值、最大值、最小值
3、用户界面
主菜单
子菜单
4、 批量生成测试数据
// // main.c // Student System // // Created by ma c on 15/7/22. // Copyright (c) 2015年. All rights reserved. // 要求:编写一个学生成绩管理系统。 #include#include #include #define N 50 struct Student{ char name[20]; int sno; int age; char gender; float EnglishScore; float mathScore; float chineseScore; }stu[N]={{"zhao",1000,20,'M',98,99,97}, {"zhao",1001,21,'F',97,96,95}, {"qian",1002,23,'M',95,96,92}, {"hong",1003,22,'F',91,93,97}, {"zhou",1004,25,'M',90,90,90}, {"feng",1005,21,'F',96,93,96}, {"wang",1006,23,'M',97,91,90}, {"chen",1007,21,'F',94,92,91}, {"geng",1008,20,'F',90,99,91}, {"tang",1009,24,'M',99,99,99}}; //添加数据 void add(struct Student stu[],int pos,int nums); //删除数据 void Delete_name(struct Student *stu,char Name[]);//(按姓名) void Delete_sno(struct Student *stu,int Sno);//(按学号) //修改数据 void update(struct Student stu[],int Sno,int len); //查询子菜单 void menu(struct Student stu[],int m); void search(struct Student stu[],int n,char Name[]);//按姓名查询 void search1(struct Student stu[],int n,int Num);//按学号查询 void sort(struct Student stu[],int n); //按总分高低排序 void print(struct Student stu[],int n); void My_print_sum(struct Student stu[],int n); void max_min(struct Student stu[],int n); //主菜单 void PrintScreen() { printf("------------------\n"); printf("** 1.增加学生记录 **\n"); printf("** 2.删除学生记录 **\n"); printf("** 3.查找学生记录 **\n"); printf("** 4.修改学生记录 **\n"); printf("** 0.退出管理系统 **\n"); printf("------------------\n"); } //删除子菜单 void deleteScreen() { printf("------------------\n"); printf("** 0.按姓名删除数据**\n"); printf("** 1.按学号删除数据**\n"); printf("** 2.返回主菜单 **\n"); printf("------------------\n"); printf("please select 0-1:"); } //查找子菜单 void seekScreen() { printf("-------------------------\n"); printf("****** 1.按姓名查找信息 *\n"); printf("****** 2.按学号查找信息 *\n"); printf("****** 3.查看所有学生成绩 *\n"); printf("****** 4.成绩名次排序(总分)*\n"); printf("****** 5.查看成绩最优最差 *\n"); printf("****** 6.返回主菜单 *\n"); printf("-------------------------\n"); printf("please you select 1-6:"); } //定义全局静态变量,统计目前结构体数组中的人数 static int count = 10; //主函数 int main(int argc, const char * argv[]) { int nums,temp; int snos; char names[20]; while(1) { PrintScreen(); printf("please press enter_key continue!\n"); getchar(); printf("please select 0-4:"); char c = getchar(); switch(c) { case '1': printf("please student'numbers you want to add:"); scanf("%d",&nums); add(stu,count,nums); //添加数据 getchar(); break; case '2': deleteScreen(); scanf("%d",&temp); switch(temp) { case 0: printf("please input delete name:"); scanf("%s",names);; Delete_name(stu,names); //删除数据(按姓名删除) break; case 1: printf("please input delete sno:"); scanf("%d",&snos); Delete_sno(stu,snos); //删除数据(按学号删除) break; case 2: break; } getchar(); break; case '3': menu(stu,count);//查找数据 getchar(); break; case '4': printf("please input update sno:"); scanf("%d",&snos); update(stu,snos,count); //修改数据 break; case '0': exit(0); //退出系统 default: printf("data is illeagel!\n"); getchar(); break; //输入非法 } } return 0; } //添加数据 void add(struct Student stu[],int pos,int nums)//开始位置、添加人数 { for(int i=pos;i sno==Sno) { for(int j=i;j name,Name)==0) { for(int j=i-flag;j
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。