当前位置:文档之家› C语言学生管理系统

C语言学生管理系统

C语言学生管理系统
C语言学生管理系统

清华大学

课题名称:C语言学生管理系统姓名:李键

学号:20091246 专业班级:计算机0903班

系(院):信息科学与工程学院指导老师:王刚

设计时间:2010--2011第二学期

《学生选课系统》

1 需求分析

1.1任务要求

制做学生选课系统,共包括课程信息和学生信息两部分。课程信息包括:课程编码、课程名称、适用专业、课程类型(必修、限选、必选、实践、学习)、学分、学时、主讲教师等。学生信息管理,学生选课管理(学生选课学分总数有一定范围),学生可以对课程进行查询、浏览,选完课后可以退选、重选,并可以按学号、姓名进行查询和统计。

要求:1.源文件采用多文件的工程结构。

2.数据储存采用文件形式。

3.标准的C输入输出。

4.功能完善,适当的注释。

5.关于文件的内容要自学。

1.2系统功能需求分析

1.为存储课程信息,需要定义一个结构体类型,成员包括课程编码、课程名称、适用专业、课程类型、学分、学时、主讲教师,所选人数等等,并建立链表,定义该结构体类型的指针,用于指向各节点;

2.为存储学生信息,需要定义一个结构体类型,成员包括学生编码、学生姓名、所选课程编码、所选课程学分和等等,并建立链表,定义该结构体类型的指针,用于指向各节点;

3.对于课程信息和学生信息,可以选择从键盘输入也可选择从文件中打开原来存盘的信息,并对他们分别建立添加、删除、浏览、查询等功能的子函数,完成相应的功能,对程序实现模块化。这其中要用到对链表的删除、插入、增加等知识。删除包括课程删除和学生信息删除,删除时用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的课程编号或学生学号,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。查询功能要设置按照学生姓名、学生编号等多种方式。

4.学生选课是要先输入自己的学号,如果在已经输入的学生信息中找不到此学号,则提示需要先输入自己的信息。如找到了自己的学号,则可以进行选课。在选课之前要先对所有的课程信息进行浏览。选课有一定的学分限制,超过相应的

课程信息

从文

件录

入从

增加

删除

学生信息

增加

删除

退

信息存储

学分(这里设置的是10个学分),系统就会显示可以选满的信息。此系统还可以实现删除所选课程的功能,设计思路与选课功能相似。

5.为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除的信息存入磁盘中。

6.实现易于使用者理解和使用的友好界面。

2 概要设计

2.1系统总体设计框架

对程序进行模块化可以使整个程序清晰明了。对课程信息和学生信息建立从文件中输入、从键盘中输入、添加、删除、查询和浏览的功能,其各个子函数中运用链表储存数据。选课管理建立学生选课、推选、查询、浏览的功能,其各个子函数中运用链表储存数据。从主函数开始执行,依次调用各个子函数,并运用文件的相关知识将信息进行存盘。

2.2系统功能模块图

学生选课系统

3 详细设计

3.1功能模块设计思路

主要功能模块的算法设计思路如下:

1、课程信息录入函数(void load())

①从键盘录入(void zhang( ))

I 定义指向结构体变量的指针;

II 从头指针指向的结构体开始依次录入结构体中所包含的各个成员;

III直到输入的结构体成员的编号为0,录入结束

②从文件录入(void zhang1( ))

I 分别定义指向结构体变量的指针和指向文件的指针;

II 输入文件的路径,打开文件,若没有找到则有提示;

III 将文件中的信息依次读出,最后结构体的指针为NULL

2、课程信息管理(void managementc())

①增加课程信息(void insert(struct course *incourse))

I 定义指向结构体变量的指针;

II 输入要增加的课程编号,从头指针指向的结构体依次向后,直到链表的最后;III 输入课程结构体各个成员的信息,使最后一个结构体指针值为NULL

②删除课程信息(void delc(int num1))

I 定义指向结构体变量的指针;

II 输入要增加的课程编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;

III 将其删除,其前一个的结构体指针指向其后一个结构体

3、学生信息录入函数(void input())

①从键盘录入(void putin( ))

I 定义指向结构体变量的指针;

II 从头指针指向的结构体开始依次录入结构体中所包含的各个成员;

III 直到输入的结构体成员的编号为0,录入结束

②从文件录入(void putin2( ))

I 分别定义指向结构体变量的指针和指向文件的指针;

II 输入文件的路径,打开文件,若没有找到则有提示;

III 将文件中的信息依次读出,最后结构体的指针为NULL

4、学生信息管理(void managements())

①增加学生信息(void inserts(struct student * incouse))

I 定义指向结构体变量的指针;

II 输入要增加的学生编号,从头指针指向的结构体依次向后,直到链表的最后;III 输入学生结构体各个成员的信息,使最后一个结构体指针值为NULL

②删除学生信息(void dels(int num2))

I 定义指向结构体变量的指针;

II 输入要增加的学生编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体;

III 将其删除,其前一个的结构体指针指向其后一个结构体

5、学生选课管理(void elective())

①学生选课(void elect())

I 分别定义指向课程和学生结构体变量的指针;

II 输入要选课的学生的编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体,如不存在则显示要录入学生信息;

III 输入要选课程的编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;

