学生信息管理系统c语言程序设计报告(完美)

合集下载

C语言程序设计报告-学生管理系统

C语言程序设计报告-学生管理系统

C语言程序设计大型作业报告题目:学生信息管理一、实践的目的和要求加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则.学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力.二、实践内容在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。

进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。

三、实践任务现有学生成绩信息,内容如下姓名学号语文数学英语张明明01 67 78 82李成友02 78 91 88张辉灿03 68 82 56王露04 56 45 77陈东明05 67 38 47…. .。

. .。

…请用C编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面:(一)功能要求:(1)信息维护:要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。

此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息(2)信息查询:要求:查询时可实现按姓名查询、按学号查询(3)成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况.(4)排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)(使用多种方法排序者,加分)(二)其它要求:(1)只能使用C语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档四、相关程序#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.num,p—〉,p—〉data.sex,p->data.egrade,p—〉data。

C语言程序设计报告(学生信息管理系统)

C语言程序设计报告(学生信息管理系统)

c用删除函数
break;
case 4:
search();
//调用查找函数
break;
case 5:
order();
//调用排序函数
break;
case 6:
average();
//调用求平均数函数
break;
case 7:
show();
//调用显示函数
break;
case 8
getch();
} } }
4.3 菜单显示 menushow.cpp
#include"head.h"
void menushow() //菜单显示函数
{
printf("\n");
printf("\t\t-------the student system-------\n");
printf("\t1.input the data
#define DEF
stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].math,stu[i].english,stu[i].chinese,stu[i].sum
#define N 50
#define DATA "F:\\c\\data.txt"
k
判断文件中是否存在要进行操作(比如删除等)的结构体
n
选择菜单的选择变量
3.主要数据结构说明
struct student {
long int num; char name[20]; char sex; int age; int math; int english; int chinese;

c学生管理系统课程设计报告

c学生管理系统课程设计报告

c学生管理系统课程设计报告一、课程目标知识目标:1. 理解学生管理系统的基本概念,掌握其功能模块和工作原理。

2. 学习数据库的基本操作,如创建、查询、更新和删除数据。

3. 掌握使用编程语言(如Python)结合数据库进行学生信息管理的方法。

技能目标:1. 能够独立设计并实现一个简单的学生管理系统,包括学生信息的增删改查功能。

2. 学会使用数据库存储和管理数据,提高数据处理能力。

3. 培养问题分析、解决方案设计和编程实现的能力。

情感态度价值观目标:1. 培养学生对信息技术的兴趣和爱好,提高学习积极性。

2. 培养学生的团队协作精神,学会在项目中分工合作、共同解决问题。

3. 增强学生的责任感和使命感,认识到信息技术在学生管理系统中的重要作用。

课程性质:本课程属于信息技术学科,结合数据库和编程知识,注重实践操作,培养学生的动手能力和实际应用能力。

学生特点:学生处于高年级阶段,具备一定的信息技术基础和编程能力,对实际应用项目有较高的兴趣。

教学要求:结合学生实际情况,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的实际操作能力和解决问题的能力。

将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。

二、教学内容1. 学生管理系统概述- 系统需求分析- 功能模块设计2. 数据库基础知识- 数据库概念及种类- 关系型数据库(如MySQL)的基本操作3. 编程语言选择与使用- Python编程基础- Python操作数据库(如使用SQLAlchemy)4. 学生管理系统实现- 系统架构设计- 学生信息模块实现(增删改查功能)- 用户权限管理5. 系统测试与优化- 功能测试- 性能测试- 系统优化策略6. 项目实践与展示- 团队合作完成学生管理系统- 系统演示与评价教学内容安排与进度:第一周:学生管理系统概述,数据库基础知识第二周:Python编程基础,Python操作数据库第三周:学生管理系统实现(学生信息模块)第四周:用户权限管理,系统测试与优化第五周:项目实践与展示教学内容与教材关联性:本教学内容与教材中关于数据库操作、Python编程以及实际应用项目开发等内容紧密相关,确保学生在学习过程中掌握学科知识,提高实际操作能力。

C语言学生信息管理系统报告(附有完整代码)

C语言学生信息管理系统报告(附有完整代码)

程序设计报告(2009/2010学年第二学期)题目:简单学生信息管理专业软件工程,NIIT,学生姓名 ******班级学号 ******指导教师 ******指导单位软件学院日期 2010-4-231-评分项成绩评遵守机房规章制度(5分) 上机时的表现(5分)学习态度(5分)程序准备情况(5分) 分程序设计能力(10分)团队合作精神(5分)课题功能实现情况(10分) 细算法设计合理性(10分)用户界面设计(10分)报告书写认真程度(5分) 则内容详实程度(10分)文字表达熟练程度(10分)回答问题准确度(10分)简短教师签名: 评语年月日评分等级备评分等级有五种:优秀、良好、中等、及格、不及格注2-学生管理系统一、课题内容和要求1、系统的基本功能实现学生信息的录入、查询和更新。

2、要求(1)从键盘上录入学生资料,并保存到文件中。

学生资料文件中的数据记录不得少于30条。

相关数据要求格式如下:学生资料存放了学号、姓名、性别、出生日期、A课程成绩、B课程成绩、C 文件课程成绩格式如下:B051001 张三女 19870201 80 82 77B051002 李四女 19870301 80 80 80B051003 王二男 19870401 85 80 80。

(2)可以随时补录学生资料。

(3)能够按照不同的条件查询学生信息,并显示在屏幕上。

a) 按学号排序b) 按姓名排序c) 按单科总分排序d) 按学号查找学生各门课成绩和平均分数e) 按姓名查找学生各门课成绩和平均分数f) 按学生总分排序g) 查询各门课程的平均分数3-二、需求分析需要设计并实现一个综合的学生信息管理系统,要求系统能实现以下功能:录入、查询和更新学生信息,并保存到文件中;学生资料文件中的数据记录不得少于30条;可以随时补录学生资料;可以按学号排序、按姓名排序、按单科总分排序、按学号查找学生各门课成绩和平均分数、按姓名查找各门课成绩和平均分数、按学生总分排序、实现各门课程的平均分数。

(完整word版)C学生信息管理系统报告

