学生信息管理系统程序设计课程设计报告_第1页
学生信息管理系统程序设计课程设计报告_第2页
学生信息管理系统程序设计课程设计报告_第3页
学生信息管理系统程序设计课程设计报告_第4页
学生信息管理系统程序设计课程设计报告_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计课程设计报告题 目学生信息管理系统 _学院计算机学院专业_计算机科学与技术年级班别 2014级A(4) 学 号 3114005953学生姓名 林超指导教师 曾安程序功能完成情况测试用例全面情况报告格式是否与要求相符报告内容是否准确全面2015年05月备注声明(此程序在 dosbox上运行TC通过需要每个文件前面都需要声明结构体,我自己 去机房TC则不需要,本程序在源代码上暂时把每个结构体注销掉,如果编译不通过可以取消每个文件前面地结构体声明)题目要求:C 课程设计题目第一套难度: 1题目 1:学生成绩管理系统设计一个学生成绩管理系统,在动态链表程序地基础上,设计要求如下:(必须使用结构

2、体和动态链表等数据结构)对在校学生几学期几门课程地考试成绩进行统一管理,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件.一、设计内容1、学生个人信息包括学号、姓名、性别、专业、年级、电话号码.示例如下 :学生个人信息:学号姓名性别专业年级电话号码2015001 张三男计算机科学与技术一189000000012、选课记录包括某个学生某学期所选地课程、课程编号、学分、平时成绩、实验成绩、卷面成绩、综合成绩.示例如下(综合成绩=平时成绩*20%+ 实验成绩*40%+ 卷面成绩 *40% ):学期课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩第一1高等数学380 70第一

3、2大学英语377 70第一3大学物理285 7060第二1高等数学370 80第二4程序设计290 90903、录入功能:可以一次完成若干条记录地输入 .4、统计功能:统计所有学生各学期所有课程地平均分;5、查找功能:完成按学号查找该学生地基本个人信息;或按学号查找该学生某学期所选地所有课程地成绩;或按课程编号和学期查找所有学生该门课程该学期地成绩;并显示6、删除功能:删除某个学生地所有信息;删除所有学生某门课程地成绩6、排序功能:按某学期所选某门课程对所有学生地成绩排序(升序或降序);对某学期所有学生所有课程地平均分进行排序(升序或降序) .7、系统集成:编写程序主界面,调用各功能,调用界面

4、和各个功能地操作界面应尽可能清晰美观 !二、设计要求已知有多名学生(至少15 名)地成绩信息(学生个人信息和所有课程成绩等)地文件student.dat (该文件自行建立),要求编程序实现成绩录入、统计、查询、删除、排序和退出等功能.具体要求如下:A 要求显示如下界面*1 录入2 统计3 查询4 删除5 排序6 退出*通过选择 1-6 来确定要执行哪一步操作B 若选 1 ,则出现如下界面*输入学生个数:请输入第 1 名学生地信息:学号:姓名:性别:专业:年级:电话号码:学期:课程编号:课程名称:(此处省略,请自行补充)*并保存数据保存到文件student.dat 中.C.若选2,统计所有学生各

5、学期所有课程地平均分;D 若选3,则出现如下界面*3.1 按学号查询学生个人信息3.2 按学号查找该学生某学期所选地所有课程地成绩3.3 按课程编号和学期查找所有学生该门课程该学期地成绩*通过选择 3.1-3.3 来确定要做哪一个操作,有符合地记录输出到屏幕,若无,则输出相关提示信息 .E.若选4则出现如下界面:*4.1 删除某个学生地所有信息4.2 删除所有学生某门课程地成绩*通过选择 4.1-4.2 来确定要执行哪一步操作,有符合地把删除后剩下地数据保存到文件student1.dat,若无,则输出相关提示信息.F.若选5,则出现如下界面:*5.1 某学期某门课程对所有学生地成绩升序5.2

6、某学期某门课程对所有学生地成绩降序5.3 某学期所有学生所有课程地平均分进行升序5.4 某学期所有学生所有课程地平均分进行降序*通过选择5.1-5.4 来确定要执行哪一步操作,有符合地记录输出到屏幕,若无,则输出相关提示信息 .G.不同地模块都要有出错处理,并能给出出错提示.如输入数据错误,文件操作错误等等H 以上各个功能均编写成子函数,由主函数调用实现.I 利用结构体和动态链表实现消费记录地数据结构设计;三、测试数据要求1)不少于20名学生,不少于3个学期,不少于6门课程2)应保证测试用例测试到程序地各种边缘情况题目:学生信息管理系统系统简介本人设计地学生信息管理系统包括6个功能1. 录入学

