河南理工大学计算机学院
《C语言程序设计》课程设计报告
题目: 学生信息管理系统
专业: 计算机科学与技术
班级: 计算机XX班
学号: 311009033232
姓名: *****
日期:2012年3月21日
1.2意义
熟悉C语言程序的编程环境、熟练应用Visual C++ 6.0进行C语言编程、纠正、改错、运行。
掌握C语言的所有数据类型,熟练的定义使用整型、实型和字符型的变量。
掌握C语言的所有算法,并且能熟练使用,进行各项操作。
学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。
掌握文件和文件指针的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。
掌握结构体类型变量、数组的定义和使用。
1.3目标
熟悉C语言程序的编辑、编译链接和运行的过程,至少能够用一种编译器较熟练地编辑、编译及调试程序。
掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
熟练运用if语句和switch语句以及嵌套应用。涉及循环调用的,了解并掌握三种控制语句while、do-while和for语句。
学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。
2.1 功能模块设计
模块一:头文件,变量定义,函数的声明
对系统所使用的变量进行定义,对函数进行声明
模块二:学生信息系统使用帮助
声明函数void help(),对整个系统进行使用说明
模块三:录入学生信息
声明函数void readfile(),说明一个文件指针FILE *fp 打开文件"student.txt"
模块四:删除学生信息
声明void del()实现学生信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。
模块五:学生信息的查找
声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找,用成绩查找三个分支
模块六:学生信息按总成绩排序
声明void sort()将录入学生系按升序排列,用的是“冒泡排序法”实现排序
模块七:显示学生信息
通过display()函数输出学生信息
模块八:保存信息
通过fp=fopen(“card.dat”, “wb”);写入信息
模块九:导出信息
通过fp=fopen(“card.dat”, “wb”);导出信息
模块九:界面菜单
通过switch(num)调用,以上各函数,实现功能
函数void help(),对整个系统进行使用说明
3、 声明函数void readfile(),说明一个文件指针FILE *fp 打开文件 “card.dat”
4、声明void del()实现学生信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。
5、声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找,用成绩查找三个分支
6、 声明void sort()将录入学生按升序排列,用的是“冒泡排序法”实现排序
7、 通过fp=fopen(“card.dat”, “wb”);写入信息
8、 通过fp=fopen(“card.dat”, “wb”);导出信息
9、 通过display()函数输出学生信息
10、通过switch(num)调用,以上各函数,实现功能
4 源代码摘录
#include
#include
#include
#include
#define M 3
#define N 1000
typedef struct stu
{
char xingming[20];
int xuehao;
int chengji;
int gaoshu;
int yingyu;
int jisuanji;
int zchengji;
}STU;
STU stu[N];
int renshu=0;
void menu();
void fhzjm()//返回主界面函数
{
char biaozhi[20];
printf("\n");
printf("还需要操作么?如果需要操作请输入:yes,否则请输入:no\n");
scanf("%s",biaozhi);
if(strcmp(biaozhi,"yes")==0)
{
menu();
}
else if(strcmp(biaozhi,"no")==0)
exit