(完整word版)C学生信息管理系统报告

《可视化程序设计》项目设计报告报告题目:《学生信息管理系统》作者所在专业:软件工程作者所在班级:B13531作者学号: 201322542作者姓名:魏志鹏指导教师姓名:杨丽娟完成时间:2015。

12。

14计算机与遥感信息技术学院(完整word版)C学生信息管理系统报告目录第1章需求分析 01。

1 项目背景和问题的提出 01.2 项目意义和主要完成内容 0第2章概要设计 (1)2.1总体功能框架 (1)2。

2功能模块图 (1)2.3业务流程图 (2)第3章详细设计 (4)3.1学生信息设计 (4)3。

2 教师信息设计 (4)3.3 管理员信息设计 (5)第4章数据库设计 (6)4。

1数据表关系 (6)4.1.1整体模块图 (6)4。

1。

2学生登录模块图 (7)4。

1。

3教师登录模块图 (7)4。

1.4管理员登录模块图 (8)图4—1—4管理员登录模块图 (9)4。

2数据字典 (9)第5章系统测试 (14)5.1登录界面 (14)5.2学生信息界面 (14)5。

3教师信息界面 (16)5.4管理员信息界面 (18)第6章核心代码 (22)6.1登录功能核心代码 (22)6.2学生功能核心代码 (22)6。

3教师功能核心代码 (24)6.4管理员功能核心代码 (25)总结 (27)(完整word版)C学生信息管理系统报告第1章需求分析1.1 项目背景和问题的提出项目背景:随着学校整体能力的提高,有一个好的管理系统对于学校各方面的发展和管理有着巨大意义。

高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。

学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境.问题的提出:为了便于学生更好的学好可视化程序设计与现实的结合,先编写学生信息管理系统来实践这个问题。

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

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

2>N-S流程图三、详细设计说明:1>头文件#include <stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>2>数入口说明main();主函数;void menu();主菜单界面;void add();添加新的学生信息;void print(int i);打印学生信息;void scan();查找学生信息;void res();检索学生信息界面;void res_name();按姓名检索;void res_num();按学号检索;void del(int i);删除学生信息;void modify(int i);修改学生信息;void fileopen();打开文件;void filesave();保存文件;2>调用关系4.调试与测试: 编译工具1.C/C++程序设计学习与实验系统2.Tcmain() filesave()res()res_num()res_name()modify(int i)del(int i)menu()3.VC++6.0均通过调试!主菜单添加新的学生信息浏览所有学生信息检索信息库继续查找下一条修改学生信息删除信息库所有记录五、调试中所遇到的问题及解决方法1>问题:程序退出后,再次打开,上次输入的数据无法保存。

解决:调用fileopen()与filesave()保存文件数据,方便第二次打开程序时仍能调用上次输入的数据。

2>问题:跳出的界面与选择分支中的对应项不符合。

解决:改getchar()为getch(),头文件中加”conio.h”.因为getchar()从输入输出流中一次只能读取一个字符,而且需要以回车来确认输入。

本文件中多次用到getchar(),键盘缓冲区的’\n’会被下次调用getchar()时接收。

而getch()则不会,从键盘上读入一个数据,不给回显,不需要回车确认,按下键就实现了函数。

c语言学生管理系统课程设计报告总结 (2)

c语言学生管理系统课程设计报告总结 (2)

C语言学生管理系统课程设计报告总结1. 引言本报告总结了我们小组在C语言课程设计中开发的学生管理系统。

该系统旨在简化学校教务管理过程,提高教务工作效率,实现学生信息的快速查询、管理和统计。

本文将介绍系统的设计目标、主要功能模块以及我们在开发过程中遇到的挑战和解决方案。

2. 设计目标我们设计学生管理系统的主要目标是提供以下功能:•学生信息管理:包括学生基本信息的录入、查找、修改和删除操作。

•课程管理:包括课程信息的录入、查找、修改和删除操作。

•成绩管理:包括成绩录入、查询和统计功能。

•班级管理:包括班级信息的录入、查找、修改和删除操作。

3. 系统设计与实现3.1 数据结构设计为了存储学生信息、课程信息和成绩信息,我们设计了以下数据结构:•学生信息结构体:包含学生姓名、学号、性别、出生日期等字段。

•课程信息结构体:包含课程名称、课程号、学分等字段。

•成绩信息结构体:包含学生姓名、课程名称、分数等字段。

3.2 用户界面设计我们采用命令行界面来实现用户和系统的交互。

通过命令行菜单,用户可以选择不同的功能模块,并输入相应的命令进行操作。

我们通过C语言的输入输出函数来实现用户界面的显示和交互。

3.3 功能模块实现学生管理系统主要包含以下功能模块:•学生信息管理模块:实现学生信息的录入、查找、修改和删除操作。

•课程管理模块:实现课程信息的录入、查找、修改和删除操作。

•成绩管理模块:实现学生成绩的录入、查询和统计功能。

•班级管理模块:实现班级信息的录入、查找、修改和删除操作。

4. 开发过程中的挑战和解决方案在开发学生管理系统的过程中,我们遇到了以下挑战:1.数据存储和管理:如何有效地存储和管理大量的学生信息、课程信息和成绩信息。

我们采用了链表的数据结构来组织数据,通过指针进行关联和操作,以提高数据的访问效率。

2.用户界面设计:如何设计一个简洁、直观的用户界面,方便用户进行操作。

我们借鉴了其他类似系统的设计思路,采用了命令行菜单和命令交互的方式来实现用户界面,简化了用户操作的复杂性。

学生信息管理系统c语言程序设计报告(完美)

学生信息管理系统c语言程序设计报告(完美)

HUNAN UNIVERSITY程序设计训练报告学生姓名学生学号专业班级指导老师院长 (系主任)2013 年 5 月25 日目录一系统功能简介 (3)二本人完成的主要工作 (3)三实训分析 ............................... ..4四实训设计 ........... .. (5)五实训源程序代码和调试过程 (7)六实训总结 (11)附录1 (12)附录2 .................................12-22一系统功能简介.学生信息管理系统1, 进入主界面:要求输入密码,输入三次错误系统锁定。

2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。

3,显示记录:显示学生的各项信息。