7、生信息,可以实现对学生学号,姓名,性别,专业,年级,电话号码,地录入,对每个学期录入某一门课程地分数.2. 统计学生和课程信息,可以根据某一学期,某一门课程统计出这一门课程所有学生地平均分.3. 查询学生信息,查询信息分为3个子功能,3.1可以根据学生地学号查询学生地个人信息;3.2可以根据学号和某一学期查询某一位学生地所有课程地成绩.;3.3可以按照课程编号和学期查找所有学生某门课程地成绩4. 删除学生信息,删除功能分为2个子功能,4.1可以删除某个学生地所有信息,4.2可以删除所有学生某门课程地成绩5. 对学生地课程分数进行排序,排序功能分为4个子功能,5.1可以根据某门课程对所有学生地成

8、绩升序;5.2可以根据某门课程对所有学生地成绩降序;5.3可以根据某学期所有学生地平均分进行升序;5.4可以根据某学期所有学生地平均分进行降序.6. 查找出某个学期某门课程不及格地学生.结构图:详细设计:主函数模块:一个main函数,用于调用各种功能函数创建链表模块:void filewritecourse(struct course *chead)/* 用于把课程链表存入到course.dat文件中.参数就是传入课程链表地头节点*/void filewritestudent(struct student *head)/* 用于把学生链表存入到student.dat文件中参数是传入学生链表地头

9、结点*/将链表写入地是时候是采取文本文件方式写,用fprintf进行写操作,原因是方便查看,虽然速度远不如二进制文件写,但是在后来测试数据时比较方便,容易看到文件里面地内容,这样就能知道程序对数据地处理有没有错误struct course *creatcourse(int studentnumber1,char studentname1)/* 用于创建一个课程链表,参数用于把某一门课程对应某一个学生*/struct student *creatstudent()/* 用于创建一个学生链表 */选择录入功能录入输入录入学生个数录入学生信息录入课程信息从文件读取链表模块:struct course

10、* readcourse()/* 从文件读取课程链表 */struct student* readstudent()/* 从文件中读取学生链表 */因为采用了文本文件进行写操作,所以读出来也要用文本文件来读这里采用fscanf函数来读,在打程序是必须注意要“&”,当时因为忘记打了这个,程序运行到这里一直崩,也是让我找了好久才发现统计模块:void account(struct course*chead1,int cournumbelint terml)/* 统计学生平均分 */ void searchfail(int term1,int coursenumber1,struct cou

11、rse *head1)/* 统计不及格学生 */查找模块:void searchstudent(int studentnumbelstruct student *head)/* 用于查找一个学生地信息,参数 是学生链表地头结点,和学生编号*/void searchcourse(int studentnumber1,int term1,struct course *chead)/* 用于查找某一门课程, 参数是课程链表和要查找地学生号和学期*/ void searchallstudentscore(int coursenumber1,int term1,struct student *head,

12、struct course*chead)/*用于查找所有学生某门课程地分数,参数是课程链表地头结点,学生链表地头节 点和要查找地课程号和学期*/选择查找功能查找某学期的课程输入数据读取文件结果返回开头查找所有学生输入数据读取文件卜查询 结果无数据删除模块:struct student *delestudent(int studentnumber1,struct student *head)/* 用于删除某个学生地信息,参数是传入学生地头结点,和被删除学生地学号*/struct course *delethecourse(int studentnumbelstruct course*chead1

13、)/* 用于删除 学生课程成绩*/struct course*delecourse(int coursenumber1,int term1,struct course *chead1)/* 用于删除某一门课程,参数是传入课程链表地头结点,和被删除课程地课程编号*/删除功能就是释放一个节点,当输入一个数据,遍历整个链表,查找到与这个数据相同地 链表,通过free ()函数释放掉这个节点排序功能:struct newcourse*newcreatlist(int coursenumber1,int term1,struct course *chead1)/* 创建一个新地链表存放某门课程最终成绩,

14、参数是传入要排序地课程号和学期,还有课程链表地头结点*/struct stuaver *creatnewlist1(int term1,struct course *chead1,struct student *head1)/* 创建一个新链表存放学生某学期平均分,参数是传入要排序地课程号和学期,还有学生链表地头结点*/struct newcourse *ascend(struct newcourse *nhead)/*对学生某门课程分数进行升序,参数是传入新链表(存放课程分数)地头结点*/struct newcourse *descend(struct newcourse *nhead)/*

15、 对学生某门课程分数进行降序,参数是传入新链表(存放课程分数)地头结点 */struct stuaver *ascend1(struct stuaver *shead)/*对学生某学期平均分进行升序参数是传入新链表(存放课程平均分)地头结点*/struct stuaver *dascend1(struct stuaver *shead)/*对学生某学期平均分进行降序传入新链表(存放课程平均分)地头结点*/排序是应用选择排序法,通过循环找出最大(最小)地一个数据,交换起始节点和当前节 点两个节点里面地内容.muM序输入数据序输入数据升序输入数据文件读取文件读取文件读取排序输出排序输出排序输出降序

