最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

学生社会实践管理系统

来源:动视网 责编:小OO 时间:2025-09-27 21:48:55
文档

学生社会实践管理系统

沈阳航空航天大学课程设计学号20130404012班级姓名指导教师尹航2014年9月5日沈阳航空航天大学课程设计任务书系:航空宇航工程学院专业:飞行器动力工程班级:学号:201304题目:学生社会实践管理系统一、课程设计时间2014~15第1学期第1周,即9月1日~9月5日,共计1周,20学时。二、课程设计内容用C语言编写程序完成以下任务:(1)输入学生的基本信息和具体学期的社会实践情况(每个学生至少有3个学期的信息),并保存在data25.txt文件中。(2)根据学号查询学生指定学期的社会实
推荐度:
导读沈阳航空航天大学课程设计学号20130404012班级姓名指导教师尹航2014年9月5日沈阳航空航天大学课程设计任务书系:航空宇航工程学院专业:飞行器动力工程班级:学号:201304题目:学生社会实践管理系统一、课程设计时间2014~15第1学期第1周,即9月1日~9月5日,共计1周,20学时。二、课程设计内容用C语言编写程序完成以下任务:(1)输入学生的基本信息和具体学期的社会实践情况(每个学生至少有3个学期的信息),并保存在data25.txt文件中。(2)根据学号查询学生指定学期的社会实
沈 阳 航 空 航 天 大 学

 课程设计

              学    号 20130404012

  班    级   

姓    名   

指导教师   尹航

2014年 9 月  5日

沈阳航空航天大学

课程设计任务书

系:航空宇航工程学院    专业:飞行器动力工程  班级:

学号:201304    题目:学生社会实践管理系统

一、课程设计时间

2014~15第1学期第1周,即9月1日~9月5日,共计1周,20学时。

二、课程设计内容

用C语言编写程序完成以下任务:

(1)输入学生的基本信息和具体学期的社会实践情况(每个学生至少有3个学期的信息),并保存在data25.txt文件中。

(2)根据学号查询学生指定学期的社会实践情况和数量(如某学期有2次社会实践,显示2次社会实践的信息及数量2)。

(3)建议使用freadfwrite函数访问文件。

三、课程设计要求

1.贯彻结构化程序设计思想。

2.用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

3.菜单至少应包括“学生信息录入”、“ 根据学号查询”、“退出”3项。

4.代码应适当缩进,并给出必要的注释,以增强程序的可读性。

四、指导教师和学生签字

指导教师:________   学生签名:________

五、成绩

六、教师评语

目录

一、需求分析    1

二、设计分析    3

三、主要界面截图    5

四、技术要点    7

五、个人总结    8

六、参考文献    9

七、源程序    10

一、需求分析

根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。

整个程序的设计实现大致分为四个模块,其中每一个模块对应一个函数,他们的功能分别是:学生信息录入,信息查询,退出。

(1)学生信息录入:允许用户输入学号、姓名和假期实践情况。对用户由于疏忽录入的非法数据,能够及时提示并更正。

(2)数据保存:对于输入的数据,或被修改的数据应该保存到data25.txt文件中,实现永久存储。

(3)信息查询:当输入学号时,可查询到该学生的学号、姓名、假期实践情况和数量 

每一个学生记社会实践记录都包含姓名、学号和实践情况,在程序当中,将学生记录类型定义为结构体类型,添加以及追加的学生信息直接写入data25.txt文件中,其他函数每次对学生记录的访问,其数据来源都是data25.txt文件,这样做不但可以保证学生数据的一致性,而且可以对学生数据进行永久保存,保证每次运行程序都可以采用原来的数据。

二、设计分析

主要有5个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:

1、程序总体结构图(传统流程图或N-S框图)

图1程序总体结构图

2、主要功能模块框图(传统流程图或N-S框图)

(1)学生信息录入  

图2 学生信息录入

2)查询学生数据read ()

三、主要界面截图

图一:主要界面

图二:输入学生信息

图四:查询学生信息

四、技术要点

(对本程序贡献较大的C语言知识点;重要算法的设计与实现)

1、结构体的应用

定义了结构体用来描述学生的姓名、学号、班级以及三门课程成绩。具体的定义如下:

 typedef struct

{char name[10];/*姓名*/

 int num;/*学号*/

 char date[100];/*学生实践情况,数量*/

}stu;

所定义的结构体主要用于定义数组。

2、学生信息录入  

学生信息录入,此时文件要以读写方式或追加的方式打开,这样才可以保证以前已经存在的数据不丢失。具体的程序段如下:

FILE *fp;/*定义一个文件指针*/

 stu xs; 

 if((fp=fopen("\\\\data25.txt不能打开指定文件!\\n");exit(0);}

 printf("\\n录入格式: 姓名 学号 实践情况,数量 当输入姓名为ps结束输入\\n");

 while(1) 

 {  

  scanf("%s",xs.name);/*输入姓名*/

  if(strcmp(xs.name,"ps")==0) break;

  scanf("%d%s",&xs.num,xs.date);

  fwrite(&xs,sizeof(stu),1,fp); 

 }

 fclose(fp);

3、信息查询

通过学生的学号对学生的社会实践情况及实践数量进行查询。可以使老师更好的掌握学生的社会实践情况,使老师对学生的社会实践管理更方便更全面。具体的程序段如下:

void seek()/*信息查询*/

{FILE *fp;/*定义一个文件指针*/

 stu xs;

 int number;

 printf("\\n请输入学号:");

 scanf("%d",&number);/*输入学号*/

 if((fp=fopen("\\\\data25.txt不能打开指定文件!\\n");exit(0);}

       while(!feof(fp))

    {fread(&xs,sizeof(stu),1,fp);

     if(feof(fp))break;

  if(xs.num==number)

  {printf("姓名 学号 实践情况,数量\\n");

         printf("%s\%d\%s%\\\n",xs.name,xs.num,xs.date);

  }

    }

fclose(fp);

return;

}

五、个人总结

通过5天的课程设计,首先体会到了编程工作者的辛苦以及编程的复杂程度。通过本次一周的课程设计,自己在C语言方面又不小进步!不仅对这门课程产生了更浓厚的兴趣,而且对于这门语言的了解有了个质的飞跃,由以前简单的理论了解转变成了实质上的应用。

首先是对文件的方面有了更深的了解,因为这次的设计任务主要应用的是文件方面的知识,还有结构体的一些知识例如结构体比较的用法。

除此之外,我了解到同一程序要求可以用不同的语句来实现,而我们应该尽量使用一些比较高级的语句,一来可以减少语句数,另外可以减少一些不必要的错误。

六、参考文献

(参考的书籍或互联网资源)

1 谭浩强.C程序设计.北京:清华大学出版社,2005

2 全国计算机等级考试实用应试教程  北京:电子工业出版社 2009

3  百度知道

七、源程序

#include"stdio.h"

#include"string.h"

#include"conio.h"

#include"stdlib.h"

#define N 20

typedef struct

{char name[10];/*姓名*/

 int num;/*学号*/

 char date[100];

}stu;

void menu()

  printf("****************************************************\\n");

  printf("*   *  1. 输入学生信息                         *   *\\n");

  printf("*   *  2. 查找学生信息                         *   *\\n");

  printf("*   *  0. 退出                                 *   *\\n");

  printf("****************************************************\\n");

  printf("请选择:");

}

void input()

{FILE *fp;/*定义一个文件指针*/

 stu xs; 

 if((fp=fopen("\\\\data25.txt不能打开指定文件!\\n");exit(0);}

 printf("\\n录入格式: 姓名   学号 实践情况,数量 当输入姓名为ps结束输入\\n");

 while(1) 

 {  

  scanf("%s",xs.name);/*输入姓名*/

  if(strcmp(xs.name,"ps")==0) break;

  scanf("%d%s",&xs.num,xs.date);

  fwrite(&xs,sizeof(stu),1,fp); 

 }

 fclose(fp);

}

void output()

{FILE *fp;/*定义一个文件指针*/

 stu xs;

 system("cls");

 if((fp=fopen("\\\\data25.txt不能打开指定文件!\\n");exit(0);}

 printf("姓名  学号  实践情况,数量 \\n");

 while(!feof(fp))

 {

  fread(&xs,sizeof(stu),1,fp);

  if(feof(fp)) break;

  printf("%s\%d\%s%\\\n",xs.name,xs.num,xs.date);

 }

 fclose(fp);

 return;

}

//

void seek()/*信息查询*/

{FILE *fp;/*定义一个文件指针*/

 stu xs;

 int number;

 printf("\\n请输入学号:");

 scanf("%d",&number);/*输入学号*/

 if((fp=fopen("\\\\data25.txt不能打开指定文件!\\n");exit(0);}

       while(!feof(fp))

    {fread(&xs,sizeof(stu),1,fp);

     if(feof(fp))break;

  if(xs.num==number)

  {printf("姓名 学号 实践情况,数量\\n");

         printf("%s\%d\%s%\\\n",xs.name,xs.num,xs.date);

  }

    }

fclose(fp);

return;

}

void main()

{char ch;

 while(1)

 {menu();

  ch=getchar();

    if(ch=='0')break;

 switch(ch)

 {case '1':input();break;

  case '2':seek();break;

      return;

 }

 }

 printf("\\n欢迎下次使用!\\n");

}

文档

学生社会实践管理系统

沈阳航空航天大学课程设计学号20130404012班级姓名指导教师尹航2014年9月5日沈阳航空航天大学课程设计任务书系:航空宇航工程学院专业:飞行器动力工程班级:学号:201304题目:学生社会实践管理系统一、课程设计时间2014~15第1学期第1周,即9月1日~9月5日,共计1周,20学时。二、课程设计内容用C语言编写程序完成以下任务:(1)输入学生的基本信息和具体学期的社会实践情况(每个学生至少有3个学期的信息),并保存在data25.txt文件中。(2)根据学号查询学生指定学期的社会实
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top