c语言课程设计学生信息管理系统

合集下载

毕业设计c语言课程设计

毕业设计c语言课程设计

毕业设计c语言课程设计一、课程目标知识目标:1. 理解C语言在毕业设计中的应用场景,掌握C语言的基本语法和编程技巧。

2. 学会使用C语言进行数据结构的设计与实现,如链表、树、图等。

3. 掌握C语言在嵌入式系统、算法竞赛等领域的实际应用。

技能目标:1. 能够运用C语言编写具有实际意义的程序,解决实际问题。

2. 能够分析并优化C语言程序的运行效率,提高编程质量。

3. 培养良好的编程习惯,编写规范、易读、高质量的C语言代码。

情感态度价值观目标:1. 培养学生积极主动探索新知识的精神,提高学生的自主学习能力。

2. 增强学生的团队协作意识,培养良好的沟通与协作能力。

3. 使学生认识到C语言在计算机科学领域的重要地位,激发学生对编程的兴趣。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为毕业设计前的预备课程,旨在帮助学生掌握C语言编程技能,为毕业设计奠定基础。

2. 学生特点:学生已具备一定的计算机基础,了解编程基本概念,但实际编程能力较弱,需要加强实践操作。

3. 教学要求:注重理论与实践相结合,强调实际编程能力的培养,以项目驱动教学,提高学生的实践操作能力。

1. 独立完成C语言基础语法的学习,并能运用所学知识编写简单程序。

2. 掌握常见数据结构在C语言中的实现与应用,能够解决实际问题。

3. 编写具有一定规模的C语言项目,具备初步的软件设计能力。

4. 养成良好的编程习惯,具备团队协作能力和沟通能力。

二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、表达式、控制语句(顺序、选择、循环)、函数、数组、指针。

2. 常见数据结构:链表、栈、队列、树(二叉树、查找树)、图(邻接矩阵、邻接表)。

3. 编程技巧与优化:算法复杂度分析、递归与迭代、内存管理、程序调试与优化。

4. C语言项目实践:学生信息管理系统、简易计算器、文件压缩与解压缩、小型游戏等。

5. 教学内容安排与进度:- 第一周:C语言概述、基础语法、数据类型与运算符。

C语言课程设计--学生成绩管理系统

C语言课程设计--学生成绩管理系统

*题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作源代码:#include<stdio.h>#include<ctype.h>#include<stdlib.h>#include<string.h>struct Student{int cls;char nam[10];char num[10];int chinese;int english;int computer;int math;}stud1[100],stud2[100];{char a;while(a>'7'||a<'0'){system("cls");printf(" 欢迎使用学生成绩管理系统\n");printf(" 制作人:章建\n");printf("********************** 学生成绩管理系统************************\n");printf(" 1.输入学生成绩\n");printf(" 2.输出学生成绩\n");printf(" 3.查找并显示学生成绩\n");printf(" 4.按姓名查找,修改学生资料\n");printf(" 5.显示所有学生名单\n");printf(" 6.查找并删除学生信息\n");printf(" 7.从文件读取数据\n");printf(" 0.储存学生资料并退出系统\n");printf("********************************************************************* *\n");printf("请选择(0-7)\n");a=getchar();}return(a-'0');}/******************************************************************************int Input(Student stud[],int n) //输入数据(第一学期)。

C语言课程设计报告学生成绩管理系统(广工)

C语言课程设计报告学生成绩管理系统(广工)

一、课程设计题目:学生成绩管理二、需求分析给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名、性别以及各科成绩组成。

对学生的考试成绩进行有关统计:按总数高低次序,打印出名次表,分数相同的为同一名次;按名次打印出每个学生的学号、姓名、总分以及各科成绩,并打印统计表。

三、概要设计程序要有的功能:1。

输入记录2。

用指定格式显示全部记录3。

根据姓名查找记录4。

根据姓名删除记录5. 保存记录到文件6。

按序号显示记录7。

按姓名由小到大的顺序排序程序运行当中,通过选择对应的功能序号来实现所需功能。

对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩的数值为负,则程序应输出相应的提示:“您输入的数据有误,请核实!”。

再者就是,当再输入完相应的数据后,程序作出相应的提示,询问用户是否要保存数据。

在排列学生成绩时候,如果出现成绩相同的情况,程序自动作出处理。

最后,在程序可以正确运行的基础上,再增加一些功能,如在排列的时候,自动输出最高分与最低分。

与及格成绩作比较,输出及格人数等相关信息。

流程图:四、详细设计源程序:#include ”stdio。

h”#include "stdlib.h”#include "string。

