C语言课程设计报告书

发布 2022-10-05 04:53:28 阅读 5401

课程名称:学生信息管理系统。

一、设计目的:

1)本学期我们学习了c语言,由于初接触,学习有一定困难;于是学校给我们提供一次巩固提高的机会---课程设计。该可程设计要求学生既动手又动脑,自学,查资料,独立实践。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对c语言系统编程有一个大致的了解。

2)c语言的实践。掌握c语言函数的定义方法,函数的声明及函数的调用过程。掌握结构体类型变量的定义和使用,综合应用c语言的知识,实现一个完整的系统,提高编程能力,体会软件程序的开发过程。

二、总体设计。

1)程序设计组成框图。

2)模块功能说明。

1 输出功能:完成全部学生记录的显示。

2 查询功能:输入姓名可以查询学生的详细信息。

3 增加功能:增加新学生的信息。

4 删除功能:删除学生信息。

5 修改功能:修改学生的错误信息。

6保存功能:保存已输入信息。

7读取功能:读取已输入信息。

8显示功能:按要求显示学生记录。

9 排序功能:按要求完成对学生信息的排序。

10 退出系统。

3)程序流程图。

4)主要函数之间相互调用如下:

5)各函数功能详见源程序清单。

6)在设计过程中的感受:

首先经过一周的编程实习,并在后一段的报告总结,我对c语言这门科有新的认识,本人实在是获益不浅!要想编写一个准确、高效并有使用价值的程序,一定先要对课本知识熟悉,还要掌握必要的上机操作能力,写程序其实很容易而关键在于调试程序。这次设计,让我重新掌握了c语言,而且还得到了用c语言解决实际问题的宝贵经验。

其次, 通过此次编程我也发现了自己在学习中的错误和不足,复习了以前学过的知识。同时也学到了一些没学过的知识,让我从中收益非浅,也为期末考试准备了一下!更重要的是培养了独立思考问题和解决问题的能力,熟悉了一些基本操作和解决问题的方法!

第三, 因为初次接触等原因此次设计遇到了许多问题,我深刻体会到老师发挥的重要作用,c语言程序对我们来说比较难,在匆忙的学习中更是难上加难,似乎觉得自己仅是个匆匆过客,但在老师的帮助下我学会了如何调试,如何查找系统没有提示的错误,最后终于排除万难把程序搞定,体会到原来编程也挺有意思的快感。我想没有老师的帮助我很难在短期内把程序设计做的这样好,在此特地感谢老师的帮助。

三、_源程序清单。

#include<>

#include<>

#include<>

#include<>

typedef struct student

char studentnumber[10];/学生学号*/

char studentname[20];/学生姓名*/

char classname[20];/班级名称*/

char yearname[20];/学期名称*/

float mark1;/*第1门成绩*/

float mark2;/*第2门成绩*/

float mark3;/*第3门成绩*/

struct student *next;

student;

student *headlink;/*链表表头指针*/

*以下是函数声明*/

void readinfoformfile(void);

void desplaymenu(void);

void createheadlink(void);

student *mallocnode(void);

void getinformation(student *t);

void outputinformation(void);

void desplayinfobystudentname(void);

void desplayonenode(student *t);

void insertonenode(student *t);

void deletenodebystudentnumber(void);

void changemarkbyname(void);

void changemarkbynumber(void);

void s**elinktofile(void);

void desplaymarksegment(void);

void compositorbytotalmark(void);

int choose;/*用于接受用户的选择*/

*主函数*/

void main()

createheadlink();

readinfoformfile();

desplaymenu();

函数功能:从文件中读学生信息到链表中。

void readinfoformfile(void)

file *fp;

student *p;

fp=fopen(""r");

if(!fp)

printf("文件不存在");

return;

p=mallocnode();

while(fscanf(fp,"%s%s%s%f%f%f",p->studentnumber,p->studentname,p->classname,&(p->mark1),&p->mark2),&p->mark3))>0)

insertonenode(p);

p=mallocnode();

fclose(fp);

函数功能:显示菜单,根据用户的输入。

完成相应的功能。

void desplaymenu(void)

student *p;

printf("-请选择相应功能n");

printf("|1 按班级输出学生成绩单 |");

printf("|2 按姓名查询 |");

printf("|3 增加学生 |");

printf("|4 删除学生 |");

printf("|5 按班级修改学生成绩 |");

printf("|6 按学期修改学生成绩 |");

printf("|7 保存所有学生信息 |");

printf("|8 显示不及格学生成绩 |");

printf("|9 按平均成绩排序并输出绩 |");

printf("|10 退出 |");

scanf("%d",&choose);/取得用户的选择*/

switch(choose)

case 1:

outputinformation();显示所有学生的信息*/

break;

case 2:

desplayinfobystudentname();

break;

case 3:

p=mallocnode();先申请一个新结点*/

getinformation(p);/要求用户输入信息到新结点中*/

insertonenode(p);/将新结点加到链表中*/

break;

case 4:

deletenodebystudentnumber();根据用户输入的学号删除该学生*/

break;

case 5:

changemarkbyname();根据用户输入的姓名修改学生成绩*/

break;

case 6:

changemarkbynumber();根据用户输入的学号修改学生成绩*/

break;

case 7:

s**elinktofile();保存数据*/

break;

case 8:

desplaymarksegment();显示不及格的学生成绩*/

break;

case 9:

compositorbytotalmark();按平均成绩排序*/

break;

case 10:

s**elinktofile();保存数据后再退出*/

free(headlink);

break;

default:

break;

desplaymenu();递归调用*/

函数功能:建立链表表头。

void createheadlink(void)

student *p;

p=(student*)malloc(sizeof(student));

headlink=p;

p->next=null;

函数功能:申请一个新结点,并将其初始化。

student *mallocnode(void)

student *p;

int i;

p=(student*)malloc(sizeof(student));

if(p==null)

return null;

for(i=0;i<10;i++)

p->studentnumber[i]='0';

for(i=0;i<20;i++)

p->studentname[i]='0';

for(i=0;i<20;i++)

p->classname[i]='0';

p->mark1=0.0;

p->mark2=0.0;

p->mark3=0.0;

p->next=null;

return p;

函数功能:取得用户输入的学生信息。

void getinformation(student *t)

printf("请输入学生学号:");

scanf("%s",t->studentnumber);

printf("请输入学生姓名:");

C语言课程设计报告书

高级语言程序设计 c语言 课程设计。湖南涉外经济学院计算机科学与技术学部。2010年12月。目录。1系统简介 2 2需求分析 2 3概要设计 2 3.1系统功能结构图 2 3.2重要数据的数据结构设计 2 3.3函数设计 3 3.4小组成员分工 4 4 详细设计 4 5 调试分析 7 6 用户手册 ...

C语言课程设计报告书

學院。學院。实验题目学生信息管理系统。一 实验目的 1 本学期我们学习了c语言,由于初接触,学习有一定困难 于是学校给我们提供一次巩固提高的机会 课程设计。该可程设计要求学生既动手又动脑,自学,查资料,独立实践。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高...

C语言课程设计报告书

中国地质大学 武汉 姓名 王友琪。专业 地质学。学号 20131000518 指导老师 王茂才。1 课设题目简要介绍 已知文本文件中存放了报考某校研究生的考生相关信息 不超过5000人 具体数据及存放格式为 每行存放一个考生的数据,数据之间用空格分隔,共有8项,依次为 考号 姓名 报考专业编号 政治...