16、输入数据文件读取1排序输出数据结构:本程序采用两条大链表地结构来存储数据,一条是学生链表,一条是课程链表,他们之间用一个学生号联系起来,学生链表存储在“student.dat文件中,课程链表储存在“course.dat ”文件中.要用到里面地数据时,先用readcourse!(),和readstudent ()函数把里面地内容读取出来进行操作,然后在操作完再存回文件中.其中学生结构体如struct studentint studentnumber。char name20。char sex。char profession30。char clas20。char tel20。struct stude

17、nt *next。 °课程结构:struct courseint studentnumber。int coursenumber。char studentname20。char coursename20。int term。float CR。float normalmark。float experimentmark。float testmark。float finalmark 。struct course *next。 °在排序地时候,为了对原数据保护,我也采取了新建一条链表来存储排序需要用到地数据,但这样程序效率低下地问题也显示了出来.这是在排序某门课程地分数时创建地一个新结

18、构体:struct newcoursechar stuname20。char courname20。int cournumber。float couscore。struct newcourse *next。这是排序学生某一学期平均分时创建地新结构体:struct stuaverchar name20。float aver。struct stuaver *next。 °通过这两条链来实现排序功能.卜面是测试结果:DOSBok 0.72, Cpu Cycles: max, Framsskip 0dpegran:TC| izzr 1 回ue come 七口 my Studen-t Mkna

19、gemeint Infoi'inatiDTi Sys-tem please input a number to enterl这是一个开始见面,首先进去地时候根据提示,输入一个数字进去,开始接下来程序(其 实这里本来是可以不用地,由于 TC没有链接到浮点型库,这里通过输入一个浮点型数使 它链接到浮点型库里面,就可以使用浮点型地数了)这是菜单界面输入对应数字就能实现对应功能这是学生信息地录入,在这里你可以选择你要录入地学生地数量,然后一次录入学生地学期,和每学期地课程.当你不想录入时,可以在学生number和学期term输入时输入。即可停止录入.由于在测试前已经做好了数据放在student

20、.dat和course.dat文件中.接下来地测试是采用已经放在文件里面地数据来测试.DOS Box 0.72r Cpui Cycles: max. Frames kip 0r Program: TC回DOJE:Oi!please input the term: 1please input the cournumber:1 the 口3吗匚 uf th is culifc in 71»149904welcome ta 1inchao student information JtKKXKM M:KMM.JO(NJ«:MXKX)C KMXMMM JCKJC JKXJHX H J

21、tMM1 recruit2 count3 inqn iry4 dele5 sort6 searcli the Jai student7 exit KJCJCXMMKXMltMK KKHKXMXKKKK MiMMIOffMKMKJCKMiKIff MXiCUMNUKmXMM:ese input your choice: _选才i 2后,选择学期和课程编号就能统计某每门课程所有学生平均分DOSEom Q72, Cpu Cycles: max Franeskip 0r Procram:TOMM HMM K M M M M K M X K X M MM KM K M M M M K M KMMMKMX

22、MMMKMM KMMM MMMXMMM M 3C M M M X M X X M M M X Msearch student accord ing to student numbersearch 占ludcirt course accord ing tu the numljcrsearch ol1 course according to the course number and termNN苒*HXAXMNMNMXNHXMXMUHNNKNXHXXMKHNHXNK«MHMXHNMXMHXMXMXHHNXNKHMHMXp1e«se input your choice:1pIe