4,增加记录: 增加多个学生的基本信息,位于之前的学生后面。

5,删除记录: 删除学生信息。

6,修改记录:可以修改学生的任何一项基本信息。

7,查找记录:可以根据学生的学号查找并显示出学生的信息。

8,统计记录: 统计全班通过情况和不及格情况。

9,退出系统经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。

二本人完成的主要工作学生信息管理系统由我和龚晨同学共同完成。

主程序的编写由我们两个共同完成。

我负责的是:1、修改记录:可以修改学生的任何一项基本信息。

2、查找记录:可以根据学生的学号查找并显示出学生的信息。

3、统计记录: 统计全班通过情况和不及格情况。

4、退出系统三实训分析1、用结构化程序设计思想进行 C环境下程序设计。

2、设计一个管理系统,上机编程、调试并通过该管理系统中的各功能模块。

3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面的图文材料即程序设计说明书各一份。

4、基于结构化程序设计思想和所使用的 C语言开发环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理四实训设计1、系统功能模块结构图本图书管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,统计数据,查找记录,七个大模块组成,其总体结构图如下:2.核心数据结构设计:1.头文件说明如:#include<string.h>#include<stdio.h>#include<stdlib.h>#include<conio.h>2,函数的编写定义结构类型;定义全局变量;定义、编写记录(数据)输入函数;定义、编写记录(数据)显示函数;定义、编写记录(数据)增加函数;定义、编写记录(数据)删除函数;定义、编写记录(数据)修改函数;定义、编写记录(数据)统计函数;定义、编写记录(数据)查找函数;3. 核心算法描述(程序流程图)主函数结构流程五实训源程序代码和调试过程(包括截图)1.1进入界面图一输入密码进行身份验证,输入三次则系统锁定。

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

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

C语言课程设计报告 --学生管理系统一、实验目的:通过本次实验,学习C语言的语法和数据类型,设计一个简单的学生管理系统,结合文件I/O所学,可以将学生信息保存至文件中,再读取时自动填充至程序中。

同时,体验软件开发的流程,从需求分析到具体实现。

二、需求分析:1、学生信息包括:学号、姓名、性别、年龄、成绩。

2、学生信息需要添加、删除、修改、查找和显示。

3、程序启动时自动从文件中读取数据,退出时自动保存数据。

三、实验过程:1、确定数据结构和变量类型通过分析需求,学生信息包含多个属性,可以使用结构体来保存每个学生的信息。

同时,为了便于程序运行,需要定义一个链表来保存所有学生信息。