IV 在学生结构体对应的所选课程编号中更改信息,所选学分中加上相应分值,课程结构体所选人数中相应加一

②学生退课(void back())

I 分别定义指向课程和学生结构体变量的指针;

II 输入要退课的学生的编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体,如不存在则显示要录入学生信息;

III 输入要退课程的编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;

IV 在学生结构体对应的所选课程编号中更改信息,所选学分中减去相应分值,课程结构体所选人数中相应减一

6、信息浏览和保存(void into())

①课程信息浏览(void listc())

I 定义指向结构体变量的指针;

II从头指针指向的结构体依次向后,将课程结构体各成员的信息一次输出,直到最后一个结构体指针的值为NULL

②学生信息浏览(void lists())

I 定义指向结构体变量的指针;

II从头指针指向的结构体依次向后,将学生结构体各成员的信息一次输出,直到最后一个结构体指针的值为NULL

③课程信息保存(void intoc())

I 定义指向课程结构体变量的指针和指向文件的指针;

II 输入保存路径,如果没有保存则有显示;

III 将课程信息写入文件中;

IV 将课程信息进行保存,关闭文件

④学生信息保存(void intos())

I 定义指向学生结构体变量的指针和指向文件的指针;

II 输入保存路径,如果没有保存则有显示;

III 将学生信息写入文件中;

IV 将学生信息进行保存,关闭文件

7、学生信息查询(void store())

①按学生姓名查询(void search2())

I定义指向结构体变量的指针;

II 输入要查询的学生的姓名,从头指针指向的结构体依次向后,直到找到学生姓名为输入值的那个结构体;

III 将该学生结构体成员的各信息依次输出

②按学生编号查询(void search1())

I定义指向结构体变量的指针;

II 输入要查询的学生的编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体;

III 将该学生结构体成员的各信息依次输出

3 调试分析

3.1错误显示及分析

a.编译时出现错误,回看程序发现漏掉符号等细节错误。

b.运行时,界面格式与最初的设想不一致,通过重新编排,符号的增减及一进,最终达到理想界面。

c.运行时,输入一个信息后,第二次输入数据时很难将输入光标移到想要的位子,通过按键的摸索,最终了解了输入要领。

d.对输入的信息查询时没有记录,发现文件读取错误。

3.2修改完善

1、开始程序执行时,各项大的功能每一次只能执行一个就自动跳出,为了使程序保持连续性和更好的实用性,使用了start,goto start,break,sysyem(“clx”)等实现了逐渐免于更功能的循环。

2、对于学生信息中已选课程的存储,一直不知如何存储。后用实型数组,并进行循环,依次读入课程的编号,将课程编号进行存储。

4 用户使用说明

4.1适用范围

适用于管理者将课程信息和学生信息录入到系统,并可以将课程信息和学生信息进行保存,日后如果有需要在对课程和学生信息进行增加可删除。同时也适用于学生在登录自己的学号后,浏览课程信息选课,进行选课和退课操作。4.2使用方法

首先管理者将现有的课程信息(包括课程编号、课程名称、使用专业、课程类型、学时、学分、教师、已选人数(初始为零))和学生信息(包括学生学号、姓名、已选学时、已选课程编号)录入到系统,并将其进行文件保存,以便以后使用。若要修改(增加和删除)课程信息和学生信息,需要先从文件中录入已存信息,再输入编号对其查找并进行相关操作。学生选课需要先输入自己的学号,若没有此学号的学生信息,需先录入此人信息在进行选课和退课。在选课和退课前,可以先浏览课程信息,并记住要选课程的编号,以便选课时需要。此外还可以学号和姓名对学生信息进行查询。

5 测试结果

55.1运行结果

主界面

录入课程信息

课程信息浏览

课程信息存储

录入学生信息

学生信息浏览

学生信息存储

学生选课

选课后学生信息浏览

选课后课程信息浏览

课程信息管理

学生信息管理

学生信息查找

退出系统

7 附录

7.1课设小结

通过这次课程设计,我对C语言有了更深刻的了解,增强了程序的编写能力,巩固了专业知识,对程序的模块化观念也又模糊逐渐变的清晰了。在程序的运行与调试过程中出现了很多错误,通过反复地复习课本上的相关知识,不停地修改与调试,我终于完成了这段程序。在调试过程中,我认识到了C语言的灵活性与严谨性,同一个功能可以由不同的语句来实现,但编写程序时要特别注意细节方面的问题,因为一个小小的疏忽就能导致整个程序不能运行。当然我也认识到了自己的薄弱之处,如对链表相关知识的欠缺,文件运用的不熟练,在以后的学习中我要集中精力、端正态度,争取把知识学得更扎实、更全面。

7.2 存在不足

1、系统不够强大,有点脆弱。

2、当输入信息(课程信息,学生信息)后,不能自动保存,需手动保存。

对于以上不足,以后将进行改进,以确保达到更好。

7.2详细代码

#include

#include

#include

int N1,N2;

struct student

{

int num2;

char name2[20];

int nelenum[50]; //所选课程编号

int nelen; //所选课程学分和

struct student * next;

};

struct course

{

int num1; //课程编号

char name1[20];

char major[20];

char type[20];

int credit;

int period;

char teacher[20];

int people; //选此门课程的人数

struct course *next; //结构体指针

};

struct course * head1;

struct student * head2;

