工程训练项目实验报告_第1页
工程训练项目实验报告_第2页
工程训练项目实验报告_第3页
免费预览已结束,剩余18页可下载查看

下载本文档

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

文档简介

1、第21页 共21页工程训练工程实验报告工程训练工程 实验报告工程名称:学生成绩管理系统 姓名:学号:专业:年级:学期成绩二 O 二 O 年 十二 月 二十二日 目录 实验报告一1、工程功能描绘 2、工程设计思路 3、工程数据库设计说明或函数设计说明实验报告二4、工程功能实现主要界面 5、工程功能实现核心代码实验报告一1.工程功能描绘 a) 功能选择界面b) 录入学生成绩信息c) 查询学生成绩信息d) 删除学生成绩信息e) 修改学生成绩信息f) 插入学生成绩信息g) 统计学生人数2.工程设计思路 用使用 C 语言做一个学生信息管理系统,我的想法是先把需要的一些变量封装在构造体中,然后结合以前学过

2、的数据构造知识链表,做一些增删查改的操作,并将其保存在文件中。3.工程函数设计说明 关键算法构造 typedef struct score/成绩int score_c;/C 语言成绩int score_math;/数学成绩int score_english;/英语成绩 Score;typedef struct Studentchar name100;/姓名char num100;/学号char se_;/性别int age;/年龄Score score;/成绩stu;typedef struct LNodestu data;struct LNode _ne_t;LinkList;实验报告 二1

3、.工程功能实现主要界面 菜单界面查询界面2.工程代码 #include lt;stdio.hgt;#include lt;malloc.hgt;#include lt;string.hgt;#include lt;stdlib.hgt;typedef struct score int score_c;/C 语言成绩int score_math;/高等数学int score_english;/大学英语成绩 Score; typedef struct Studentchar name100;/姓名char num100;/学号char se_;/性别 (m 代表女生 f 代表男生)int age;