/* 学生信息结构体 */typedef struct _Student {char id[12]; // 学号char name[20]; // 姓名char gender; // 性别int age; // 年龄double score; // 成绩} Student;/* 学生信息链表节点 */typedef struct _StudentNode {Student data; // 学生信息struct _StudentNode *next; // 下一节点指针} StudentNode;/* 学生信息链表头节点 */StudentNode *head = NULL;2、设计主菜单功能考虑学生管理系统的主要功能,可以设计以下主菜单:---------------------------1. 添加学生2. 删除学生3. 修改学生信息4. 查找学生5. 显示所有学生6. 退出---------------------------可以使用一个while循环来循环处理,直到用户选择退出。

3、实现主菜单功能添加学生:先从用户输入中获取学生信息,然后创建一个新的学生信息节点,并将其添加到链表的末尾。

1. 定义变量/* 输入缓存区大小 */#define BUFFER_SIZE 2562. 实现函数/* 添加学生到链表末尾 */void add_student() {Student student; // 待添加的学生信息printf("请输入学号:");scanf("%s", student.id);printf("请输入姓名:");scanf("%s", );printf("请输入性别(M/F):");scanf(" %c", &student.gender);printf("请输入年龄:");scanf("%d", &student.age);printf("请输入成绩:");scanf("%lf", &student.score);StudentNode *node =(StudentNode*)malloc(sizeof(StudentNode));node->data = student;node->next = NULL;if (head == NULL) {head = node;} else {StudentNode *p = head;while (p->next != NULL) {p = p->next;}p->next = node;}printf("添加学生成功!\n");}删除学生:先从用户输入中获取学生学号,然后遍历链表,找到该学号对应的学生信息节点,并删除。

C语言实验报告-学生信息资源管理系统

C语言实验报告-学生信息资源管理系统

C语言实验报告一、问题描述编写一个信息管理系统,包括、性别、年龄、班级、**、地址、各科成绩等,要求能进行查找、排序和计算,按加权平均排序、按*一课程排序和按**排序。

二、分析问题,解决问题的步骤1、输入初始的学生信息:输入信息包括学生的、性别、年龄、班级、**、地址、各科成绩等相关信息;可用函数void input(STUDENT *data, int *len)来实现此操作。

2、成绩输出模块:输出学生的信息以及成绩void output(STUDENT *data, int len):通过学生的来查看学生的相关成绩,同时也可以分别通过caverage() 、maverage() 、eaverage() 和average() 来输出成绩的平均分数、最高和最低分数。

3、排序模块:用函数void sort(STUDENT *data, int len)来实现。

4、成绩查询模块:可用void find(STUDENT *data, int len) 来实现。

找到就输出此学生全部信息。

5、统计功能能:用函数void stat(STUDENT *data, int len) 来实现。

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

三、程序编写#include <stdlib.h>#include <stdio.h>#include <string.h>#define MA*N 35#define Ma*size325typedef struct student //学生信息{int no;char name[Ma*size];char se*[Ma*size];char age[Ma*size];char adress[Ma*size];char glassnum[Ma*size];double Chinese;double math;double English;double mark_ave;double mark_tot;} STUDENT;/*-----------输入信息子程序---------*/ void input(STUDENT *data, int *len) {int no;putchar('\n');printf("%s\n", "请输入新的记录,如果需要退出当前菜单请输入-1.");printf("%s\n", "格式:\n**\n");printf("%s\n", " 性别年龄地址班级 ** 语文数学英语");putchar('\n');printf("如:\n");printf("1\n");printf("三 93 95 89\n");scanf("%d", &no);while(no != -1) {data[*len].no = no;scanf("%s %s %s %s %s %lf %lf %lf", data[*len].name,&data[*len].se*,&data[*len].age,&data[*l en].adress,&data[*len].glassnum,&data[*len].Chinese,&data[*len].math,&data[*len].English);data[*len].mark_ave=(data[*len].Chinese+data[*len].ma th+data[*len].English)/3.0;data[*len].mark_tot=data[*len].Chinese+data[*len].mat h+data[*len].English;(*len)++;scanf("%d", &no);}/*---------------输出信息子程序---------------*/ void output(STUDENT *data, int len){int i;system("cls");printf("%8s", "");printf("%8s", "性别");printf("%8s", "年龄");printf("%8s", "地址");printf("%8s", "班级");printf("%8s", "语文");printf("%8s", "数学");printf("%10s", "英语");printf("%12s", "平均分");printf("%10s", "总分");putchar('\n');for (i =0; i < 80; i++)putchar('=');putchar('\n');for (i = 0; i< len; i++){printf("%8d", data[i].no);printf("%8s", data[i].name);printf("%8s", data[i].se*);printf("%8s", data[i].age);printf("%8s", data[i].adress);printf("%8s", data[i].glassnum);printf("%8.1lf", data[i].Chinese); printf("%8.1lf", data[i].math);printf("%10.1lf", data[i].English); printf("%12.1lf", data[i].mark_ave); printf("%10.1lf", data[i].mark_tot); putchar('\n');}for (i =0; i < 80; i++)putchar('=');putchar('\n');printf("按回车键继续.");getchar();getchar();}/*--------------排序子程序------------*/void sort(STUDENT *data, int len){int i,j,k;STUDENT temp;for (i=0; i<len-1; i++) {for (k=i, j=i+1; j<len; j++)if (data[k].mark_ave > data[j].mark_ave) k=j;if (k != i) {temp = data[i];data[i] = data[k];data[k] = temp;}}}/*--------------------查询子程序-----------------------*/ void find(STUDENT *data, int len){int find_no, result ;int i;lab: result=0;printf("%s\n", "请输入需要查找的学生的**,退出当前菜单请输入 -1.");scanf("%d", &find_no);if (find_no == -1) return; /*e*it the fine sub program*/while( data[result].no != find_no && result < len) result ++;if (result >= len ) {printf("%s\n", "未查询到相关信息");goto lab;}else {system("cls");printf("%s\n", "查询信息如下:");for (i =0; i < 80; i++)putchar('=');putchar('\n');printf("%8s", "**");printf("%8s", "");printf("%8s", "性别");printf("%8s", "年龄");printf("%8s", "地址");printf("%8s", "班级");printf("%8s", "语文");printf("%8s", "数学");printf("%10s", "英语");printf("%12s", "平均分");printf("%10s", "总分");putchar('\n');printf("%8d", data[result].no);printf("%8s", data[result].name);printf("%8s", data[result].se*);printf("%8s", data[result].age);printf("%8s", data[result].adress);printf("%8s", data[result].glassnum);printf("%8.1lf", data[result].Chinese);printf("%8.1lf", data[result].math);printf("%10.1lf", data[result].English);printf("%12.1lf", data[result].mark_ave);printf("%10.1lf", data[result].mark_tot);putchar('\n');for (i =0; i < 80; i++)putchar('=');putchar('\n');goto lab;}}/*---------------统计子程序------------*/void stat(STUDENT *data, int len){int no_59=0, no_69=0, no_79=0, no_89=0, no_100=0; int i;for (i = 0;i < len; i++) {if (data[i].mark_ave <=59) no_59++;else if (data[i].mark_ave <=69) no_69++;else if (data[i].mark_ave <=79) no_79++;else if (data[i].mark_ave <= 89) no_89++;else no_100++;}system("cls");for (i =0; i < 80; i++)putchar('=');putchar('\n');printf("%10s", "分数");printf("%10s", "0--59"); printf("%10s", "60--69"); printf("%10s", "70--79"); printf("%10s", "80--89"); printf("%10s", "90--100");putchar('\n');putchar('\n');printf("%10s", "学生");printf("%10d", no_59);printf("%10d", no_69);printf("%10d", no_79);printf("%10d", no_89);printf("%10d", no_100);putchar('\n');for (i =0; i < 80; i++)putchar('=');putchar('\n');printf("按回车键返回");getchar();getchar();}/*---------------显示信息子程序------------*/void paint(){int i;system("cls");printf("%55s\n", "信计二班学生成绩管理系统\n");printf(" 制作者: ** \n");for (i = 0; i < 80; i++)putchar('=');putchar('\n');printf(" 1 输入信息 2 输出信息\n");printf(" 3 按平均分排序 4 按**查找\n");printf(" 5 按平均分输出统计信息 6 保存到文件\n");printf(" 0 退出\n");for (i = 0; i<= 79; i++)putchar('=');putchar('\n');printf("%s\n", "请输入各操作对应的序号:");}void save(STUDENT *data, int len)//将数据保存到文件{int i;FILE *fp;fp=fopen("成绩统计表.t*t","w");fprintf(fp,"%8s", "**");fprintf(fp,"%8s", "");fprintf(fp,"%8s", "性别");fprintf(fp,"%8s", "年龄");fprintf(fp,"%8s", "地址");fprintf(fp,"%8s", "班级");fprintf(fp,"%8s", "语文");fprintf(fp,"%8s", "数学");fprintf(fp,"%10s", "英语");fprintf(fp,"%12s", "平均分");fprintf(fp,"%10s\n", "总分");fprintf(fp,"=============================================== =========================\n");putchar('\n');for (i = 0; i< len; i++)fprintf(fp,"%8d", data[i].no);fprintf(fp,"%8s", data[i].name);fprintf(fp,"%8s", data[i].se*);fprintf(fp,"%8s", data[i].age);fprintf(fp,"%8s", data[i].adress);fprintf(fp,"%8s", data[i].glassnum);fprintf(fp,"%8.1lf", data[i].Chinese);fprintf(fp,"%8.1lf", data[i].math);fprintf(fp,"%10.1lf", data[i].English);fprintf(fp,"%12.1lf", data[i].mark_ave);fprintf(fp,"%10.1lf\n", data[i].mark_tot);}fprintf(fp,"=============================================== =========================\n");fclose(fp);printf("文件已保存到\"成绩统计表.t*t\"");getchar();getchar();}/*-----------主程序--------------*/void main()STUDENT data[MA*N];int len = 0;char ctrl_ch;paint();scanf("%c", &ctrl_ch);while (ctrl_ch != '0') {; case '1':input(data, &len);break;case '2':output(data, len);break;case '3':sort(data, len);break;case '4':find(data, len);break;case '5':insert(data, &len);break;case '6':delete_item(data, &len);break;case '7':stat(data, len);break;case '8':save(data, len);break;default:if (ctrl_ch != '\n') printf("%s\n", "输入错误!");break;}if (ctrl_ch != '\n') paint();scanf("%c", &ctrl_ch);}}四、误差分析此程序没有按加权平均排序功能是本程序的一大弊端,还有就是所列科目少了点,由于本课题中的许多知识点都没有学过,需要查找课外资料,所以如有错误,希望老师多多指正,!。

C语言学生管理系统综合实验报告

C语言学生管理系统综合实验报告

C语言学生管理系统综合实验报告##一、实验目的本实验旨在设计和实现一个简单的学生管理系统,使用C语言编写,帮助学生了解C语言常用的数据结构和文件操作,并能够实际应用在实际的学生管理中。

##二、实验内容本实验要求设计一个学生管理系统,能够完成以下功能:1.添加学生信息:包括学号、姓名、性别、年龄等基本信息;2.修改学生信息:根据学号修改学生的基本信息;3.删除学生信息:根据学号删除学生的信息;4.查询学生信息:根据学号或姓名查询学生的信息;5.显示全部学生信息:将所有学生的信息显示出来;6.保存学生信息到文件:将学生的信息保存到文件中;7.从文件读取学生信息:从文件中读取学生的信息。

##三、实验设计###数据结构设计在设计学生管理系统时,我们需要选择合适的数据结构来存储学生的信息。

本实验中,我们选择使用结构体来表示学生的信息,代码如下:```cstruct Studentint id; // 学号char name[20]; // 姓名char gender[5]; // 性别int age; // 年龄};```###功能实现根据实验要求,我们需要实现添加、修改、删除、查询、显示和文件操作等功能。

以下是具体实现的思路:1.添加学生信息:从用户输入获取学生的信息,并将其添加到学生数组中;2.修改学生信息:根据用户输入的学号,在学生数组中找到对应的学生信息,并更新其基本信息;3.删除学生信息:根据用户输入的学号,在学生数组中找到对应的学生信息,并将其删除;4.查询学生信息:根据用户输入的学号或姓名,在学生数组中找到对应的学生信息,并将其显示出来;5.显示全部学生信息:遍历学生数组,将所有学生的信息显示出来;6.保存学生信息到文件:将学生数组中的所有学生信息保存到文件中;7.从文件读取学生信息:从文件中读取学生信息,并将其存储到学生数组中。

##四、实验结果经过实验的设计与实现,我们成功完成了学生管理系统的编写,并进行了测试。

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

学生信息管理系统C语言课程设计报告
与字符串的关系以及字符串的简单处理。 ③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数
之间的关系;掌握变量的作用域与生存期,了解函数的作用域。 ④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构
体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。 ⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件
7)分组及安排 所选题目根据学生班号和学号确定,(班号+学号)% 6+1。如你的班号为 01 班、学号为 01,则所选题目号为:(1+1)%6+1=3,即课题号为 3。
8)成绩评定 ①程序设计方案是否合理;②程序设计是否正确题情况;⑥课程设计周表现情况;总评成绩 记入“课程设计成绩评分表”。
审批
任务书下达日期 2012 年 12 月 19 日 任 务 完 成 日 期 2012 年 12 月 29 日
一、设计内容与设计要求
1. 设计内容:学生信息管理系统设计
涉及的知识点:
①掌握并熟练运用 C 语言的基本数据类型与各种表达式,程序的流程控制语句; ②掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组
long int xh
/*学号*/
char name[10]
/*姓名*/
char xb[4]
/*性别*/
int nl
/*年龄*/
char czrq[10]
/*出生年月*/
char address[10]
/*地址*/
char phone[15]
/*电话号码*/
char e_mail[20]
/*E-mail*/
五、程序调试....................................................................................................................................... 8