h”int shoudsave=0;/* */struct student{char num[10];/*学号*/char name[20];char sex[4];int cgrade;int mgrade;int egrade;int totle;int ave;char neartime[10];/*最近更新时间*/};typedef struct node{struct student data;struct node *next;}Node,*Link;void menu(){printf(”*********************************主菜单*****************************************”);printf(”\t1登记学生资料\t\t\t\t\t2删除学生资料\n”);printf(”\t3查询学生资料\t\t\t\t\t4修改学生资料\n”);printf(”\t5保存学生资料\t\t\t\t\t0退出系统\n”);printf(”********************************************************************************\n");}void printstart(){printf(”-————---—-——————--——----———-—-—-————--————--—--—--—-————---—-—————--———\n”);}void Wrong(){printf(”\n=====>提示:输入错误!\n”);}void Nofind(){printf("\n=====〉提示:没有找到该学生!\n");}void printc()/*本函数用于输出中文*/printf(”学号\t 姓名性别英语成绩数学成绩C语言成绩总分平均分\n”); }void printe(Node *p)/* 本函数用于输出英文*/{printf("%—12s%s\t%s\t%d\t%d\t%d\t %d\t %d\n",p—〉data。

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告一、引言学生成绩管理系统是一个为学校或教育机构提供学生学业成绩管理的重要工具。

通过该系统,可以方便地记录和查询学生的各项成绩,帮助教师和学生了解学生的学业表现,及时作出教学和学习的调整和改进。

本文将介绍一个基于C语言的学生成绩管理系统的设计与实现。

二、需求分析1. 学生信息管理:包括学生基本信息的录入、修改和删除。

2. 成绩信息管理:包括成绩的录入、修改和删除。

3. 成绩查询与统计:可以按照学生学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份:能够将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

三、系统设计1. 学生信息管理模块:设计一个结构体来存储学生的基本信息,包括学号、姓名、性别、年龄等。

通过菜单选择,可以实现学生信息的录入、修改和删除功能。

2. 成绩信息管理模块:设计一个结构体来存储学生的成绩信息,包括科目名称和成绩。

通过菜单选择,可以实现成绩信息的录入、修改和删除功能。

3. 成绩查询与统计模块:通过学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份模块:设计文件操作函数,将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

四、系统实现1. 使用C语言编写程序代码,通过结构体和数组等数据结构实现学生信息和成绩信息的存储。

2. 利用文件操作函数实现数据的读取和存储,包括学生信息和成绩信息的存储和备份。

3. 设计菜单界面,通过用户选择来实现各个功能模块的调用。

五、系统测试与优化1. 针对各个功能模块进行测试,验证系统的正确性和稳定性。

2. 根据测试结果优化程序代码,提高系统性能和用户体验。

3. 完善系统功能,考虑异常情况的处理,提高系统的容错性和健壮性。

六、总结与展望通过本次课程设计,我们成功实现了一个基于C语言的学生成绩管理系统。

该系统能够方便地记录和查询学生的成绩信息,帮助教师和学生进行教学和学习的分析和改进。

C语言课程设计—学生成绩管理系统

C语言课程设计—学生成绩管理系统

#include ”stdio.h”#include ”string.h”#include "stdlib.h"#include "conio.h"#include ”string.h”#include "fcntl。

h"typedef struct student{int num;char grade[10];char classroom[10];char name[10];float score_math;float score_chinese;float score_english;float average;float sum;}STU;typedef struct Node{STU data;struct Node *next;}*linklist;void menu();char *loginpassword(char password[],int n);//登录验证密码函数声明//linklist createstulist(linklist head);//创建学生链表即学生信息录入函数声明// void printstulist(linklist head);//学生信息输出函数声明//void searchstu_namelist(linklist head);//学生信息查询函数声明(按姓名)// void searchstu_numlist(linklist head);//学生信息查询函数声明(按学号) linklist modifystulist(linklist head);//学生信息修改函数声明//linklist delatestulist(linklist head);//学生信息删除函数声明//void savestulist(linklist head);//学生信息保存到文件函数声明// linklist loadstulist();//从文件中读取学生信息函数声明// void sortstulist(linklist head); //成绩排名函数(按年级)声明//void sort(STU stu[],int flag); //学生分班函数声明//void sortstuclass(linklist head); //成绩排名函数(按班级)声明////*************************************//void main(){char admin[]=”zhangqiong";char password[]=”123456";char person[20];char password1[10];int i;printf(”********************************************************************************\n”);printf("\t\t **********欢迎来到学生成绩管理系统**********\n\n");printf(”********************************************************************************\n\n”);printf(”\t\t\t\t用户登录\n\n\n\n");for(i=0;i<3;i++){printf("用户名:”);gets(person);fflush(stdin);printf(”\n\n\n”);loginpassword(password1,10);printf("\n\n\n”);if(strcmp(admin,person)==0&&strcmp(password,password1)==0){printf(”\t\t\t\t成功登录,亲!\n”);printf("\n\n”);printf(”按任意键继续!”);getch();menu();break;}elseprintf("\t用户名或者密码输入错误\n”);}if(i==3)printf("\t对不起,您今天输入次数太多,已被强制退出!\n”);}//**********************************************************////**********************************************************//char *loginpassword(char password[],int n)//登录密码函数,隐藏密码可见//{int i=0;int m=0;char ch;printf("用户密码:”);while((ch=getch())!='\r’&&m〈n){password[i++]=ch;printf(”*");}password[i]='\0';return password;}//***************************************************// void menu()//主界面函数//{system("cls");linklist L;L=(linklist)malloc(sizeof(Node));L—>next=NULL;int ch;do{printf(”\t -——-----—-******——--——--—---******—————-————-******-—-—-—-—-—\n\n");printf("\t\t\t**********学生成绩管理系统***********\n\n”);printf("\t ——----——--******-—-——------—******—---———--—-******—---———-——\n\n\n\n\n");printf("\t1。

C语言学生成绩管理系统课程设计

C语言学生成绩管理系统课程设计

课程设计说明书设计名称: C语言课程设计题目:学生成绩管理系统学生姓名:专业:网络工程班级: 12级1班学号: 2012394108指导教师:日期:年月日课程设计任务书网络工程专业 12 年级 1 班孙璐一、设计题目学生成绩管理系统二、主要内容数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。

要求具有以下功能:(1)系统以菜单方式工作。

(2)显示、保存记录;添加、删除、修改任意个记录。

(3)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小),存盘并显示这两个文件的全部记录。

(4)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。

并能按学号或姓名查找并显示某个学生的各科成绩。

(5)统计功能:对各科成绩统计分析(平均分、最高分、最低分、及格率等);统计各科各分数段人数。

三、具体要求围绕课程设计的目的和意义,基本要求如下:1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求;2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;3、快速熟悉Tuber C 或C++的上机环境。

能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。

4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。

如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。

5.学习并了解良好的程序设计风格。

按质、按量、并按时间完成课程设计的任务。

6.提供可运行的课程设计系统,参加上机面试答辩。

本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告

《学生成绩管理系统》课程设计报告专业:信息科学与工程学院班级:电气信息类0916班姓名:曹坤指导教师:汤哲学号: 02课程设计报告一、课程设计题目学生成绩管理系统1、需要处理的基础数据学生基本信息:如班级、学号、姓名、性别、年龄等。

学生选修课程的基本信息:课程编号、课程名称、学分、考试成绩、平时成绩、综合成绩(考试成绩*+平时成绩*)等。

主菜单2、系统的基本功能数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息;数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;数据的插入:插入某个学生信息;数据的查询:如按学号查询、按姓名查询等;数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息;平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;列出不及格学生清单(学号、姓名、不及格的课程和成绩)。

考虑用文件把数据保存起来(可选)。

3、链表struct stu /*定义学生基本信息结构体*/{int i; /*以输入的顺序来确定的学生序号*/char num[11];char classnum[5];char name[128];char sex[32];int age;float ave;struct stu *next;};int n=0; /*学生人数*/struct stu *head=0;struct stu1 /*定义学生选修课信息结构体*/{char lessonnum[11];char lessonname[256];float score;float testgrade;float commongrade;float grade;struct stu1 *next;};int m;struct stu1 *a[max_num] ;/*定义一个指针数组来记住课程链表地址*/ /*---------------------- 数据的录入程序-----------------------*/void create(void) /*建立学生基本信息链表*/{n=0;struct stu *p1,*p2;char ch,ch1;struct stu1 *create1(void);do{n=n+1;a[n]=0;system("cls");p1=(struct stu *)malloc(LEN);printf("\n学号:");scanf("%s",p1->num);printf("\n班级:");scanf("%s",p1->classnum);printf("\n姓名:");scanf("%s",p1->name) ;printf("\n性别:");scanf("%s",p1->sex);printf("\n年龄:");scanf("%d",&p1->age);if(n==1)head=p1;else p2->next=p1;p2=p1;printf("\n是否输入选修课信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch1=getchar();if(ch1=='y'||ch1=='Y')a[n]=create1(); /*根据序号来记忆课程链表地址*/ p1->i=n;system("cls");printf("\n是否继续输入另一学生信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch=getchar();}while(ch=='y'||ch=='Y');p2->next=0;}struct stu1 *create1(void) /*建立课程链表*/{m=0;struct stu1 *p1,*p2;char ch;struct stu1 *head=0;do{m=m+1;system("cls");p1=(struct stu1 *)malloc(LEM);printf("\n课程编号:");scanf("%s",p1->lessonnum);printf("\n课程名称:");scanf("%s",p1->lessonname);printf("\n学分:");scanf("%f",&p1->score);printf("\n考试成绩:");scanf("%f",&p1->testgrade);printf("\n平时成绩:");scanf("%f",&p1->commongrade);p1->grade=p1->testgrade*+p1->commongrade*;printf("\n综合成绩:%-6.1f",p1->grade);if(m==1)head=p1;else p2->next=p1;p2=p1;printf("\n是否继续输入另一课程信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch=getchar();}while(ch=='y'||ch=='Y');p2->next=0;return(head);}二、设计思路界面:界面的显示由循环语句和switch语句来控制完成。

c语言课程设计优秀案例

c语言课程设计优秀案例

c语言课程设计优秀案例C语言是一门广泛应用于计算机科学领域的编程语言,它具有高效、简洁、可移植等特点,因此在计算机科学领域中得到了广泛的应用。

在C语言课程设计中,学生需要通过实践来掌握C语言的基本语法和编程思想,同时也需要通过设计优秀的案例来提高自己的编程能力。

下面是10个优秀的C语言课程设计案例。

1. 学生成绩管理系统这个案例要求学生设计一个学生成绩管理系统,可以实现学生信息的录入、查询、修改和删除,同时还可以计算学生的平均成绩、最高成绩和最低成绩等统计信息。

2. 简单计算器这个案例要求学生设计一个简单的计算器,可以实现加、减、乘、除等基本运算,同时还可以实现括号、小数点和负数等高级运算。

3. 迷宫游戏这个案例要求学生设计一个迷宫游戏,可以实现玩家在迷宫中寻找出口的过程,同时还可以实现随机生成迷宫、计时和计分等功能。

4. 图书管理系统这个案例要求学生设计一个图书管理系统,可以实现图书信息的录入、查询、修改和删除,同时还可以实现借书和还书等功能。

5. 简单的文件管理器这个案例要求学生设计一个简单的文件管理器,可以实现文件的创建、删除、复制和移动等基本操作,同时还可以实现文件夹的创建和删除等高级操作。

6. 简单的网络聊天程序这个案例要求学生设计一个简单的网络聊天程序,可以实现用户之间的文字聊天和文件传输等功能,同时还可以实现用户登录和注册等操作。

7. 简单的音乐播放器这个案例要求学生设计一个简单的音乐播放器,可以实现音乐的播放、暂停、停止和跳转等基本操作,同时还可以实现音乐列表的管理和歌词显示等高级功能。

8. 简单的游戏开发这个案例要求学生设计一个简单的游戏,可以实现玩家的移动、攻击和防御等基本操作,同时还可以实现关卡设计和游戏难度调整等高级功能。

9. 简单的人工智能程序这个案例要求学生设计一个简单的人工智能程序,可以实现基本的语音识别、图像识别和自然语言处理等功能,同时还可以实现机器学习和深度学习等高级功能。

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。

二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息。

同时也可以全部把各科的平均成绩,最高和最低分输出.三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来.四、输出全部学生信息和全部学生成绩。

五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。

总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。

2、查询模块:可用stu *lookdata(stu *p1)来实现。

找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。

3、插入模块:可用insert( )函数来实现。

其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。

5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。

主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h”#include"stddef.h"#include"stddef。

C语言课程设计实践报告—学生选课管理系统[内附程序源代码](可编辑)

C语言课程设计实践报告—学生选课管理系统[内附程序源代码](可编辑)

C语言大型作业实践报告计算机1001制作者:李菁华张兆丰秦恒加2011年6月题目:选修课程管理系统要求:假定有N门选修课,每门课有课程编号、名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等信息。

学生可按要求(如总学分不能少于20学分)选课。

课程信息维护,如录入、修改、删除等,课程信息用文件保存。

课程信息浏览?输出。

学生选课功能。

查询功能包括:按学分、课程性质、学生等查询。

统计功能。

统计各门课程的选修人数。

本系统要有通用性、界面美观、操作方便。

要考虑系统安全。

课程信息录入系统选修课程信息录入选修课程信息保存主程序目录选择总体设计思路(流程图):学生选课系统课程信息读入学生信息输入选课系统数据保存选修课数据维护系统添加修改删除以word格式输出密码系统密码验证系统权限限制系统密码对退出程序密码对选修课程信息查找按各种类型查找密码错3次以上具体算法流程设计思路(流程图):主程序目录选择1.学生选课系统;2.选修课程信息输出;3.选修课程信息查找;4.管理员选项;5.退出系统。

管理员选项密码验证系统读入系统时间,通过强制转换成unsigned long int型数据作为初始密码用户输入密码(若是管理员会拥有密码钥匙,得出现在的密码,该密码每分钟都会变化)密码正确进入管理员管理界面,密码不正确重新输入密码输入错误3次以上 12 3学生选课系统选修课程信息以word2003形式输出返回主菜单选修课程信息查找选修课程信息从文件内读入输入按什么查找1.课程编号;2.课程名;3.课程种类;4.总课时;5.教学课时;6实验课时;7.学分;8.开课学期;9.已选人数。

输入查找的关键字从文件内读入的课程信息与关键字逐一对比,完全匹配输出;查找完毕学生信息输入课程信息浏览不选少于这门20分选课系统课选课成功判断学分是否大于20分大于20分结束选课选课信息储存退出程序管理员模块管理员模块 3目录选择1.学生选课系统;2.选修课程信息管理系统;3.退出系统12 5学生选课系统二级目录选择1.新建选修课程信息;2.管理选修课程信息;3.统计每门课程选择人数;4.选修课程信息输出;5.回到主菜单。

C语言课程设计实验报告学生信息管理系统

C语言课程设计实验报告学生信息管理系统

课程设计课程名称C语言程序课程设计题目名称学生信息管理系统设计_____学生学院_自动化学院_______________专业班级__自动化X__________________ 学号__311100XXXX______________ 学生姓名_____________________指导教师2013年10月20日广东工业大学课程设计任务书题目名称学生信息管理系统设计____学生学院___自动化学院____________专业班级___自动化X_______________学号___3111000XXX____________学生姓名___谢XX_________________1.目的与要求:学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。

试设计一学生信息管理系统,使之能提供以下功能:1.系统以菜单方式工作2.学生信息录入功能---输入3.学生信息浏览功能---输出4.查询、排序功能---算法按学号查询按姓名查询5.学生信息的删除与修改(可选项)2.总体设计:程序设计组成框图学生信息录入学生信息浏览3>参数说明editname(int n)、editage(int n)、editsex(int n) 、editbir(int n) 、editadd(int n) 、edittel(int n)、editemail(int n)、last(int n)、edit(int n)、del(int n)、editpr(int n) 函数中的n都为检索中确定的学生数组下标。

4.调试与测试:1>调用pr2()函数(检索界面)一闪而过。

解决方法:添加getchar()语句使程序暂停。

2>无法有效的控制输出函数循环终止。

解决方法:添加全局变量“stunum”,使用该全局变量来记录学生总数,从而控制输出循环的次数。

3>查询函数数据量过多时同时输出,先输出的内容无法查看,或需用户自行查看。

学籍信息管理系统c语言

学籍信息管理系统c语言

学籍信息管理系统c语言学籍信息管理系统(C语言)是一种在学校或教育机构中使用的软件工具,用于管理和维护学生的个人和学业信息。

这一系统的主要功能包括学生信息的录入、查询、修改和删除,课程信息的管理和调整,成绩统计和报告生成等。

下面将逐步回答有关学籍信息管理系统(C语言)的问题。

第一步:什么是学籍信息管理系统(C语言)?学籍信息管理系统是一种基于C语言开发的软件工具,用于学校或教育机构对学生的个人和学业信息进行管理的系统。

它采用了C语言作为开发语言,便于实现系统的高效性和可靠性。

通过该系统,学校可以方便地对学生的信息进行录入、查询、修改和删除等操作,同时还可以对课程信息进行管理和调整,统计和生成成绩报告等。

第二步:学籍信息管理系统(C语言)的主要功能有哪些?学籍信息管理系统(C语言)具有较为完善的功能,主要包括以下几个方面:1. 学生信息管理:该系统允许学校录入学生的个人信息,如姓名、年龄、性别、出生日期等,并对这些信息进行存储和管理。

同时,系统还支持学生信息的查询、修改和删除等操作,保证学生信息的及时更新和正确性。

2. 课程信息管理:学籍信息管理系统允许学校对课程信息进行管理和调整。

学校可以录入和存储课程信息,如课程名称、授课教师、课程时间等。

通过系统,学校可以方便地对课程进行调整,如修改课程时间、更换授课教师等。

3. 成绩管理:学籍信息管理系统可以对学生的成绩进行统计和管理。

学校可以录入学生的考试成绩,并通过系统生成成绩报告。

系统还支持成绩查询功能,方便学生和教师查看和分析成绩情况。

4. 数据备份和恢复:学籍信息管理系统还提供了数据备份和恢复功能,确保系统数据的安全性和可靠性。

学校可以定期对系统数据进行备份,以防止数据丢失或损坏。

同时,系统也支持数据的恢复操作,方便在数据丢失情况下进行数据恢复。

第三步:学籍信息管理系统(C语言)的实现原理是什么?学籍信息管理系统(C语言)的实现原理主要包括以下几个方面:1. 数据结构:系统需要合理的数据结构来存储学生和课程信息,如使用链表、数组等数据结构进行数据的存储和管理。

学生课程信息管理系统c语言

学生课程信息管理系统c语言

学生课程信息管理系统c语言学生课程信息管理系统是一个用于管理学生课程信息的软件系统。

它可以帮助学校、教师和学生轻松地进行课程管理、成绩管理和学生信息管理。

本文将介绍该系统的主要功能和特点。

一、系统概述学生课程信息管理系统是为了方便学校管理学生课程信息而开发的一款软件。

它可以实现学生选课、查看课程信息、查询成绩等功能。

通过该系统,学校可以更好地管理学生的学习情况,提高教学质量,促进学生的成长。

二、系统功能1. 学生选课功能:学生可以通过系统选择自己感兴趣的课程。

系统会显示可选课程的详细信息,包括课程名称、授课教师、上课时间等。

学生可以根据自己的兴趣和学习计划进行选择。

2. 课程信息查询功能:学生可以通过系统查询自己已选课程的详细信息。

系统会显示课程的名称、授课教师、上课时间、上课地点等信息,方便学生及时了解课程的相关信息。

3. 成绩查询功能:学生可以通过系统查询自己的课程成绩。

系统会根据学生的学号和课程信息,显示对应的成绩。

学生可以及时了解自己的学习成果,并根据成绩进行学习调整。

4. 学生信息管理功能:系统可以记录学生的基本信息,如学号、姓名、年龄、性别等。

教师和学校管理者可以通过系统对学生信息进行管理,包括添加学生信息、修改学生信息、删除学生信息等。

5. 教师信息管理功能:系统可以记录教师的基本信息,如教师编号、姓名、性别等。

学校管理者可以通过系统对教师信息进行管理,包括添加教师信息、修改教师信息、删除教师信息等。

6. 课程信息管理功能:系统可以记录课程的详细信息,如课程编号、课程名称、授课教师、上课时间、上课地点等。

学校管理者可以通过系统对课程信息进行管理,包括添加课程信息、修改课程信息、删除课程信息等。

三、系统特点1. 界面友好:系统的界面设计简洁美观,操作简单明了,方便用户使用。

2. 数据安全:系统采用数据库存储学生课程信息,保证数据的安全性和完整性。

3. 高效性:系统能够快速响应用户的请求,提供及时的信息查询和管理功能。

学生考勤管理系统c课程设计

学生考勤管理系统c课程设计

学生考勤管理系统c课程设计一、课程目标知识目标:1. 理解并掌握C语言编程基础,包括数据类型、运算符、控制结构等;2. 学习使用C语言进行文件操作,实现数据的存储与读取;3. 掌握面向过程编程思想,能够运用结构体、函数等实现模块化编程;4. 了解学生考勤管理系统的需求分析、功能设计及实现方法。

技能目标:1. 能够运用C语言编写简单的学生考勤管理系统程序,实现学生信息的录入、查询、修改和删除功能;2. 培养学生的编程实践能力,提高解决问题的能力,学会运用编程语言实现实际应用;3. 学会使用调试工具,能够自主分析并解决程序中出现的错误。

情感态度价值观目标:1. 培养学生的团队协作意识,学会与他人合作共同解决问题;2. 增强学生的自主学习能力,培养勇于尝试、敢于挑战的精神;3. 激发学生对编程的兴趣,提高对计算机科学的认识,培养创新精神和实践能力。

课程性质:本课程为实践性较强的课程,要求学生在理解理论知识的基础上,动手实践,完成一个具有实际意义的学生考勤管理系统。

学生特点:学生已具备一定的C语言基础,了解基本编程概念,但实际编程能力有待提高。

教学要求:注重理论与实践相结合,引导学生主动思考、动手实践,鼓励学生提问和分享,培养其解决问题的能力和团队协作精神。

通过课程学习,使学生在掌握C语言编程技能的同时,实现情感态度价值观的提升。

二、教学内容1. C语言基础回顾:数据类型、变量、运算符、控制结构(条件语句、循环语句);2. 文件操作:文件打开、关闭、读写等基本操作;3. 结构体与链表:结构体的定义和使用,链表的创建、插入、删除等操作;4. 函数:函数的定义、调用、参数传递,模块化编程;5. 学生考勤管理系统功能模块设计:- 学生信息管理:学生信息的录入、查询、修改和删除;- 考勤管理:考勤记录的录入、查询、统计;- 系统管理:用户登录、权限设置、数据备份与恢复;6. 系统集成与测试:各功能模块的集成,系统测试与调试。

C语言课程设计—— 学生成绩管理系统

C语言课程设计——  学生成绩管理系统

内蒙古科技大学本科生课程设计说明书题目:C语言课程设计——学生成绩管理系统学生姓名:郭**学号:**********专业:计算机科学与技术班级:计科-2指导教师:***日期:2015年 12月25日内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书I内蒙古科技大学课程设计说明书目录内蒙古科技大学课程设计任务书 (I)第一章需求分析 (3)1.1引言 (3)1.2任务概述 (3)1.3数据描述 (3)1.4功能需求 (3)1.5性能需求 (3)1.6运行需求 (4)1.7任务计划 (4)第二章概要设计 (4)2.1总体设计 (4)2.2数据类型设计(或数据结构设计) (5)2.3接口设计 //函数声明 (5)2.4运行界面设计 (6)第三章详细设计 (7)3.1输入模块设计 (7)3.2输出模块设计 (7)3.3 查找模块设计 (8)3.4排序模块设计 (8)3.5保存及读取模块设计 (9)第四章测试分析 (10)4.1测试程序执行情况 (10)第五章课程设计总结 (14)附录:程序代码 (15)参考文献 (32)致谢 (32)II内蒙古科技大学课程设计说明书第一章需求分析1.1引言因学校中学生信息庞大,复杂,为了方便教师们管理学生信息,特编写了一个学生成绩管理系统。

1.2任务概述1.目标本学生成绩管理系统主要是为学校里的老师提供一个管理学生信息的平台。

根据系统界面的提示信息对学生信息进行添加、浏览、修改、保存等操作。

2.运行环境Windows系统3.用户特点懂得一些基本的电脑操作即可。

4.条件限制计算机一台1.3数据描述系统的数据类型有:整型int,实型float,字符型char,结构体struct;自己定义的数据类型有:STU;1.4功能需求❖从键盘输入包括学号、姓名、各门课程成绩(不少于5门),并将其保存在磁盘文件里❖打开文件后,计算每个人的总分和平均分,排序并保存❖具有单项查询或多项查询的功能(即按照给定的关键字,如姓名找出满足条件的纪录)❖具有插入、删除和修改功能具有输出文件数据信息的功能1.5性能需求无3内蒙古科技大学课程设计说明书1.6运行需求1.硬件环境普通的计算机2.软件环境支持的操作系统包括windows98/xp及及以上版本1.7任务计划本系统共分为一个主页面模块(主函数部分),五个功能模块(功能函数)分别为增加学生成绩信息、查看学生成绩信息、修改学生成绩信息、对学生信息进行排序、退出。

C语言课程设计报告 学生成绩管理系统

C语言课程设计报告 学生成绩管理系统

C语言课程设计报告院系:机械与电子信息学院姓名:王鹏飞班号:07310126学号:20101003558指导教师:龚文引日期:2011年7月学生成绩管理系统一、题目要求设计一个学生成绩管理程序,对在校某班学生几门课程的考试成绩进行统一管理。

每个学生记录包括学号、姓名、年龄、数学、英语、物理成绩,默认以学号为序存放。

(1)一个文件按以班为单位存储学生记录.(2)将允许的操作分为四种,以A、B、C、D、E、F为标志(若设置菜单操作更佳):A:插入一个新的学生记录(录入学生信息);B:修改学生记录;C:删除一个学生记录;D:登记成绩;E:修改成绩;F:浏览全班成绩。

(3)计算学生的总成绩。

(4)按学号排序输出全班成绩表。

二、需求分析根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览学生的信息,应提供添加、修改、删除、排序等操作;另外还应提供键盘式选择菜单实现功能选择。

三、总体设计根据上面的需求分析,可以将这个系统的设计分为8个模块,数据输入,添加数据,修改数据,删除数据,修改成绩,学号排序,浏览成绩,退出模块。

四。

详细设计1、主函数【分析】将各个功能模块设置为菜单选项,方便调用,且执行完每部分功能模块后能够方便返回到系统界面.【流程图】:【程序代码】:menu() /*主界面*/{int w1;char n; /*。

变量n保存选择菜单数字,w1判断输入的数字是否在功能菜单对应数字范围内*/do{puts(”\t\t***************菜单****************\n\n”);puts(”\t\t\t\tA。

录入学生信息”);puts(”\t\t\t\tB.修改学生记录”);puts(”\t\t\t\tC。

删除一个学生记录”);puts(”\t\t\t\tD.登记成绩”);puts("\t\t\t\tE。

修改成绩");puts("\t\t\t\tF。

学生成绩管理系统c语言课程设计

学生成绩管理系统c语言课程设计

学生成绩管理系统c语言课程设计一、引言学生成绩管理系统是一种可以帮助学校或教育机构管理学生的成绩、课程和考试信息的软件。

本文将介绍一个基于C语言的学生成绩管理系统的设计过程。

二、需求分析在设计一个学生成绩管理系统之前,我们需要先进行需求分析。

以下是该系统需要满足的基本需求:1. 学生信息管理:包括添加、删除和修改学生信息,如姓名、性别、年龄等;2. 课程信息管理:包括添加、删除和修改课程信息,如课程名称、授课教师等;3. 成绩录入:可以录入每个学生在每门课程中的成绩;4. 成绩查询:可以查询某个学生在某门课程中的成绩以及某门课程所有学生的成绩排名等;5. 成绩统计:可以统计某个班级或某门课程所有学生的平均分、最高分和最低分等。

三、系统设计1. 数据结构设计为了实现上述需求,我们需要定义一些数据结构来存储相关信息。

以下是我们所定义的数据结构:(1)Student结构体:用于存储每个学生的基本信息,包括姓名、性别、年龄等。

typedef struct {char name[20];char sex[10];int age;} Student;(2)Course结构体:用于存储每门课程的基本信息,包括课程名称、授课教师等。

typedef struct {char name[20];char teacher[20];} Course;(3)Score结构体:用于存储每个学生在每门课程中的成绩。

typedef struct {int student_id;int course_id;float score;} Score;(4)Class结构体:用于存储某个班级的所有学生和所选的所有课程。

typedef struct {Student students[MAX_STUDENT_NUM];int student_num;Course courses[MAX_COURSE_NUM];int course_num;} Class;2. 功能实现在上述数据结构定义完成之后,我们可以开始实现各个功能模块。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目名称:学生信息管理系统算法分析:1用结构体标出信息系统的成员:学生学号,学生姓名,班级,成绩,排名2 利用c语言的文件知识将系统的信息存放在c盘下的“”的文件夹下3 定义各个子函数(1)定义输入信息函数,将学生信息按一定格式用scanf函数输入(统计M个学生的信息);(2)定义输出函数,每两个表一页直到最后一个;(3)定义信息查询函数。

a,定义按学号查询函数,如果输入的学号等于学生学号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个学生的姓名字符串则输出信息;c,定义按班级查找函数,如果输入的数字等于其中学生的班级数,则输出该信息;d,定义按成绩查找函数,如果输入的数字等于其中学生的成绩数,则输出该信息;e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abcd四个函数。

(4)定义删除信息函数。

输入的数字作为要删除的学生学号,输出要删除的学生信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。

(5)定义信息修改函数。

输入的数字等于要修改的学生学号,输出要修改的学生信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出学生信息。

(6)定义信息统计函数。

输入一个数字作为成绩,比较M个学生成绩是否等于输入的数字,统计相等的个数n输出。

(7)定义成绩排序函数。

用冒泡排序法将M个学生的成绩按从大到小的顺序排列后输出。

4 定义主函数。

调用读取文件函数,输入数字1-5分别对应调用修改学生信息函数,删除学生信息函数,查找学生信息函数,统计学生信息函数,学生成绩排行信息函数,0表示退出系统。

最后调用保存文件函数。

结束程序。

流程设计:代码设计:#include<>#include<>#include<>#define M 2#define PAGE 2/*学生信息结构体类型*/typedef struct{int num; /*学号*/char name[20]; /*姓名*/int banji; /*班级*/int chengji; /*成绩*/int paiming; /*排名*/}STUDENTS;int read_file(STUDENTS students[])/*文件的读取*/{ FILE *fp;/*定义一个文件指针变量*/int i=0;if((fp=fopen("","r"))==NULL)/*文件空判断,fopen打开一个文件*/ { printf("\n\n*****库存文件不存在!请创建");return 0;}while(feof(fp)!=1)/*文件是否结束*/{ fread(&students[i],sizeof(STUDENTS),1,fp);/*读取文件*/if(students[i].num==0)/*学号是否为零*/break;elsei++;}fclose(fp);/*关闭文件*/return i;}void save_file(STUDENTS students[],int sum)/*保存文件*/{ FILE *fp;int i;if((fp=fopen("","wb"))==NULL)/*判断文件是否为空*/{ printf("读文件错误!\n");return;}for(i=0;i<sum;i++)if(fwrite(&students[i],sizeof(STUDENTS),1,fp)!=1)/*向文件写入的数据块不等于1*/printf("写文件错误!\n");fclose(fp);}/*输入模块*/int input(STUDENTS students[]){ int i=0;printf("\n\n 录入学生信息(最多%d 人)\n",M);printf("----------------------------------------------------\n");do{ printf("\n 第%d人",i+1);printf("\n 学生学号:");scanf("%d",&students[i].num);if(students[i].num==0) break;printf("\n 学生姓名:");scanf("%s",students[i].name);printf("\n 班级:");scanf("%d",&students[i].banji);printf("\n 成绩:");scanf("%d",&students[i].chengji);printf("\n 排名:");scanf("%d",&students[i].paiming);i++;}while(i<M);printf("\n --%d个学生信息输入完毕!--\n",i);printf("\n 按任意键返回主菜单!");getchar();return i;}/*输出模块*/void output(STUDENTS students[]){int i=0,j=0,page=1;printf("\n\n --学生信息表-- 第%d页\n\n",page);/*每两个一页*/printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("-------------------------------------------------------\n"); do{ if(students[i].num!=0){ j++;if(j%PAGE!=0){ printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("------------------------------------------------------\n");}}else{ printf("按任意键继续!");getchar();printf("\n\n --学生信息表-- 第%d页\n\n",++page);printf("学生学号----姓名-----班级----- 成绩-----排名\n"); printf("------------------------------------------\n");{ printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");}}i++;}while(students[i].num<M);printf("按任意键返回主菜单!");getchar( );}/*学生信息查询*/void find_by_num(STUDENTS students[],int sum) /*按学号查找*/{ int i,find_num;printf("\n 请输入要查找的学生学号:");scanf("%d",&find_num);for(i=0;i<sum;i++)if(students[i].num==find_num){printf("这是您所查找到的学生信息:\n");printf("学生学号----姓名-----班级----- 成绩-----排名\n"); printf("------------------------------------------\n");printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");break;}else{printf("\n 未找到要查找的学生信息,按任意键返回!"); getchar();}}void find_by_name(STUDENTS students[],int sum)/*按姓名查找*/ {int i;char find_name[20];printf("\n 请输入要查找的学生姓名:");scanf("%s",find_name);for(i=0;i<sum;i++);if(strcmp(students[i].name,find_name)==0) /*字符串比较相等返回0*/{printf("这是您所查找到属于该学生的信息:");printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("------------------------------------------\n");printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");}else{printf("\n 未找到要查找的学生信息,按任意键返回!");getchar();}}void find_by_banji(STUDENTS students[],int sum)/*按班级查找*/{int i;int find_banji;printf("\n 请输入要查找的学生班级:");scanf("%d",&find_banji);for(i=0;i<sum;i++)if(students[i].banji==find_banji){printf("这是您所查找到属于该班级的学生:");printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("------------------------------------------\n");printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");}else{printf("\n 未找到要查找的班级信息,按任意键返回!");getchar();}}void find_by_chengji(STUDENTS students[],int sum)/*按成级查找*/{int i;int find_chengji;printf("\n 请输入要查找的学生成绩:");scanf("%d",&find_chengji);for(i=0;i<sum;i++){if(students[i].chengji==find_chengji){printf("这是您所查找到有该成绩的学生:");printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("------------------------------------------\n");printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");}else{printf("\n 未找到要查找的学生信息,按任意键返回!");getchar();}}}void find(STUDENTS students[],int sum)/*定义查找总函数*/{ int choice;printf("\n 您要按照哪种方式查找 \n");/*用switch语句*/printf("\n 1.按学生学号查找 \n");printf("\n 2.按学生姓名查找 \n");printf("\n 3.按学生班级查找 \n");printf("\n 4.按学生成绩查找 \n");printf("\n 0. 退出\n");printf("\n 请选择(0-4): \n");scanf("%d",&choice);switch(choice){ case 1: find_by_num(students,sum); break;case 2: find_by_name(students,sum); break;case 3: find_by_banji(students,sum); break;case 4: find_by_chengji(students,sum); break;case 0: break;}}/*删除信息模块*/void del(STUDENTS students[]){ int i,g,sum;int del_num;printf("\n 请输入要删除的学生学号:");scanf("%d",&del_num);for(i=0;i<sum;i++)if(students[i].num==del_num)/*通过学号判断*/{printf("这是您所要删除学生信息:\n");printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("------------------------------------------\n");printf("%12d %10s %2d %3d %4d\n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");printf("您确认要删除吗");printf("按任意键继续!");getchar();printf("已成功删除学生信息!");}for(g=i;g<sum;g++){ students[g]=students[g+1];printf("删除后的信息表:\n");printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("------------------------------------------\n");printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");}}/*信息修改模块*/void modify(STUDENTS students[],int sum){int i=0,choice,modify_num,flag;do{printf("请输入要修改的学生学号:");scanf("%d",&modify_num);for(i=0;i<sum;i++)if(students[i].num==modify_num){ printf("\n\n --学生信息-- \n\n"); printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("------------------------------------------\n");printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n"); printf("\n 您要修改哪一项\n");printf("\n 1.学生姓名\n");printf("\n 2.学生班级\n");printf("\n 3.成绩\n");printf("\n 4.排名\n");printf("\n 请选择(1-4):\n");scanf("%d",&choice);switch(choice){ case 1: printf("\n 请输入修改后的学生姓名:");scanf("%s",students[i].name); break;case 2: printf("\n 请输入修改后的学生班级:");scanf("%s",students[i].banji); break;case 3: printf("\n 请输入修改后的成绩:");scanf("%s",students[i].chengji); break;case 4: printf("\n 请输入修改后的排名:");scanf("%d",&students[i].paiming); break;}printf("\n\n --学生信息-- \n\n"); printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("------------------------------------------\n");printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");break;}else{printf("\n 该学生不存在!");}printf("\n 修改成功!\n");printf("您要继续修改吗(Y/N)");if (choice=='Y'||choice=='y'){ flag=1;printf("\n 继续!\n");}else flag=0;}while( flag==1); /*直到不修改结束循环*/printf("\n 按任意键返回主菜单!");getchar();}/*学生信息统计模块*/void count(STUDENTS students[],int sum) /*统计某个成绩的学生个数*/ {int i;int count_chengji;int n=0;printf("请输入一个成绩:\n");scanf("%d",&count_chengji);for(i=0;i<sum;i++){if(students[i].chengji==count_chengji)/*计数*/n++;break;}printf("统计出属于该成绩的一共有%d个人\n",n);}/*成绩排序模块*/void sort(STUDENTS students[],int sum){STUDENTS t;int i,j;printf("\n\n --学生信息-- \n\n");printf("学生学号----姓名-----班级----- 成绩-----排名\n");printf("------------------------------------------\n");for(i=1;i<sum;i++){ for(j=i+1;j<sum;j++)if(students[j].chengji>students[i].chengji)/*冒泡排序法*/ {t=students[j];students[j]=students[i];students[i]=t;}}for(i=0;i<sum;i++){ printf("%12d %10s %2d %3d %4d \n",students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf("---------------------------------------------\n");}}void main(){STUDENTS students[M];int choice,sum;sum=read_file(students);/*文件读取*/if (sum==0){printf("请录入学生信息!*******\n");sum=input(students);/*输入信息*/}do{printf("\n\n\n *******学生信息管理系统******* \n\n");printf(" 1.修改学生信息 \n\n");printf(" 2.删除学生信息\n\n");printf(" 3.查找学生信息\n\n");printf(" 4.统计学生信息\n\n");printf(" 5.学生成绩排行信息\n\n");printf(" 0.退出系统\n\n");printf(" 请选择\n\n");scanf("%d",&choice);switch(choice){ case 1 : modify(students,sum); break;case 2 : del(students); break;case 3 : find(students,sum); break;case 4 : count(students,sum); break;case 5 : sort(students,sum); break;case 0 : break;}}while(choice!=0); /*直到选择退出系统*/ save_file(students,sum);}运行结果:。

相关文档
最新文档