C语言课程设计要求

  • 格式:doc
  • 大小:103.50 KB
  • 文档页数:15

下载文档原格式

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

计算机程序设计课程设计C语言设计报告

题目:学生信息管理系统

学院:化学工程学院

专业:高分子材料与工程

班级:100605

姓名:刘聪

指导教师:侯仲尼

设计日期:2011年7月11日

总分:

一、选题背景:

在学校的日常管理中,对学生的成绩信息管理是不可缺少的部分。因此选出此程序题目对学生的学号、姓名、分数进行管理,其中包括新建、插入、删除、查看、退出等功能。

二、设计思想:

1、引入#include“stdio.h”,#include“stdlib.h”,#include

等头文件,然后直接调用函数;定义结构体,并进行函数声明,进入主函数后可使用switch—cass语句进行功能选择;程序共有五项任务,依次为新建,插入,删除,读取,退出;其中每次新建,插入,删除后均可调用读取函数,方便查看。

三、主要解决问题的方法及技术关键:

1、switch---case来实现选择功能。

2、用if---else、do、while语句来实现循还。

3、用系统函数调用函数。

4、用结构体来处理数据。

5、在此程序中多次使用“调用函数”的方法将结果有序的以较美观的格式输出所有学生的数据。

6、调用插入函数使学生的信息按学号大小依次排列。

四、程序流程图:

五、程序清单

#include

#include

#include

/*头文件*/

struct stud_node{

int num;

char name[40];

int score;

struct stud_node *next;

};/*结构体类型定义*/

/*函数声明*/

struct stud_node *Create_Stu_Doc();/*新建*/

struct stud_node *InsertDoc(struct stud_node *head,struct stud_node *stud);/*插入*/

struct stud_node *DeleteDoc(struct stud_node *head,int num);/*删除*/ void Print_Stu_Doc(struct stud_node *head);/*读取*/

int main(void)/*进入主函数*/

{

struct stud_node *head,*p;

int choice,num,score; /*定义三个整形变量*/

char name[40];

int size=sizeof(struct stud_node); /*申请空间*/

do{/*进入do循环*/

printf("1:create 2:Insert 3:Delete 4:Print 0:Exit \n");

scanf("%d",&choice); /*选择功能*/

switch(choice) /*进入选择*/

{

case 1:

head=Create_Stu_Doc();/*调用函数*/

break;

case 2:

printf("Input num,name and score:\n");/*输出学号、姓名、成绩*/ scanf("%d%s%d",&num,name,&score);

p=(struct stud_node *) malloc(size); /*申请空间*/

p->num=num;

strcpy(p->name,name);

p->score =score;

head=InsertDoc(head,p/*调用函数*/);

break;

case 3:

printf("Input num:\n");/*输入所要删除的学号*/

scanf("%d",&num);

head=DeleteDoc(head,num);调用函数

break;

case 4:

Print_Stu_Doc(head); /*调用读取函数,显示此时信息存储情况*/ break;

case 0: /*退出*/

break;

}

}while (choice!=0);

return 0;

}

struct stud_node *Create_Stu_Doc()

{

struct stud_node *head,*p;

int num,score;

char name[40];

int size=sizeof(struct stud_node); /*申请空间*/

head=NULL; /*指针指向空*/

printf("Input num,mane and score:\n");

scanf(“%d%s%d”,&num,name,&score); /*提示输入*/

while(num!=0){ /*当此文件有学生信息存在时*/

p=(struct stud_node *)malloc(size); /*申请空间*/

p->num=num; /*学号指向学号所在地址赋值*/

strcpy(p->name ,name);

p->score=score;

head=InsertDoc(head,p); /*再次调用函数*/

scanf("%d%s%d",&num,name,&score);

}

Print_Stu_Doc(head); /*调用读取函数,显示此时信息存储情况*/ return head;

}