C语言 学生信息管理系统(完整版)

C语言 学生信息管理系统(完整版)

电子科技大学成都学院程序综合设计论文论文题目学生信息管理系统学生姓名魏国学号1340840625专业机械设计制造及其自动化系(分院)电子工程系授课教师杜娥2015年12月制摘要随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。

本系统主要对学生各种信息进行处理。

本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。

本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。

学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。

它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。

学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。

学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。

关键字:学生信息,管理系统,数据库,C语言编写第一章系统功能和组成模块1.1系统功能学生信息管理系统存放了每个学生的学号,姓名,性别,年龄,出生年月,家庭住址,政治面貌等信息的数据库。

C语言程序设计与分析报告学生信息管理系统设计

C语言程序设计与分析报告学生信息管理系统设计

C语言程序设计与报告:学生信息管理系统设计作者:日期:设计题目:学生信息管理系统设计学号:院校班级:姓名:指导老师:目录一、设计题目--------------------------------- 3二、概述系统--------------------------------- 3三、设计大纲--------------------------------- 4四、运行效果图------------------------------- 5五、设计流程图------------------------------- 8六、调试过程-------------------------------- 14七、设计总结-------------------------------- 14八、参考文献-------------------------------- 15九、源程序清单------------------------------ 15学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。

试设计一学生信息管理系统,使之能提供以下功能:1、2、3、4、系统以菜单方式工作。

学生信息录入功能——输入。

学生信息浏览功能——输出。

学生信息查询功能——算法。

按学号查询;按姓名查询。

5、学生信息的删除与修改概述系统我主要设计一个能实现学生信息管理系统,让它来运行和管理学生信息。

它在现实生活中运用方便的、管理方便。

它能输入学生学号、年龄、性别、出生年月、地址电话E-mail。

系统以菜单的方式进行工作,进入子菜单后,还可以返回主菜单。

在子菜单中的各种操作都有- 2 -中文说明,操作简单、易懂。

