C语言期末课设学生信息管理系统(绝对正确代码版本).docx
《C语言期末课设学生信息管理系统(绝对正确代码版本).docx》由会员分享,可在线阅读,更多相关《C语言期末课设学生信息管理系统(绝对正确代码版本).docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 沈阳理工大学C语言课程设计题 目 名 称 学生信息管理系统 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 、专 业 指 导 教 师 目 录2 需求分析22.1 要求32.2任务32.3 运行环境32.4 开发工具33概要设计与详细设计34 具体代码实现541程序代码55.2 课程设计总结211前言 编写一个程序来处理同学个人信息。通过一个结构体数组来存放输入的每一位同学的记录(包括姓名、电话号码、e_mail、地址),然后将其信息存入文件中。输入一个姓名查询该同学的信息,并显示在屏幕上。2 需求分析2.1 要求(1)用C语言实现程序设计;(2)利用结构体进行相关信息处理;(
2、3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交),程序要有注释。2.2任务用C语言编写一个能够管理学生个人信息的管理系统。程序运行时显示菜单,菜单内容包括:(1)录入个人信息:5个学生的个人信息,学生信息可以包括学号、姓名、性别、出生日期、联系电话、邮编和家庭住址等; (2)修改个人信息:用户可以修改个人信息,在输入某同学的编号后,进入修改信息的菜单至少包括: 修改学生姓名 修改学生联系电话(3)查询个人信息:可以按学号查询;(4)浏览所有信息:显示所有同学的信息;(5)删除个人信息:按学生姓名删除记录。(6)退出系统。其中,学生信息可以
3、用二进制文件方式存储。2.3 运行环境(1)windowsXP系统(2)VC+2.0编译环境2.4 开发工具C语言3概要设计与详细设计3、1系统流程图开 始 调用函数struct record调用函数 shuru ()调用函数 chaxun()调用函数 xiugai()调用函数 shanchu()调用函数 xianshi()调用函数 baocun()结 束图3.1 系统流程图4 具体代码实现41程序代码#include stdio.h#include stdlib.h#include string.h# include conio.h# define N sizeof(struct stud)
4、 /测结构体变量的大小/typedef struct studchar number20;char name20;char sex20;char call20;char QQ20;char add20;struct stud *next;Elemsn; /为结构体命名/Elemsn *creatlink(void) /创建链表信息/ Elemsn *p1,*p2,*head; /p1为前驱,p2为后继/ int i=1; char choice; head=p2=(Elemsn *)malloc(N); head-next=NULL; choice=y; for(i=1;choice=y|ch
5、oice=Y;i+) p1=(Elemsn *)malloc(N); printf(*nn); printf(请输入第%d个学生的信息:n,i); printf(学号:); scanf(%s,p1-number); printf(n姓名:); scanf(%s,p1-name); printf(n性别:); scanf(%s,p1-sex); printf(n电话:); scanf(%s,p1-call); printf(nQQ:); scanf(%s,p1-QQ); printf(n宿舍号:); scanf(%s,p1-add); p2-next=p1; p2=p1; printf(n是否继
6、续?(Y/N):); choice=getche(); printf(n); p2-next=NULL; return(head);void savelink(Elemsn *h) /保存链表信息/ Elemsn *p; FILE *fp; char fliename20; printf(n请输入你要保存的文件名:); scanf(%s,fliename); if(fp=fopen(fliename,wt)=NULL) printf(写文件出错,按任意键退出!); getche(); exit(1); for(p=h-next;p!=NULL;p=p-next) fprintf(fp,%s %
7、s %s %s %s %sn,p-number,p-name,p-sex,p-call,p-QQ,p-add); /向文件中写入数据/ printf(文件已成功保存,按任意键返回!); getche(); fclose(fp);Elemsn *readlink(void) /读出已保存文件的信息/ Elemsn *head,*p,*q; FILE *fp; char filename20; printf(n请输入要打开的文件名:); scanf(%s,filename); if(fp=fopen(filename,rt)=NULL) printf(读文件出错,按任意键退出!); getche(
8、); exit(1); head=q=(Elemsn *)malloc(N); head-next=NULL; while(!feof(fp) p=(Elemsn *)malloc(N); /建立新链表,并从文件中读出数据/ fscanf(fp,%s %s %s %s %s %sn,p-number,p-name,p-sex,p-call,p-QQ,p-add); q-next=p; q=p; q-next=NULL; fclose(fp); printf(文件信息已正确读出,按任意键返回!); getch(); return head;Elemsn *insert(Elemsn *head)
9、 /插入信息/ Elemsn *p; p=(Elemsn *)malloc(N); printf(n请输入要插入学生的信息:n); printf(n学号:); scanf(%s,p-number); printf(n姓名:); scanf(%s,p-name); printf(n性别:); scanf(%s,p-sex); printf(n电话:); scanf(%s,p-call); printf(nQQ:); scanf(%s,p-QQ); printf(n宿舍号:); scanf(%s,p-add); if(head-next!=NULL) p-next=head-next; /插入数据
10、操作代码/ head-next=p; printf(n学生信息插入成功!按任意键继续!); getche(); return head;Elemsn *delet(Elemsn *p0) /删除信息/ char num20; Elemsn *p; char choice; if(p0-next=NULL) printf(信息出错!按任意键退出!); getch(); exit(1); printf(n请输入要删除学生的学号:); scanf(%s,num); for(p=p0-next;strcmp(p-number,num)!=0;p0=p,p=p-next) ; /找到要删除的学生的信息/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 学生 信息管理 系统 绝对 正确 代码 版本
限制150内