4、/年龄Score score;/成绩stu;typedef struct LNodestu data;struct LNode _ne_t;LinkList;char nam100;/名字char nu100;/学号char s;/性别int ag;/年龄Score sc;/成绩void menu/_菜单界面_/ printf(;ttt_nn;);printf(;ttt_学生信息管理系统_nn;);printf(;ttt_nn;);printf(;ttt_系统功能菜单_n;);printf(;ttt-n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt

5、_n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt_5.按学号删除信息 _n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt-n;); void help/_帮助界面_/ printf(;nttt0.欢送使用系统帮助!n;);printf(;nttt1.初次进入系统后,请先选择增加学生信息;n;);printf(;nttt2.按照菜单提示键入数字代号;n;);printf(;nttt3.增加学生信息后,切记保存

6、;n;);printf(;nttt4.谢谢您的使用!n;); void InitList(LinkList _;L)/初始化链表L=(LinkList _)malloc(sizeof(LinkList);L-gt;ne_t=NULL; void ListInsert(LinkList _;L,LinkList _p)/插入新的节点LinkList _q=NULL;q=L;p-gt;ne_t=q-gt;ne_t;q-gt;ne_t=p;void addstu(LinkList _;L)/增加新的学生printf(;请输入学生的信息:n;);printf(;学号:;);scanf(;%s;,nu)

7、;LinkList _q=L-gt;ne_t;while(q!=NULL )/用于判断学生信息是否已经存在if(0=strcmp(q-gt;data.num,nu)printf(;该学生已存在n;);break;q=q-gt;ne_t;if(q=NULL)LinkList _p;InitList(p);strcpy(p-gt;data.num,nu);printf(;姓名;) ;scanf(;%s;,nam) ;strcpy(p-gt;,nam);printf(;性别:m 为男 f 为女;);scanf(; %c;,;s);p-gt;data.se_=s;printf(;年龄

8、:;);scanf(;%d;,;ag);p-gt;data.age=ag;printf(;C 语言成绩:;);scanf(;%d;,;sc.score_c);while(sc.score_clt;0|sc.score_cgt;100)printf(;输入有误,请重新输入n;);scanf(;%d;,;sc.score_c);p-gt;data.score.score_c=sc.score_c;printf(;高等数学成绩:;);scanf(;%d;,;sc.score_math);while(sc.score_mathlt;0|sc.score_mathgt;100)printf(;输入有误,

9、请重新输入n;);scanf(;%d;,;sc.score_math);p-gt;data.score.score_math=sc.score_math;printf(;大学英语成绩:;);scanf(;%d;,;sc.score_english);while(sc.score_englishlt;0|sc.score_englishgt;100)printf(;输入有误,请重新输入n;);scanf(;%d;,;sc.score_english);p-gt;data.score.score_english=sc.score_english;ListInsert(L,p);void delet

10、estu(LinkList _L)/删除学生printf(;请输入您要删除的学生的学号:;);scanf(;%s;,nu);/判断LinkList _p,_pre;if(L-gt;ne_t=NULL)printf(;还没有学生信息,请增加学生信息n;);return;pre=L;p=pre-gt;ne_t;int judge=0;while(p)if(0=strcmp(p-gt;data.num,nu)judge=1;pre-gt;ne_t =p-gt;ne_t;free(p);printf(;删除学生成功n;);break;pre=p;p=p-gt;ne_t;if(judge=0)print

11、f(;这个学生不存在n;);void changestu(LinkList _L)/改变学生信息int judge=0;printf(;请输入您要修改学生的学号:n;);scanf(;%s;,nu);LinkList _q=L-gt;ne_t;while(q!=NULL )if(0=strcmp(q-gt;data.num,nu)judge=1;printf(;请输入您要修改的信息选项:1.姓名 2.成绩(c 语言,高等数学,大学英语)n;);int choose;scanf(;%d;,;choose);switch(choose)case 1:printf(;请输入您要修改的名字:;);sc

12、anf(;%s;,nam);printf(;修改的名字为:%sn;,nam);strcpy(q-gt;,nam);printf(;修改名字成功!n;);break;case 2:printf(;请输入您要修改的成绩;);scanf(;%d%d%d;,;sc.score_c,;sc.score_math,;sc.score_english);printf(;修改的 c 成绩为:%d修改的高等数学成绩为:%d修改的大学英语成绩为:%dn;,sc.score_c,sc.score_math,sc.score_english);q-gt;data.score=sc;printf(;修

13、改成绩成功!n;);break;case 3:printf(;请输入您要修改的年龄:;);scanf(;%d;,;ag);printf(;修改的年龄为:%dn;,ag);q-gt;data.age=ag;printf(;修改年龄成功!n;);break;default :printf(;请输入正确的选项n;);break;q=q-gt;ne_t;if(judge=0)printf(;该生不存在n;);void findstu(LinkList _L)/按学号或者姓名查找学生并输出该生信息int flag;printf(;1.按学号查询:n;);printf(;2.按姓名查询:n;);print

14、f(;请输入查询方式:;);scanf(;%d;,;flag);if(flag=1)printf(;请输入该生学号:;);scanf(;%s;,nu);/判断LinkList _q=L-gt;ne_t;while(q!=NULL )if(strcmp(q-gt;data.num,nu)=0)printf(;姓名:%sn;,q-gt;);printf(;学号:%sn;,q-gt;data.num);printf(;性别:%cn;,q-gt;data.se_);printf(;年龄:%dn;,q-gt;data.age);printf(;c 语言成绩:%dn;,q-gt;data

15、.score.score_c);printf(;高等数学成绩:%dn;,q-gt;data.score.score_math);printf(;大学英语成绩:%dn;,q-gt;data.score.score_english);break;q=q-gt;ne_t;if(q=NULL)printf(;该生不存在n;);elseprintf(;请输入该生姓名:;);scanf(;%s;,nam);LinkList _q=L-gt;ne_t;while(q!=NULL)if(strcmp(q-gt;,nam)=0)printf(;姓名:%sn;,q-gt;);p

16、rintf(;学号:%sn;,q-gt;data.num);printf(;性别:%cn;,q-gt;data.se_);printf(;年龄:%dn;,q-gt;data.age);printf(;c 语言成绩:%dn;,q-gt;data.score.score_c);printf(;高等数学成绩:%dn;,q-gt;data.score.score_math);printf(;大学英语成绩:%dn;,q-gt;data.score.score_english);break;q=q-gt;ne_t;if(q=NULL)printf(;该生不存在n;); void display(LinkList _;L)/阅读全部学生信息LinkList _q=L-gt;ne_t;if(q=NULL)printf(;还没有学生信息,请增加学生信息n;);return;while(q)printf(;姓名:%st;,q-gt;);printf(;学号:%st;,q-gt;data.num);printf(;性别:%ct;,q-gt;data.se_);printf(;年龄:%dt;,q-gt;data.age);printf(;c 语言成绩:%dt;,q-gt;

温馨提示

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

评论

0/150

提交评论