只要我们正确的操作系统,系统就无异常现在,当然系统也能对一些基本的错误做出提示,并能让使用者重新进行操作。

对各个操作的成功,如:添加学生信息、修改学生信息、删除学生信息,系统都输出“ ⋯⋯.的成功”的字样。

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

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

华东交通大学理工学院课程设计报告书所属课程名称C语言程序设计课程设计题目学生信息管理系统设计分院电信分院专业班级2015级电信工程()班学号学生姓名指导教师肖盛文20 年月日目录一.需求分析 (3)二.概要设计 (5)三.详细设计与编码 (5)四.调试分析 (9)五.用户使用说明 (22)六.设计心得 (24)七.参考文献 (25)致谢一、需求分析:Ⅰ.总体功能设计:学生信息管理系统存放了每个学生的学号、姓名、性别、年龄、出生年月日、地址、电话号码、E-mail信息地数据库。

每个人的信息定义在一个结构体变量中。

其结构如下:系统通过显示程序、追加程序、查询程序、删除程序、修改程序、排序程序来实现学生信息管理系统的显示功能、追加功能、查询功能、删除功能、修改功能、排序功能。

各个功能的调用通过主函数中的switch语句来实现。

Ⅱ.各模块功能:ⅰ.显示模块:通过设计一个模块,来实现学生信息的显示。

以便于浏览学生的信息。

ⅱ.追加模块:通过设计一个模块,当要加入新的学生的信息的时候,来实现新学生信息的加入。

iii.查询模块:通过设计一个模块,这个模块可以按学生的学号、姓名来查询学生所有的信息,并显示学生的所有信息,以便查询者阅读。

iv.删除模块:通过设计一个模块,当输入一个学生的学号或者姓名的时候,可以通过这个模块,将输入学号或者姓名的学生的所有信息从数据库中删除出去。

以后,这个学生的信息将不再会出现再数据库中。

v.修改模块:通过设计一个模块,当某个人的信息发生变化的时候,可以通过修改模块来进行修改。

修改模块时一具有多级子菜单的摸块。

使用十分的方便、灵活。

vi.排序模块:通过设计一个模块,来实现数据库的信息按某项成员名的伸序或者降序排列。

这个模块提供了按学号、姓名、年龄三种方式来实现排序,使浏览者一目了然。

二.概要设计:三、详细设计与编码Ⅰ.总流程图:Ⅱ.各模块流程图: ⅰ.删除程序:ⅱ.查询程序:四.调试分析I.显示程序:1.如果运行程序,将出现如下的界面:图1--12.此时如果输入1,并按回车键,程序将进入显示模块,通过显示模块显示所有学生的所有信息。

c语言程序设计报告-学生信息管理系统 精品

c语言程序设计报告-学生信息管理系统 精品

C语言程序设计实践报告题目学生信息管理系统#include <string.h>#include <windows.h>struct student{long int num;char name[20];int age;char sex[4];int class;int pt; /*定义一个变量来储存大学物理的考试成绩*/int ps; /*定义一个变量来储存大学物理的平时成绩*/int et; /*定义一个变量来储存英语的考试成绩*/int es; /*定义一个变量来储存英语夫人平时成绩*/int ct; /*定义一个变量来储存微积分的考试成绩*/int cs; /*定义一个变量来储存微积分的平时成绩*/int xt; /*定义一个变量来储存信号的考试成绩*/int xe; /*定义一个变量来储存信号的平时成绩*/};int n=0;struct student stu[100];struct student *p;void tc();void tc()void lr();/*录入函数*/void ll();void cx();/*查询函数*/void xg();/*修改函数*/void sc();/*删除函数*/void bj();/*不及格学生列表函数*/void pj();/*平均成绩计算函数*/void kc();/*课程查询函数*/②主函数模块:一般比较简单,只提供输入,处理,输出的调用函数,即只有界面显示语句,子函数选择语句,主要的调用语句。

void main(){int z;printf("\t\t\t +---------------------------+\n");printf("\t\t\t | 学生信息管理系统欢迎您 |\n");printf("\t\t\t +---------------------------+\n");printf("\t\t\t + 设计者:张眼\n");printf("\t\t\t + 指导老师:刘伟荣\n");printf("重要提示:为保证您的操作得到保存,请按正常顺序退出系统!谢谢合作\n");do{printf("\n\t\t\t+++++++++++++++++++++++++++++\n");printf("\t\t\t|** 菜单 **|\n");printf("\t\t\t+++++++++++++++++++++++++++++++++\n");printf("\t\t\t* [1]----录入/插入学生信息 *\n");printf("\t\t\t* [2]----浏览学生信息 *\n");printf("\t\t\t* [3]----查询学生信息 *\n");printf("\t\t\t* [4]----删除学生信息 *\n");printf("\t\t\t* [5]----修改学生信息 *\n");printf("\t\t\t* [6]----不及格学生列表 *\n");printf("\t\t\t* [7]----成绩信息查询 *\n");printf("\t\t\t* [8]----平均成绩 *\n");printf("\t\t\t* [0]----退出系统 *\n");printf("\t\t\t********************************\n"); printf("请输入您的选择:");scanf("%d", &z);switch(z){case 0 :tc();break;case 1 :lr();break;case 2 :ll();break;case 3 :cx();break;case 4 :sc();break;case 5 :xg();break;case 6 :bj();break;case 7 :kc();break;case 8 :pj();break;default:printf("\n无效选项!");}}while(z!= 0);}运行结果:③输入模块:输入部分包括学生的姓名,学号等基本信息以及学生的大学物理,英语,微积和信号的成绩,主要是通过指针来实现数据的输入。

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

HUNAN UNIVERSITY 程序设计训练报告学生姓名学生学号专业班级指导老师院长 (系主任)2013 年 5 月25 日目录一系统功能简介 (3)二本人完成的主要工作 (3)三实训分析 ............................... ..4四实训设计 ........... .. (5)五实训源程序代码和调试过程 (7)六实训总结 (11)附录1 (12)附录2 .................................12-22一系统功能简介.学生信息管理系统1, 进入主界面:要求输入密码,输入三次错误系统锁定。

2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。

3,显示记录:显示学生的各项信息。

4,增加记录: 增加多个学生的基本信息,位于之前的学生后面。