23、«se input the student number :160 _选才i 3进入如下界面,选择其中地选项 输入学生号出现下面地学生信息选才i 3-2输入学生号码和学期出现下面DOS Bom 0.72 Cpu Cycles: e目骂 Frarrieddp 0, Program: TCII 窃r 1> r-,-IP -» 1 . - u u- b-1r -a r-» -»,r .r n u»,T-r TJ _r«u,»_» r- WJi-r -rv_r、= B- " hjr 1 "&quo

24、t;-a,»_r uthe E's f inal score is 71,060003MWLM KM JKM: KM! M:M.M:KU MM.M: XJCIOC KM KM JCJOC XKJ«:MJ(:M1< MM.M:X:K JOCHM KM8 MKMwelcome to inchao student infornation1recruitZ-tount3 inquiry4 -deleSsort6 search ttefail student7 -exitX KNli lOf MXJCKMM MiXMM:* MKXKJClClliMlff MMMJtMK

25、 KKMMlffMltXliMlf MilOfflOfJCM: please input your choice:这里可以显示这个学生所有成绩,不过因为界面太小,上面地东西不能看到(其实是有A,B,C,D,E,F6 门课程地).18 DOSBox 0.72p Cpui Cycles: max Frarnesldp 0r Programi: TC口 : ®MKM: KM; JCX NX MM HKX MX 列筑旋 MKKMX 魏XMXHMMKMKX M X 墓 H M W - H M M K M X 就舞 M X M1-search student according to stude

26、urt numberZs«?aT*ch tiidenvi course scont'diniy tn the vnimlwr3-search all course according to the course number a¥)d termNNKMHHMMMMNNHXHHHHHMNXKNHHAHMXKNMKXXMMXMXHNNXMXHMHMXHKWXKNHHXMXHHplease input your choice:3plinput thp mirsfi numhfr: 1p1 ease input the term:l_输入3-3,出现上述界面,输入相应学期和

27、课程编号出现下面Bfl DOS Box 0.72, Cpu Cycles: mas. Frameskip 0r Program: TCHI回团course number is 1:ourse rame is A ;he nornal nark is 77.GO000G ;he expcr iwient nark is 68*060606 ;he test mark is 刃,80606 ;he final nwrk is 50.1397uelcome to 1inchaa student informationN K B K 汽 X * H .=. K H K K L r X. L. E K

28、.卜.一; H M K 月 K H .- K H L H M N X L. K HH K r F N H .-.recru 11 coimtinquirydele5 snrt6 search the fail student7 '-exitlease input your choice:选才i 4-1,输入要删除地学生编号,出现下面界面,表示删除了这个学生地所有信息选才i 4-2,输入要删除地课程编号,学期,出现下面界面表示删除了某学期某一门课程11dele a student s informationBdele a courseX M JfMIfXTCMMH WMTMXM:*KSM

29、Jf UM蕤 MMM M MH MSiMMltH* X iOffWH Wplease input your choicc;Zplease input tt)e course nunber:1 E)lease input the term:l aele success!welcoKE to 1inchao student information1recru itZcount3inquiry4dele5sortb-searcli the failstudent7KNXNXXMXXKNMNNOMHNNKWHXMXMNNKNXXXXMKNKNXNXXMXMKHplease input your cho

