c语言大学生信息管理系统实验报告,c语言学生信息管理系统实训报告

41528d3028836879cd698677c3999917.gifc语言学生信息管理系统实训报告

题 目: 学生信息管理系统 院 系: 信息科技学院 专 业: 电子信息工程 姓 名: 殷浩 学 号: 1152100135 指导教师: 杨呈永 日 期: 2012年6月26日 桂林电子科技大学信息科技学院 实 训 报 告学生信息管理系统 本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉 C 语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知识。 通过本程序的训练,使学生能对 C 语言的文件操作有一个更深刻的了解,掌握利用单链表 存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的 基础。 一、问题定义 根据实训要求,创建学生信息管理系统,假设系统中包含学生的学号、姓名、年龄、性别、 出生年月、地址、电话、E-mail 等信息。设计的学生信息管理系统,需能提供以下功能: ①系统以菜单方式工作。②学生信息录入功能---输入。③学生信息浏览功能---输出。④查 询功能。⑤修改信息功能。⑥按学号删除学生信息功能。程序的运行效果如下图所示。 二.系统设计 1.总体设计 采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务, 然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易 理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,以下为程序的功能模 块设计。 删除学生信息 增加学生信息 修改学生信息 按学号查询 按学号查询 从键盘输入 输入信息模块 从文件读入 系统帮助说明 系统帮助模块 块 模块 学 生 信 息 管 理 系 统 系统刷新 数据保存 系统模块 查询信息模块 更新信息模块2.详细设计 学生信息管理系统 #include /*I/O函数*/ #include /*其它说明*/ #include /*字符串函数*/ #define BUFLEN 100 /* 缓冲区最大字符数 */ #define LEN 15 /* 学号和姓名最大字符数,实际请更改 */ #define N 100 /* 最大学生人数,实际请更改*/ struct record /*结构体*/ { char code[LEN+1]; /* 学号 */ char name[LEN+1]; /* 姓名 */ int age; /* 年龄 */ char sex[3]; /* 性别 */ char time[LEN+1]; /* 出生年月 */ char add[30]; /* 家庭地址 */ char tel[LEN+1]; /* 电话号码 */ char mail[30]; /* 电子邮件地址 */ }stu[N]; int k=1,n,m; /* 定义全局变量 */ void readfile();/* 函数声明 */ void seek(); void modify(); void insert(); void del(); void display(); void save(); void menu(); int main() { while(k) menu(); system(“pause“); return 0; } void help() {printf(“\n 尊敬的用户:您好!“);printf(“\n ============================================================\n | |“);printf(“\n | 欢迎进入帮助系统! |\n | |“);printf(“\n | ★ ★ ★ ★ ★ ★ ★ ★ |\n | |“);printf(“\n | 1.进入系统后,先刷新学生信息,再查询! |\n | |“); printf(“\n | 2.请按照菜单提示进入数字代号! |\n | |“);printf(“\n | 3.增加学生信息后,请切记保存! |\n | |“);printf(“\n | 4.谢谢您的使用! |\n | |“);printf(“\n ============================================================\ n “); } void readfile()/* 建立信息 */ { char *p=“student.txt“; FILE *fp; int i=0; if ((fp=(“student.txt“,“r“))==NULL) { printf(“Open file %s error! Strike any key to exit!“,p); system(“pause“); exit(0); } while(fscanf(fp,“%s %s%d%s %s %s %s %s“,stu[i].code,stu[i].name, i=i; } fclose(fp); n=i; printf(“刷新完毕!\n“); } void seek() /*查找*/ { int i,item,flag; char s1[21]; /* 以姓名和学号最长长度+1为准 */printf(“------------------\n“); printf(“-----1.按学号查询-----\n“); printf(“-----2.按姓名查询-----\n“); printf(“-----3.退出本菜单-----\n“); printf(“------------------\n“); while(1) { printf(“请选择子菜单编号:“); s

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值