5,删除记录: 删除学生信息。

6,修改记录:可以修改学生的任何一项基本信息。

7,查找记录:可以根据学生的学号查找并显示出学生的信息。

8,统计记录: 统计全班通过情况和不及格情况。

9,退出系统经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。

二本人完成的主要工作学生信息管理系统由我和龚晨同学共同完成。

主程序的编写由我们两个共同完成。

我负责的是:1、修改记录:可以修改学生的任何一项基本信息。

2、查找记录:可以根据学生的学号查找并显示出学生的信息。

3、统计记录: 统计全班通过情况和不及格情况。

4、退出系统三实训分析1、用结构化程序设计思想进行C环境下程序设计。

2、设计一个管理系统,上机编程、调试并通过该管理系统中的各功能模块。

3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面的图文材料即程序设计说明书各一份。

4、基于结构化程序设计思想和所使用的C语言开发环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理四实训设计1、系统功能模块结构图本图书管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,统计数据,查找记录,七个大模块组成,其总体结构图如下:2.核心数据结构设计:1.头文件说明如:#include<string.h>#include<stdio.h>#include<stdlib.h>#include<conio.h> 2,函数的编写定义结构类型;定义全局变量;定义、编写记录(数据)输入函数;定义、编写记录(数据)显示函数;定义、编写记录(数据)增加函数;定义、编写记录(数据)删除函数;定义、编写记录(数据)修改函数;定义、编写记录(数据)统计函数;定义、编写记录(数据)查找函数;3. 核心算法描述(程序流程图)主函数结构流程N五实训源程序代码和调试过程(包括截图)1.1进入界面图一输入密码进行身份验证,输入三次则系统锁定。

1.2选择菜单图二主菜单接界面,选择数字执行相应功能。

1.3输入信息图三依次输入学生的各项基本信息。

1.4 显示信息图四可以显示录入及增加的各项信息。

1.5 增加信息图五根据需要添加新的学生信息。

1.6 删除记录图六删除信息。

1.7修改记录图七可修改任何学生的任何一项纪录。

1.8 统计信息图八对所有的信息进行统计显示不及格人数。

1.9 查找信息图九根据学号查找出需要的学生信息。

六实训结论通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。

不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以较快看出来。

这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。

如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。

C语言是一个有序的学习,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,要从整体上把握。

不过通过实训我也知道了自己的不足,存在的很多问题。

希望能在以后的学习中,不断提高自己的能力,让问题越来越少。