void zhang() //从键盘录入课程信息

{

struct course *p1,*p2;

N1=0;

p1=p2=(struct course *)malloc(sizeof(struct course));

printf("课程编号\t课程名称\t主修\t课程性质\t学分\t课时\t教师\n");

scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher);

p1->people=0;

head1=NULL;

while(p1->num1!=0)

{

N1=N1+1;

if(N1==1)head1=p1;

else p2->next=p1;

p2=p1;

p1=(struct course * )malloc(sizeof(struct course));

scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher);

p1->people=0;

}

p2->next=NULL;

}

void zhang1() //从文件录入课程信息

{

FILE * fp;

char filepath[20];

struct course *p1,*p2;

N1=0;

printf("请输入您要读取的路径:");

getchar();

gets(filepath);

if((fp=fopen(filepath,"r"))==NULL)

{

printf("找不到%s 文件!\n",filepath);

exit(0);

}

p1=p2=(struct course*)malloc(sizeof(struct course));

fscanf(fp,"%d%s%s%s%d%d%s%d",&p1->num1,p1->name1,p1->major,p1->type,& p1->credit,&p1->period,p1->teacher,&p1->people);

while(!feof(fp))

{

N1=N1+1;

if(N1==1)

head1=p1;

else

p2->next=p1;

p2=p1;

p1=(struct course * )malloc(sizeof(struct course));

fscanf(fp,"%d%s%s%s%d%d%s%d",&p1->num1,p1->name1,p1->major,p1->type,& p1->credit,&p1->period,p1->teacher,&p1->people);

}

p2->next=NULL;

}

void load() //录入课程信息函数

{

int i;

printf("\t\t\t录入课程信息\n");

printf("\n1.从键盘录入");

printf("\n2.从文件录入");

printf("\n3.返回主菜单\n");

printf("请选择1-3:");

scanf("%d",&i);

switch(i)

{

case 1: zhang(); break;

case 2:zhang1();break;

case 3:break;

}

}

void insert(struct course *incourse) //增加课程信息