30、ice:选才i 5-1出现下面界面DOS Box 0.72r Cpu Cycles: max, Frameskip 0r Program: TC口 回|MK X XJCM 旄犹 M *CME 肥 K 演美 K MX X ME ;K Iff * M K X M Jt M *连:1course scare acengd ling in a term?ZRoiirse senrf? flnsTRngd in(j in a tftrm!3 course average Qweuxigding in a term?4 nniirsfi flu:rfl(je firscRngd infj in a tfi

31、rm!please input your choice:1please input the coursenumter:2please input the terml_输入相应地学期和课程编号出现了每个学生这么课程地排序DOSBm 0.72p Cpu Cycles: max, Frameslcip 0 Program:TCI ° 回 ILp 1 ease 口 I easeinputinputsaranikf1tine cciursenumber* the terml,060606,WfWFifl.1羽町uelcome to 1 iucIkiq student informationN

32、-恭MH苒JtJf景犀黄及MX 注建葺聚聋景洪犀JtM 薜就ME 景情景薜JCJf :M MMErecru一一countimquirLide Ie sort -search the fail student exit垂闻*胃*Mi*%WTiifKXW;*%计/集/胃片3*%科悻计/胃注胃量胃*!科>easeuour c*o i ce :同理,选5-2,则出现降序排序选才i 5-3,则出现一下提示,输入学期号即可查看平均分排序DOSBox O.72r Cpu Cycles: max, Frame5kip 0r Program: TCZl 回 | S3course ccursc course

33、 courseIXXXXXXMKKMXXHMXXMXKXXNKKXHXXXXXXXXXKHMKKMKKXXIMKXXKXXK X X KM X X K X M K MMscore ascerigdiing in a term, score duscEngding in 日 term? average Qscungdiiig in a ternT average descenqding in a term!MIfHHMiMHHHiMIrfXXHMMkHKlf MUM; :MMX *«: HUM: ”HtffHMliitltfiMliMi 口口 JC M Mi 就 H MXM:p1 ea

34、se input your choice;3p 1 ccisc input tlic term: 1_同理,输入5-4即可查看平均分降序选才i 6输入相应地学期和课程编号即可查看这门课程不及格地人DOSGoi 0-72, Cpu Cycles max, Frameskip 0, Program: TC口 I 叵I '| SS |plfiaSR input ithn term:1please input tJ*e course numberZ愿 DO5Bcm 0.72. Cpu Cycles: max. Frameskip 0, Program: TC三叵|p 1 Rase input

35、tlin term ; 1pI ease input the course numberZ jane score is 51.599998uielcanie to 1 inchao student informal ion1-recru itZcount3l-inquiry4dele5-0 bxearclithe fail student7-exitM JCXJMM MJIJCJOC JKMKH MX JCMLMJt JC JHJKJCM MMMMLMMJCJKMJMM MMMMLJCJCKJKJCXXM:"MMp I eaxe input youir cho i 匚纪:最后按7即可

36、退出整个程序总结:其实最开始在选这个地时候本来是不想选难度一地,因为那时有工作室地考核,所 以不想做得太难.但是后来发现大家都选了难度一,我看着既然别人可以,那我也就可以.所以意气用事就选了难度一,那时确实是什么思路也没有,所以就向别人请教,四处询问别 人有什么思路,自己也构思了两天,最后选择了这种双链表地结构来做,确实这种比较耗 时,效率低下.但是也容易上手.毕竟是自己第一次做一个工程出来,还是选择自己最容易上 手地来做.然而在之前对链表也掌握地不是很熟悉,特别是对链表地删除来说和链表排序不 能说是很熟悉.所以就尽量上网查资料,自己看书.本来对链表进行排序是打算对节点来排序地,但是在做地时候

37、发现节点在交换地时候里面地指针*next还需要控制好,稍微不注意就会指错,因为时间有限,所以选择了较为简单地办法,直接交换节点里面地内容.不过这种其实不好,占用地内存过大,所以在这次课程设计之后还需要多思考一下该怎么来做才能 使得程序较为高效.其次是文件地输入输出,这个也是较为陌生地领域,其实之前都只是编写一些小小地程序,然后很少用到文件地输入输出.在这次也是花了较大地功夫在学习.在文件这里选择了fprintf,和fscanf两个函数来输入输出,虽说看起来就像printf和scanf一样,但是用了之后才发现原来文件来操作也不是很简单.在输入输出时还需要控制输入输出地格式相同,不然在读入读出时会

38、产生一些难以调试地问题.还有一个问题是不管在写什么程序,一个不小心就可能造成打错字母,或者是按错符号, 这个错误是最隐蔽地,很难发现出来,在调试地时候,可能会想当然地过去了,导致错误 很难被发现.还有就是是在不同编译器下面可能会出现错误,我在其他编译器上面写了之后没问题,在 转换成dosbox上面地TC地时候出现了一大堆报错地内容,后来发现在头文件里面即使声明了结构体,在 TC上面也不能用,所以我只能在每个文件上面都声明了每个结构体,而且如果函数声明地顺序不对地话也会出现报错.这个问题在转换地时候也是困扰了我好久.然后我就去机房地上面地TC 做了一次实验,发现在机房上面地TC 如果在头文件中声

39、明了,如果在每个文件上面还是有声明地话就会出现重复声明地错误.所以我就先把每个文件开始地结构体声明先注释掉,如果在TC 上面运行有错地时候可以把注释给消掉.总地来说,学习编程是一件需要耐心好毅力地事情,编写一个程序,很容易就会出现语法错误或者陷入死循环地问题.这时候就是考验你耐力地时候,你需要慢慢地一步一步运行,发现错误,或者上网询问.这两周地课程设计,锻炼地不仅仅是编程能力,更是你地调试能力,是发现错误,解决错误地能力 .有时候调试代码可以调试到半夜,如果还没解决可能整晚都睡不安稳,隔天早早起来继续调试.虽然很辛苦,不过当问题解决了之后确实很开心参考文献:C 程序设计(第四版)谭浩强著c p

40、rimer plus 源代码/主函数文件#include"tou.h"/*struct studentint studentnumber 。char name20 。char sex。char profession30 。char clas20 。char tel20 。struct student *next 。struct courseint studentnumber 。int coursenumber 。char studentname20 。char coursename20 。int term 。float CR 。float normalmark 。float

41、 experimentmark 。float testmark 。float finalmark 。struct course *next 。struct newcoursechar stuname20 。char courname20 。int cournumber 。float couscore 。struct newcourse *next 。struct stuaverchar name20 。float aver 。struct stuaver *next 。 。 */int main(int argc, char *argv)float a 。int choice 。int cou

42、rnumber1 。int term 。clrscr() 。printf("welcome to my Student Management Information Systemn") 。printf("please input a number to enter") 。scanf("%f",&a) 。clrscr() 。while(1) printf("nnnnnnn") 。printf("welcome to linchao student informationn") 。print

43、f(*n")printf("1recruitn") 。printf("2countn")。printf("3inquiryn") 。printf("4delen")。printf("5sortn")。printf("6search thefail studentn") 。printf("7exitn")。printf(*n")printf("please input your choice: ") 。scanf(&q

44、uot;%d",&choice) 。switch(choice)case 1:clrscr() 。creatstudent()。 break。case 2: clrscr() 。printf(”*n")printf("please input the term:") 。scanf("%d",&term) 。printf("please input the cournumber:") 。scanf("%d",&cournumber1) 。account(readcourse

45、(),cournumber1,term) 。break。 case 3:clrscr() 。case 4:clrscr() 。case 5:clrscr() 。case 6:clrscr() 。case 7: return 0。print3() 。 break。print4() 。 break。print5() 。 break。print6() 。 break。return 0 。#include<stdio.h>#include"tou.h"/*struct studentint studentnumber 。char name20 。char sex。cha

46、r profession30 。char clas20 。char tel20 。struct student *next 。struct courseint studentnumber 。int coursenumber 。char studentname20 。char coursename20 。int term 。float CR 。float normalmark 。float experimentmark 。float testmark 。float finalmark 。struct course *next 。struct newcoursechar stuname20 。ch

47、ar courname20 。int cournumber 。float couscore 。struct newcourse *next 。struct stuaverchar name20 。float aver 。struct stuaver *next 。 。 */统计每学期平均分void account(struct course*chead1,int cournumber1,int term1)struct course*cp 。int flag=0 。int n=0 。float sum=0 。cp=chead1。if(cp=NULL)printf("there is

48、no coursen") 。while(cp!=NULL)if(cp->coursenumber=cournumber1&&cp->term=term1)sum+=cp->finalmark 。n+。flag=1 。cp=cp->next。if(flag=0)printf("there is no this coursen") 。else printf("the average of this course is %fn",(sum/n) 。/统计不及格学生 void searchfail(int ter

49、m1,int coursenumber1,struct course *head1)struct course*cp 。int flag=0 。cp=head1。if(cp=NULL)printf("there is no data in itn") 。elsewhile(cp!=NULL)if(cp->coursenumber=coursenumber1&&cp->term=term1)if(cp->finalmark<60)printf("%s score is %fn",cp->studentname,

50、cp->finalmark) 。flag=1 。 cp=cp->next。if(flag=0)printf("no student fail") 。#include<stdio.h>#include"tou.h"/*struct studentint studentnumber 。char name20 。char sex。char profession30 。char clas20 。char tel20 。struct student *next 。struct courseint studentnumber 。int cou

51、rsenumber 。char studentname20 。char coursename20 。int term 。float CR 。float normalmark 。float experimentmark 。float testmark 。float finalmark 。struct course *next 。struct newcoursechar stuname20 。char courname20 。int cournumber 。float couscore 。struct stuaverchar name20 。float aver 。struct stuaver *

52、next 。 。 */查找学生信息void searchstudent(int studentnumber1,struct student *head) struct student *p 。int flag=0 。p=head。while(p!=NULL)if(p->studentnumber=studentnumber1)printf(”*n")printf("the student's number is %dn",p->studentnumber)。printf("the student's name is %sn",p->name)。printf("the student's sex is %cn",p-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论