附录1参考文献[1 ] 刘振安等.C程序设计课程设计.北京:机械工业出版社,2004.9[2] 谭浩强等.c语言程序设计.(第二版).清华大学出版社,2002,.8[3] 张引等著《C程序设计设计基础课程设计》浙江大学出版社2007[5] 曹哲等《C程序设计课程设计》机械工业出版社2010.7附录2源程序代码#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>#define N 20struct student /*定义学生结构体*/{long num;char name[20];char sex[2];char address[20];int score[3];int sum;int ave;};struct student stu[N]; int t=1,pl=0;void enter();void input();void display();void add();void delet();void amend();void preside(); void fint();void output(); void main(){int password;int i;printf("\n\n\n\n\t\t\t欢迎进入学生信息管理系统\n"); /*初始界面输入验证密码*/for(i=1;i<=3;i++){printf("\n\n\t\t\t请输入密码:");scanf("%d",&password);if(password==000000){enter();break;}printf("error!please input again!");}printf("密码输入三次有误!系统锁定!");}void enter() /*进入主菜单函数*/{int choice,w;char k;system("cls");printf("\t\t\t学生信息管理系统\n\n");printf("\t\t1. 录入.\t2. 显示.\t3. 增项.\t4. 删项.\n\t\t5. 修改.\t6. 统计.\t7. 查找.\t8.退出.\n"); printf("\n 输入序号执行相应功能:");scanf("%d",&choice);switch(choice){case 1: input();break;case 2: display(); break;case 3: add();break;case 4: delet();break;case 5: amend();break;case 6: preside(); break;case 7: fint(); break;case 8: output();break;default: w=1;}if(w==1){printf("输入有误,按任意键重新选怿.\n");k=getchar();getch();enter();}}void input() /*学生信息录入的函数*/{int x,count=0,i;char w,r[20],o;struct student *p;p=stu;system("cls");printf("\t\t\t 学生信息的录入.\n");do{pl++;printf("请输入第%d 个学生的信息.\n\n",t);printf("学号:\n");scanf("%ld",&p->num);printf("姓名:\n");scanf("%s",&p->name);printf("\n");printf("性别:\n");gets(r);gets(&p->sex);printf("\n");printf("地区:\n");scanf("%s",&p->address);printf("\n");printf("三门成绩:1.语文.2.数学.3.英语.\n");for(i=0;i<3;i++)scanf("%d",&p->score[i]);p->sum = p->score[0] + p->score[1] + p->score[2];p->ave = p->sum/3;printf("\n\n 是否要继续输入学生信息,如果是请按y;不是请按n.\n");o=getchar();w=getchar();if(w=='y' || w=='Y'){t++;x=1;p++;}elsex=0;}while(x==1);if(w=='n' || w=='N')printf("按任意键返回.\n");getch();enter();}void display() /*显示学生信息*/{int i,j;system("cls");printf("\t\t\t 学生信息显示.\n\n");for(j=0;j<t;j++){printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n","学号","姓名","性别","地区","语文","数学","英语","平均分","总分");printf("%ld\t%s\t%s\t%s\t",stu[j].num,stu[j].name, stu[j].sex,stu[j].address);for(i=0;i<3;i++)printf("%d\t", stu[j].score[i]);printf("%d\t", stu[j].ave);printf("%d\t", stu[j].sum);printf("\n\n");}printf("\n 按任意键返回.\n");getch();enter();}void add() /*学生信息的增加*/{int i,x;char a, w;struct student *p;p=stu+t;system("cls");printf("\n\t\t\t增加学生信息.\n");do{printf("请输入第%d 个学生的信息.\n\n",t+1);printf("学号:\n");scanf("%ld",&p->num);printf("\n");printf("姓名:\n");scanf("%s",p->name);printf("\n");printf("性别:\n");scanf("%s",p->sex);printf("\n");printf("地区:\n");scanf("%s",p->address);printf("\n");printf("三门成绩:1.语文.2.数学.3.英语.\n");for(i=0;i<3;i++)scanf("%d",&p->score[i]);for(i=0;i<3;i++)p->sum = p->score[0] + p->score[1] + p->score[2];p->ave = p->sum/3;a=getchar();printf("\n 是否要继续输入学生信息,如果是请按y;不是请按n.\n\n");w=getchar();p++;t++;if(w=='y'||w=='Y'){x=1;}if(w=='n'||w=='N'){x=0;break;}}while(x==1) ;if(x==0){printf("\n");printf("按任意键返回.\n");getch();enter();}}void delet() /*学生信息的删除*/{long b;int z,j;int r=t;char c,x;struct student *p;system("cls");printf("\n\t\t\t删除学生信息\n");printf(" 请输入要删除学生的学号:\n\n");scanf("%ld",&b);for(p=stu;p<stu+t;p++)if(p->num==b)break;elser--;if(r==0){printf("你要删除的学生不存在,请按任意键返回.\n");getch();enter();}printf("\n 你要删除的学生为:\n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s %-8s%-8s\n\n","学号","姓名","性别","地区","语文","数学","英语","平均分","总分");printf("%-8ld%-8s%-8s%-8s",p->num,p->n ame,p->sex,p->address);for(j=0;j<3;j++)printf("%-8d",p->score[j]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n你确定要删除吗?如是请输入y;不是请输入n.\n");x=getchar();c=getchar();if(c=='y'||c=='Y'){for(p=stu;p<stu+t;p++)*p=*(p+1);t--;printf("系统已为你删除信息,请按任意键返回.\n");getch();enter();}if(c=='n'||c=='N'){printf("删除信息取消!按任意键返回.\n");getch();enter();}}void amend() /*学生信息的修改*/{long j;int i,z,r=t;char c,d,e,f,q,u,l,v,m,k,h1,h2,h3,h4;struct student *p;system("cls");printf("\n\t\t\t修改学生信息\n");printf(" 请输入要修改学生的学号:\n\n"); scanf("%ld",&j);for(p=stu;p<stu+t;p++)if(p->num==j)break;elser--;if(r==0){printf("你输入的学生不存在,请按任意键返回.\n");getch();enter();}printf("\n 你要修改的学生为:\n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n","学号","姓名","性别","地区","语文","数学","英语","平均分","总分");printf("%-8ld%-8s%-8s%-8s",p->num,p->na me,p->sex,p->address);for(j=0;j<3;j++)printf("%-8d",p->score[j]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n\n 是否要修改学号:是请按y;不是请按n.\n\n");l=getchar();c=getchar();if(c=='y'||c=='Y'){printf("请输入正确的学号:\n\n");scanf("%ld",&p->num);}if(c=='n'||c=='N')z=1;printf("是否要修改姓名:是请按y;不是请按n.\n\n");q=getchar();d=getchar();m=getchar();if(d=='y'||d=='Y'){printf("请输入正确的姓名:\n");scanf("%s",p->name);u=getchar();}if(d=='n'||c=='N')z++;printf("\n 是否要修改性别:是请按y;不是请按n.\n\n");e=getchar();k=getchar();if(e=='y'||e=='Y'){printf("请输入正确的性别:\n");scanf("%s",p->sex);}if(e=='N'||e=='n')z++;printf("\n 是否要修改地区:是请按y;不是请按n.\n\n");h3=getchar();h4=getchar();if(h3=='y'||h3=='Y'){printf("请输入正确的地区:\n");scanf("%s",p->address);}if(h3=='N'||h3=='n')z++;printf("\n 是否要修改三门成绩:是请按y;不是请按n.\n\n");f=getchar();if(f=='y'||f=='Y'){printf("请输入正确的三门成绩:");for(i=0;i<3;i++)scanf("%d",&p->score[i]);p->sum = p->score[0] + p->score[1] + p->score[2];p->ave = p->sum/3;}v=getchar();if(f=='n'||f=='N'){printf("请按任意键返回.\n");getch();enter();}}void preside() /*学生信息的统计*/{int i,j,o=0,b=10,r=60;struct student *p;system("cls");printf("\n\t\t\t 学生信息统计.\n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n","学号","姓名","性别","地区","语文","数学","英语","平均分","总分");for(p=stu;p<stu+t;p++){printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(j=0;j<3;j++)printf("%-8d",p->score[j]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n\n");}printf("\n\n\n");for(p=stu;p<stu+t;p++){for(i=0;i<3;i++)if(p->score[i]<r){b=b-1;o=o+1;printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8 s%-8s\n\n","学号","姓名","性别","地区","语文","数学","英语","平均分","总分");printf("%-8ld%-8s%-8s%-8s",p->num,p->na me,p->sex,p->address);for(j=0;j<3;j++)printf("%-8d",p->score[j]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n\n");break;}}if(b==10)printf("\n\n 班上所有的人都通过考试.\n\n");else if(b<10)printf("\n 以上为不及格的同学,全班不及格的人数为:%d 人.\n\n",o);printf("\n");printf("统计完成,请按任意键返回.\n");getch();enter();}void fint() /*查找学生信息*/{int i,j=t;long num_a;struct student *p;char a,b;system("cls");printf("\n\t\t\t查找学生信息\n");printf("\t\t\t 请输入要查找的学生学号:\n");scanf("%ld",&num_a);for(p=stu;p<stu+t;p++){j--;if(p->num==num_a)break;if(j==0){printf("不存在该学生,请按任意键返回.\n\n");a=getchar();getch();enter();}}printf("\n 你要查找的学生为:\n\n");printf("%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n\n","学号","姓名","性别","地区","语文","数学","英语","平均分","总分");printf("%-8ld%-8s%-8s%-8s",p->num,p->name,p->sex,p->address);for(i=0;i<3;i++)printf("%-8d",p->score[i]);printf("%-8d",p->ave);printf("%-8d",p->sum);printf("\n\n 查找完成,请按任意键返回.");b=getchar();getch();enter();}void output() /*退出系统*/{system("cls");exit(0);}。

相关文档
最新文档