{

struct course *p0,*p1,*p2;

p1=head1;

p0=incourse;

if(head1==NULL)

{

head1=p0;

p0->next=NULL;

else

{

while((p0->num1>p1->num1) && (p1->next!=NULL))

{

p2=p1;

p1=p1->next;

}

if(p0->num1<=p1->num1)

{

if(head1==p1)

head1=p0;

else

p2->next=p0;

p0->next=p1;

}

else

{

p1->next=p0;

p0->next=NULL;

}

}

N1=N1+1;

}

void delc(int num1) //删除课程信息

{

struct course *p1,*p2;

if(head1==NULL)

{

printf("\n无法删除!\n");

goto end;

p1=head1;

while(num1!=p1->num1 && p1->next!=NULL)

{

p2=p1;

p1=p1->next;

}

if(num1==p1->num1)

{

if(p1==head1)

head1=p1->next;

else

p2->next=p1->next;

printf("已删除\n");

N1=N1-1;

}

else

printf("没有此课程\n");

end:;

}

void managementc() //课程信息管理函数{

struct course * p1;

int i,num1;

printf("\t\t\t课程信息管理\n");

printf("1.添加课程\n");

printf("2.删除课程\n");

printf("3.返回\n");

printf("请输入1-3:\n");

scanf("%d",&i);

switch(i)

学生管理系统 C语言

C/C++程序设计 课程设计报告 专业: 班级: 学号: 姓名: 版本号: 时间:

目录 1 概述 (2) 1.1目的 (2) 1.2计划 (2) 2 课程设计过程及结果 (3) 2.1编程环境及工具 (3) 2.2排序与简单分析 (3) 2.3综合设计 (3) 2.3.1 功能实现 (3) 2.3.2 程序异常处理 (5) 2.3.3 特色功能 (5) 3 课程设计总结 (6) 3.1课程设计计划执行情况 (6) 3.2我理解的C++ (6) 3.3改进设想 (6) 附录关键代码 (6)

原创声明:本课程设计报告及相应的软件程序的全部内容均为本人独立完成,如有抄袭,愿承担相应后果。 声明人___________________ 学号:__________________

1概述 1.1 目的 1、熟悉c语言的编译环境 2、掌握c语言的基本操作 3、回顾并加深对C/C++程序设计相关知识的理解,能够用C/C++独立完成简单数据管 理软件的编写 4、锻炼同学思维强度与能力 5、培养同学认真态度和刻苦的精神 1.2 计划 用Microsoft Visual C++ 6.0进行编译,利用之前学过的课程知识和查询资料等方法完成题目的设计,用Debug进行调试。 1.回顾c语言编程基本内容,了解各种数据类型及掌握各种语句的结构类型。 2.完成一个简单任务:排序与简单分析把一个完全由小写字母组成字符串按照每个字母的出现次数从低到高重新排序。出现次数相同的按照字母顺序排列,(a最前,z最后)。 输入:任意一个字符串(小写,长度小于255) 输出:重新排序后的结果 例如,输入:aassdfkjiowea回车 则输出为:defijkowssaaa 3.综合设计:设计实现学生成绩管理软件。 参考下面的数据,用C/C++设计一个简单的学生成绩管理软件,实现基本的功能。 学生信息文件(A.TXT)及其内容(示意): 学号姓名性别班级 200800800901 张三男电子0801 200800820902 李四女通信0801 200800800903 王五女电子0802 200800820904 赵六男通信0801 …… 课程信息(B.TXT)及其内容(示意): 课程编号课程名称学分 C01 大学英语 4 C02 高等数学 4 C03 C++程序设计 3 …… 学生成绩信息文件(C.TXT)及其内容(示意,成绩保存使用浮点数): 学号课程成绩 200800800901 C01 89 200800800902 C01 68.5 200800800901 C02 45.5 200800800903 C02 78 实现数据录入显示功能查询功能数据删除、整理功能排序功能。

最新学生信息管理系统C语言编程

学生信息管理系统C语言编程 【问题描述】 学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。【基本要求】 (1)学生信息包括: 学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下: (2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求) 学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分(3)需要实现的功能 1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。 实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。 2)查询功能:分为学生基本情况查询和成绩查询两种 (1)学生基本情况查询: ①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下: ②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。(格式如上所示) (2)成绩查询: ①、输入一个学号时,查询出此生的所有课程情况,格式如下: 学号:xx 姓名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx …………………… 共修:xx科,实得总学分为: xxx (3)删除功能: 提供待删除学生的学号,则在student.txt和score.dat中删除所有与该学生有关的信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。 【程序设计的具体说明】 (1)将与两个文件对应的信息分别定义两种结构体类型来表示,也可以用类来定义;(2)对score.dat文件的写入,从键盘上输入的是前七项,后两项数据项根据计算方法算出后,得到完整的结构体信息,作为一个整体写入(可调用write函数)。

简单的学生信息管理系统C语言

#include #include //输入函数getch的头文件,不能用getchar,具体请查看两者的区别 #include //申请空间的函数malloc的头文件 typedef struct { //定义结构体类型,包含四项内容,可以自由添加 int num; char name[10]; int age; char sex[5]; }st; typedef struct node //构造结点(也是结构体变量) { st data; //数据域 struct node *next; //指针域(指向结构体,也就是自身) }list; list *create() //建立一个单链表 { list *p,*r,*head; //定义结构体指针变量 int i,n; head = (list *)malloc(sizeof(list)); //申请头结点 r = head; head->next = NULL; //头结点的指针域先定义为空 printf("请输入学生人数:\n"); scanf("%d",&n); printf("请输入学生个人信息:\n\n学号,姓名,年龄,性别\n"); for(i=1;i<=n;i++) { p = (list *)malloc(sizeof(list)); //申请一个结点 scanf("%d%s%d%s",&p->data.num,&p->https://www.doczj.com/doc/3014672939.html,,&p->data.age,&p->data.sex); //向结点的数据域输入学生信息 p->next = NULL; r->next = p; //将头结点指向第一个结点,以此类推。 r = r->next; } return (head); //返回头结点的地址 } void output(list *h) // 输出链表中的学生信息 { list *p; p = h->next; //使p指向第一个结点 if(p == NULL)

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

通信工程C语言强化训练实验报告 评语: 教师签字: 东北大学秦皇岛分校

学生信息管理系统 强化训练目的 C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。 C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。 程序的结构化设计。 编辑、设置、编译、调试、执行。 C语言结合实际问题的综合设计。 设计题目功能 通过计算机对数据文件的存储和读取,对学生信息进行管理,能够完成学生信息的增、删、改、查找等功能。 设计题目要求 名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。 具体要求包括: 1有主界面和主菜单

2以班级为单位用链表存放学生信息 3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果 4友好的界面和操作提示 [A]信息录入 [D]信息删除 [F]信息查询 [Q]退出 4、程序流程图 总体设计 详细设计 【程序】主函数 void main() /*主函数即用户的操作界面*/ { system("color 1E"); /*设计文本颜色*/ int b,flag=0; /*声明局部变量*/ while(1) /*循环输出以下信息*/ { printf("\n\t\t\t欢迎来到学生成绩管理系统!\n"); printf("\n\t\t\t\t ###制作\n"); printf("\t\t\t-------------------------------\n");

printf("\t\t\t1.键入学生的信息\n\n"); /*键入学生的信息*/ printf("\t\t\t2.查看录入的学生信息\n\n"); /*查看录入的学生信息*/ printf("\t\t\t3.按姓名查看学生的信息\n\n"); /*按姓名查看学生的信息*/ printf("\t\t\t4.按学号查看学生的信息\n\n"); /*按学号查看学生的信息*/ printf("\t\t\t5.按宿舍号查看学生的信息\n\n"); /*按宿舍号查看学生的信息*/ printf("\t\t\t6.删除学生信息\n\n"); /*删除学生信息*/ printf("\t\t\t7.保存学生信息\n\n"); /*保存*/ printf("\t\t\t8.打开文件\n\n"); /*打开文件*/ printf("\t\t\t9.我的个人信息\n\n"); /*我的个人信息*/ printf("\t\t\t0.退出\n\n"); /*退出*/ printf("\t\t\t请输入你的选择:"); scanf("%d",&b); switch(b) { case 1:type();break; /*调用键入学生信息函数*/ case 2:look();break; /*调用查看函数*/ case 3:search_name();break; /*调用姓名查看函数*/ case 4:search_number();break; /*调用学号查看函数*/ case 5: search_dorm();break; /*调用宿舍号查看函数*/ case 6:del();break;/*调用删除函数*/ case 7:save();break;/*调用保存函数*/ case 8:see();break;/*调用打开文件函数*/ case 9:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default :printf("错误!"); } if(flag) break; /*如果选择0就退出循环*/ } } 5、程序设计源代码 #include"stdio.h" #include"conio.h" #include"string.h" #include"stdlib.h" void look(); /*声明查看函数*/ void save(); /*声明保存函数*/ void search_name(); /*声明按姓名查看函数*/ void search_number(); /*声明按学号查看函数*/ void search_dorm(); /*声明按宿舍号查看函数*/ void del(); /*声明删除函数*/ int openl(); /*声明打开函数*/ void welcome(); /*声明我的个人信息函数*/ void type(); /*声明输入函数*/

c学生信息管理系统

洛阳理工学院 课程设计报告课程名称高级语言C#课程设计 设计题目学生信息管理系统 专业计算机科学与技术 班级 B130506 学号 姓名张葵 完成日期 课程设计任务书 设计题目:学生信息管理系统 教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。一个教师可以教授多个班的多门课程。 教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。 课程分两类,必修课和选修课。学生可以选修课程,每学期几门。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。 系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。

指导教师:张文学 2015 年 12 月 27 日 课程设计评语成绩: 指导教师:_______________ 2015 年 12 月 31 日

目录

第 1 章需求和可行性分析 需求分析 学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。学校的管理人员可以通过电脑对学生信息进行有效的管理,避免了以往人工管理的复杂和耗时费力的劳动,也大大的能够减少管理人员的工作量,可以有效的节约学校的开支。

功能需求 作为一个学生的信息管理系统,必须要有管理人员能够进行对学生的信息进 行有效的管理,因此,系统必须预留一个管理员的登录窗口和登录之后所能进行的操作,在学生信息管理系统中,管理员具有最高的权限,可以对学生、老师、班级、专业等等进行添加、删除、修改个查询。除了拥有管理员之外,还应该拥有教务处对学生进行管理,例如:对学生课程,成绩等等具有一定的权限。此外,还应该有老师的一个权限,老师在带完一门课之后可以对学生进行一个成绩录入和平时布置作业的功能。最后是学生自己拥有的功能,学生在考试结束后可以利用系统登录自己的账户对成绩进行查询。 在学生信息管理系统中,要明确各类用户所能拥有的最高权限,如果一旦权限的问题搞错以后,整个系统就会变得没有价值。例如:学生只有对成绩的查询功能,而不能对成绩拥有修改和删除以及插入的功能。老师只能够对学生进行成绩的录入和平时布置作业,而不能删除学生的个人信息等权限。 要设立不同的异常机制,这样不会因为用户的错误的操作而使得系统瞬时奔溃。我们要在代码中设置不同的异常抛出机制,这样就可以使得用户在进行了错误的或者违反规则的操作之后,系统不会出现突然的停止运转。 可行性分析 随着计算机语言和数据服务的不断发展,使得许多的现实问题都可以利用计算机来帮助人类实现轻巧,方便的管理。在教育上,学生是一个庞大的群体,因此技术人员早早就开始想办法解决这个问题,因此,目前对于学生信息的管理各种语言都能够编写出一套完整的、可用的学生信息管理系统。 技术可行性 在这套系统的开发中,采用的是开发语言是C#,软件是Visio Studio2010,C#是微软对问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft?平台的应用程序,Microsoft .NET提供

学生管理系统c

实验 一、设计思路和主要步骤 思路主要是设计一个单文档用来实现主界面,然后在菜单栏添加一个菜单项,下面包含录入学生基本信息,查询学生基本信息,和修改学生基本信息等多项子菜单,每项子菜单都对应一个对话框对数据进行处理。在主对话框中添加列表控件用来显示学生的基本信息,以方便学生信息的修改,具体修改哪一项。对于学生信息的录入,查询,修改,删除都用按钮控件,并为每个按.钮添加消息响应函数用来处理学生的信息操作。 接下来就是要把学生的基本信息能够保存下来,因此要用到文件的操作,fstream 二、可以满足要求。 三、各功能模块和流程图 1.功能模块 对话框

四、代码 1.主体 Int CMainFrame::0nCreate(LPCREATESTRUCT IpCreateStruct) { if(CFr ameWnd::0nCreate(lpCreateStruct)==-1) return-1; if(!m_ wndToolBar .CreateEx(this, TBSTYLE_ FLAT,WS__CHILD|

WS_VISIBLE|CBRS_T0Pl CBRS_GRIPPERI CBRS_T00L TIPS CBRS_FLYBY]CBRS_SIZE_ DYNAMIC)[!m_ wndT oolBar.LoadToolB ar(ID R_MAINFRAME)) { TRACEO("Failed to create toolbarln"); return -1; // fail to create } If(!m_wndStatusBar.Create( this)/l!m_wndS tatusBar.SetIndicat ors(indicators,sizeof(indicators)/ sizeof(UINT))) { TRACEO("Failed to create status barln"); return -1; //fail to create } m_wndToolBar EnableDocking(CBRS_ALIGN__ANY);EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); return O; { void CMainFrame::OnMenuitemadd() { CMyDlgAdd dlg1; dlg1.DoModal0; } void CMainFrame::OnMenuitemmodify() { CMyDlgModify dlg2; } dlg2.DoModal(); void CMainFrame::OnMenuitemseek() {

C语言学生信息管理系统 (2)

C语言课程设计 题目名称:学生信息管理系统 姓名XXX 学号XXXXXXXX 专业网络工程 班级一班 指导教师XXX 编写日期2011/6/6 目 录 查询函数.............................................................................................................................

1、序言 随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。 2、需求分析 本系统主要需要解决的任务是实现学生信息关系的系统化、规范化和自动化,其主要目的是计算学生各种信息进行日常管理,如查询、修改、增加删除学生信息等。在实现程序功能的同时应该做到界面简单易懂,容易操作,方便使用的要求。并且程序需要有一定的纠错能力。 .具体目标 本系统主要应用于学生学籍管理、信息查询等部分,具有不同的操作功能。具体功能如下: 2.1.1 有关学生信息的录入,学生信息包括输入学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等(学生信息用文件保存)。 2.1.2. 学生信息的浏览功能。 2.1. 3.学生信息的查询功能,其中实现按学号和姓名二种方式查询。 2.1.4.学生信息的修改功能,包括增加、删除等。 3、总体设计 .算法分析 首先,考虑信息的录入,一个学生包括这么多的属性,应该考虑定义一个结

学生信息管理系统c语言

学生信息管理系统 1 课程设计目的与要求 1.1课程设计目的 本课程设计是在学习C语言基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼: 1.能根据实际问题的具体情况,结合C语言的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。 2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。 1.2课程设计要求 通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是作为本科生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。通过这次课程设计,进一步巩固所学的语句,如语句嵌套等;加深对循环,分支等结构的运用。具体如下: (1)数据组织方面尽量使用到:数组、链表、结构体、文件; (2)程序结构方面做到函数调用,尽量采用指针运算; (3)代码编写规范,形成良好的编程习惯; (4)程序须有一定的健壮性和必要的提示信息,考虑问题的多种可能和边界数据。 (5)课设完成须进行答辩,提交课设报告电子稿、装订的打印稿。课设报告内容包括以下几个方面: ●程序的总体设计和算法分析。 ●程序流程图、函数说明

●源程序代码清单 ●测试数据和测试过程记录 ●遇到的问题及解决方法分析 ●课程设计小结 1.3课程设计的评价 通过此次课程设计,我的知识面得到了扩展,发现课本上的东西是远远不够的,需要上网找资料寻找补充,而且小组合作的形式可以互相交流知识,弥补自己的不足。通过课程设计,加深对结构化程序设计思想的理解,能进行一个系统功能需求分析,并设计合理的模块化结构。提高程序开发能力。 1

学生学籍信息管理系统C

一、学生学籍信息管理系统设计 1、需求分析 学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。 2、总体设计 整个系统可以设计为数据录入模块、数据修改模块、数据查询模块、数据删除模块和数据排序模块。 成绩包括数学、英语、程序设计基础三门课成绩 基本信息存放在一个文件,成绩信息存放在另一个文件。 (1)数据录入模块 学生基本信息文件可以在磁盘建立,采用写文件方式录入学生基本信息、各门课程的成绩单。综合成绩通过平时成绩和卷面成绩获得计算得到(平时30%,卷面70%)。(2)数据修改模块 采用读文件方式读入学生成绩基本信息,进行修改后,以写文件方式写回原文件中。修改时,首先询问要修改信息学生的姓名或学号,然后选择要修改的内容,并输入新的数据进行修改。

(3)查询模块 通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,然后把查找结果输出。若选择后者,则先查找学号对应的姓名,再查找该学生的课程情况,并统计科目和实得总学分,输出结果。 (3)删除模块 通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在两个文件中查找该生信息,删除之。 (4)排序模块 通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果,排序标准包括总分、某课成绩、某课卷面成绩等。 (5)追加模块 追加学生信息 #include #include #include #include #include

C语言之学生管理系统

流程图: 运行结果:

程序源码: #include #include #include #include #include #define LEN sizeof(struct student)//求字节数运算符

struct student { char name[20]; long intnum; char sex[4]; int age; char address[30]; float score; struct student *next;//链表 };//定义一个结构题 int TOTAL_NUM = 0;//学生总数 struct student *head = NULL; void mainmenu ();//主界面 void record (); //记录数据 void insert(struct student *stu); //插入数据 void display(struct student *stu); //显示一个学生的信息void displayAll (); //显示所有学生的信息 void query(); //查询学生信息 void query_by_num(); //按学号查询学生信息 void query_by_name(); void readData (); //读取文件里学生的信息

void writeData (); //向文件写入学生信息 void freeAll (); //清空链表内容 void del (); //删除学生信息 void change (); //更改学生信息 void sort();//排序 void devise (struct student *p); //选择更改内容 int main (void) { mainmenu (); return 0; } //系统主菜单 void mainmenu () { int choice; choice = -1; readData (); printf ("\t\t\t----------------------------------------------------\n"); printf ("\t\t\t| 欢迎使用通信工程专业学生信息管理系统|\n"); printf ("\t\t\t----------------------------------------------------\n"); printf ("\t\t\t本程序需要在当前目录下建立student.txt才可正常运行\n"); do

C学生成绩管理系统完整

C学生成绩管理系统完整 The latest revision on November 22, 2020

( 二〇一四 年 十 一月 课程设计说明书 本科毕业设计 题 目: 学生成绩管理系统(教师端) 学生姓名: 陈 学 院:工学院 专 业:数字媒体技术 班 级:2013级 指导教师:

目录

一、设计题目(问题)描述和要求 设计目的: 为方便对学生成绩进行高效的管理,编写该程序以提高学生成绩管理效率。使用该程序之后,学校管理者可以查询某位学生、某个科目的成绩情况,还可以对学生成绩进行排名,对学生的数据进行修改和删除,其中排名以按总分排名,并且还提供了多种浏览方式,查询结果包括各个科目的分数、总分。通过本系统可以很好的掌握学生成绩的分布,减轻管理人员的负担,也使学生的成绩和信息长时期的保留。 问题描述: 编写一个简单的学生成绩管理系统。学生成绩管理系统有若干学生成绩记录组成,每个记录由学号、姓名、性别、年级、班级、三个科目成绩、总分、总排名、各科目排名几个部分组成,学号不超过5个字符,姓名不超过3个字符,成绩为int型数据。该系统具有以下功能: 程序开始执行时显示如下版权信息和主菜单: *******学生成绩管理系统************* 学生信息 *1.登记 *2.编辑 *3.顺序 4.删除 浏览 * 5全部 *6个人 *7考试 * 8专业 *9指定

系统设置 10默认 0.退出 ************************************ 请输入(0~8): 通过键盘输入数字0~10后,程序能够执行相应的功能,执行完后回到上述主菜单继续等待用户输入,输入数字0后退出程序。 (1)选择“登记”后,输入学生个数。按程序提示输入学号、姓名、性别、年级、班级、三个科目成绩、总分、总排名、各科目排名。 (2)选择“编辑”,按提示输入要删除的学生的学号,输入学号,若改学号存在,则编辑相应的学生记录,如果该学号不存在,返回主菜单(3)选择“顺序”后,会显示从成绩高到低还是相反。该操作会改变程序中链表的连接顺序,因此浏览时候显示也是顺序改变后的链表顺序 输出。 (4) (5)选择“全部”,系统会按照年级显示全部学生其成绩。 (6)选择“个人”,系统会提示输入学生姓名或者学号进行寻找并显示。 (7)选择“考试”,会按照每一年级的每一次考试显示成绩。 (8)选择“专业”,会按照专业进行成绩输出。 (9)选择“指定”,里面还有八种显示方式:分数段、排名、学期、班级、大一至大四,可以按照其进行浏览。 (10)进行系统相关的设置,如是否显示欢迎窗口,是否自动读取信息或是手动、是否浏览显示全部等 (0)退出操作。 二、系统分析与模块设计 《学生成绩管理系统》结构图

c语言程序设计学生管理系统

c语言程序设计学生管理系统

————————————————————————————————作者:————————————————————————————————日期:

/*学生成绩管理系统 数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。 要求具有以下功能: (1)添加、删除任意个记录。 (2)修改任意个记录。 (3)显示、保存记录。 (4)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小), 存盘并显示这两个文件的全部记录。 (5)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。 要求: (1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。 (2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。 口令程序段的功能要求: 《1》提示用户输入一个口令。 《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。 《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。*/ #include #include #include struct student { int num; char name[10]; int grade; char major[10]; float score_1,score_2,score_3,aver,total; struct student *next; }; struct student *creat(void); struct student *add(void); struct student *del(int num); struct student *alter(); void save(struct student *head); void read(); void totalsort(struct student *head); void aversort(struct student *head); void Bfindsort(); int all=0; void main() {

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

沈阳航空航天大学 课程设计报告 课程设计名称:C语言课程设计 课程设计题目:学生信息管理系统的设计与实现 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:

沈阳航空航天大学课程设计报告 目录 第1章概要设计 (1) 1.1题目的内容与要求 (1) 1.2总体结构 (1) 第2章详细设计 (3) 2.1主模块 (3) 2.2信息录入模块 (4) 2.3信息插入模块 (6) 2.4信息查询模块 (7) 2.5信息浏览模块 (7) 2.6信息删除模块 (8) 2.7信息修改模块 (9) 2.8学生人数统计模块 (9) 第3章调试分析 (10) 第4章使用说明与执行结果 (14) 参考文献 (19) 附录(程序清单) (20)

第1章概要设计 1.1题目的内容与要求 课程设计的内容是设计一个简单的单词替换程序,可以替换文本文件中指定的单词。 要求: (1)输入信息要包括学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。 (2)通过菜单进行信息的录入,查询,修改,删除等等功能。 (3)查询模块要分别用两种方式查询,学号查询,姓名查询。 (4)文件保存到文本中。 (5)采用VC环境进行调试运行。 1.2总体结构 本程序主要分为8个模块(功能模块图见图1.1): 1.主模块,主要显示系统菜单,并且读取所选功能选项。 2.信息录入模块,对学生信息进行录入。 3.信息插入模块,从所有数据中的任一位置插入学生的信息。 4.信息查询模块,对学生的信息进行查询,分两种方式:学号查询,姓名查询。 5.信息浏览模块,将所有学生的信息逐个显示出。 6.信息删除模块,将指定信息删除。 7.信息修改模块,修改指定信息。 8.学生人数统计模块,统计当前所存储的数据条数。

学生成绩管理系统c语言代码(供参考)

C程序学生管理系统 以下是用c语言编写的学生成绩管理系统的简单代码,可以用vc运行(供参考)#include"stdio.h" #include"stdlib.h" #include"string.h" typedef struct student//定义学生 { char name[10]; int number; char sex[2]; int math; int eglish; int clanguge; int average; }student; typedef struct unit//定义接点 { student date; struct unit *next; }unit; unit* build()//建立链表并返回指针 { unit *p; if((p=(unit*)malloc(sizeof(unit)))==NULL) { printf("=>初始化失败!"); return 0; } else {p->next=NULL; p->date.number=0;//头结点存放学生人数 printf("初始化成功!\n"); return p; } } void add(unit *head)//增加学生

{ unit *p,*q; int m,n=0; q=head->next; p=(unit*)malloc(sizeof(unit)); printf("=>请输入新生姓名!\n"); gets(p->https://www.doczj.com/doc/3014672939.html,);fflush(stdin); printf("=>请输入学号!\n"); while(n==0) { scanf("%d",&m);fflush(stdin); if(q==NULL) n=1; while(q) { if(q->date.number==m) { printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n"); q=head->next; break; } else { q=q->next; if(q==NULL) n=1; } } } p->date.number=m; printf("=>请输入性别!\n"); gets(p->date.sex);fflush(stdin); printf("=>请输入数学成绩\n"); scanf("%d",&m);fflush(stdin); p->date.math=m; printf("=>请输入英语成绩\n"); scanf("%d",&m);fflush(stdin); p->date.eglish=m; printf("=>请输入c语言成绩\n"); scanf("%d",&m);fflush(stdin); p->date.clanguge=m; p->date.average=(p->date.math+p->date.eglish+p->date.clanguge); q=head->next; head->next=p;

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

电子科技大学成都学院程序综合设计论文 论文题目学生信息管理系统 学生姓名魏国 学号1340840625 专业机械设计制造及其自动化 系(分院)电子工程系 授课教师杜娥 2015年12月制

摘要 随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。本系统主要对学生各种信息进行处理。 本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。 学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。 学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。 关键字:学生信息,管理系统,数据库,C语言编写

学生信息管理系统C语言编写资料整理

目录 1设计目的 (3) 2设计题目及要求 (3) 3设计算法分析 (3) 3.1模块调用层次图 (3) 3.2核心算法描述 (4) 3.3系统特点 (6) 4程序代码 (6) 5调试情况 (8) 6结论 (11)

学生信息管理 1.设计目的 本课程设计的目的就是要通过一次集中的强化训练,使学生能及时巩固已学的知识,补充未学的但又必要的内容。进行课程设计目的在于加深对程序设计基础中基础理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计的能力。具体目的如下: 1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。 2.培养学生综合运用所学知识独立完成课题的能力。 3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。 4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。 5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。 2.设计题目及要求 【1】设计题目 【2】要求 实现如下功能: (1)建立学生信息的结构体 (2)学生信息的初始化(可以从文件获取) (3)学生信息的添加、修改、删除、查找 (4)学生信息的输出 (5)对学生信息按学号、成绩排序 (6)计算一门课的平均分和总分 (7)将学生信息保存为文件 综合应用数组、指针、结构体、文件等,对该设计题目进行设计和实现。课 程设计完成后,提交课程设计报告。 3.设计算法分析 3.1 模块调用层次图 【1】变量描述

学生成绩管理系统代码(c语言编写)

C程序学生管理系统 /* Note:Your choice is C IDE */ #include"stdio.h" #include"stdlib.h" #include"string.h" typedef struct student//定义学生 { char name[10]; int number; char sex[2]; int math; int eglish; int clanguge; int average; }student; typedef struct unit//定义接点 { student date; struct unit *next; }unit; unit* build()//建立链表并返回指针 { unit *p; if((p=(unit*)malloc(sizeof(unit)))==NULL) { printf("=>初始化失败!"); return 0; } else {p->next=NULL; p->date.number=0;//头结点存放学生人数 printf("初始化成功!\n"); return p; } } void add(unit *head)//增加学生

{ unit *p,*q; int m,n=0; q=head->next; p=(unit*)malloc(sizeof(unit)); printf("=>请输入新生姓名!\n"); gets(p->https://www.doczj.com/doc/3014672939.html,);fflush(stdin); printf("=>请输入学号!\n"); while(n==0) { scanf("%d",&m);fflush(stdin); if(q==NULL) n=1; while(q) { if(q->date.number==m) { printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n"); q=head->next; break; } else { q=q->next; if(q==NULL) n=1; } } } p->date.number=m; printf("=>请输入性别!\n"); gets(p->date.sex);fflush(stdin); printf("=>请输入数学成绩\n"); scanf("%d",&m);fflush(stdin); p->date.math=m; printf("=>请输入英语成绩\n"); scanf("%d",&m);fflush(stdin); p->date.eglish=m; printf("=>请输入c语言成绩\n"); scanf("%d",&m);fflush(stdin); p->date.clanguge=m; p->date.average=(p->date.math+p->date.eglish+p->date.clanguge); q=head->next; head->next=p;

相关主题
文本预览
相关文档 最新文档