ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:297.04KB ,
资源ID:26573696      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26573696.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新C语言学生信息管理系统4.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新C语言学生信息管理系统4.docx

1、最新C语言学生信息管理系统4学生信息管理系统本题目设计目的是训练用户的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件及各种语句的运用如for();switch();if.else等方面的知识。通过本程序的训练,使用户能对C语言的文件操作有一个更深刻的了解,初步掌握链表的一些结构及构成。掌握利用单链表存储结构实现对用户成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。1、问题定义创建一个学生信息管理系统。假设系统中学生信息记录包括1录入学生信息:学号,姓名,年龄,性别,出生年月,地址,电话和E-mail。2:浏览

2、学生信息。 3查询学生信息:按学号查询,按姓名查询。4:删除学生信息。5:修改学生信息。6:退出系统。程序的运行效果如下图所示,选择任意菜单后,实现相应功能。在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。2、系统设计21 总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。本号码管理系统要求采用单链表实现

3、,它由如下六大功能模块组成: 录入学生信息模块。 浏览学生信息模块。 查询学生信息模块。 删除学生信息模块。 修改学生信息模块。 退出系统模块。 22 详细设计#include #include #include #include #define NULL 0#define LEN sizeof(struct student)#define FILE_DATA_PATH c:student.txt struct student long int num; char name20; int age; char sex4; char birthday10; char address30; long

4、 int tele_num; char E_mail20; struct student *next;int TOTAL_NUM = 0; struct student *head = NULL; void welcome(); void mainmenu(); void record(); void insert(struct student *stu); void display(struct student *stu); void displayAll(); void query(); void query_by_num(); void query_by_name(); void rea

5、dData(); void writeData(); void freeAll(); void del(); void change(); void devise(struct student *p); int main() welcome(); mainmenu(); /*显示欢迎信息*/ void welcome() printf( ttt+-+n); printf( ttt| |n); printf( ttt| 欢迎使用学生信息管理系统 |n); printf( ttt| |n); printf( ttt+-+n); /*系统主菜单*/ void mainmenu() int choic

6、e; choice = -1; readData(); do printf(nnn); printf(ttt+-+n); printf(ttt| 学生信息管理系统 |n); printf(ttt+-+n); printf(ttt| 1-录入学生信息 |n); printf(ttt| 2-浏览学生信息 |n); printf(ttt| 3-查询学生信息 |n); printf(ttt| 4-删除学生信息 |n); printf(ttt| 5-修改学生信息 |n); printf(ttt| 0-退出系统 |n); printf(ttt+-+n); printf(请输入您的选择:); scanf(%

7、d, &choice); switch(choice) case 0: writeData(); freeAll(); exit(0); case 1: record(); break; case 2: displayAll(); break; case 3: query(); break; case 4: del(); break; case 5: change(); break; default: printf(n无效选项!); break; while(choice != 0); /*录入学生信息*/ void record() struct student *p0; p0 = (str

8、uct student *)malloc(LEN); printf(请输入学生的学号:); scanf(%ld,&p0-num); printf(请输入学生的姓名:); scanf(%s,p0-name); printf(请输入学生的年龄:); scanf(%d,&p0-age); printf(请输入学生的性别:); scanf(%s,p0-sex); printf(请输入学生的出生年月:); scanf(%s,p0-birthday); printf(请输入学生的地址:); scanf(%s,p0-address); printf(请输入学生的电话:); scanf(%ld,&p0-tel

9、e_num); printf(请输入学生的E-mail:); scanf(%s,p0-E_mail); insert(p0); printf(该学生的信息为:n); printf(-); printf(学号t姓名t年龄t性别t出生年月tt地址t电话tE-mailn); display(p0); void insert(struct student *stu) struct student *p0, *p1, *p2; p1 = head; p0 = stu; if(head = NULL) head = p0; p0-next = NULL; else while(p0-num p1-num)

10、&(p1-next != NULL) p2 = p1; p1 = p1-next; if(p0-num num) if(head = p1) head = p0; else p2-next = p0; p0-next = p1; else p1-next = p0; p0-next = NULL; TOTAL_NUM+; void display(struct student *p) printf(%ldt%st%dt%st%st%st%ldt%sn, p-num, p-name, p-age, p-sex, p-birthday, p-address, p-tele_num, p-E_mai

11、l); /*浏览学生信息*/ void displayAll() struct student *p;printf(学生总数:%dn, TOTAL_NUM); p = head; if(head != NULL) printf(n学号t姓名t年龄t性别t出生年月t地址t电话tE-mailn); printf(-); do display(p); p = p-next; while(p != NULL); printf(n); /*查询学生信息*/ void query() int choice; choice = -1; do printf(n); printf(+-+n); printf(|

12、 按学号查询 请按 1 |n); printf(| 按姓名查询 请按 2 |n); printf(| 取消 请按 0 |n); printf(+-+n); printf(请输入您的选择:); scanf(%d, &choice); switch(choice) case 0: return; case 1: query_by_num(); break; case 2: query_by_name(); break; default: printf(n无效选项!); break; while(choice != 0); /*按学号查询学生信息*/ void query_by_num() int

13、num; struct student *p1; printf(请输入学生的学号:); scanf(%ld, &num); if(head=NULL) printf(无学生记录!n); return; p1=head; while(num!=p1-num & p1-next!=NULL) p1=p1-next; if(num = p1-num) printf(n学号t姓名t年龄t性别t出生年月t地址t电话tE-mailn); printf(-); display(p1); else printf(没有该学生记录,请核对!); /*按姓名查询学生信息*/ void query_by_name()

14、 char name20; struct student *p1; printf(请输入学生的姓名:); scanf(%s, name); if(head=NULL) printf(无学生记录!n); return; p1=head; while(strcmp(name, p1-name) & p1-next!=NULL) p1=p1-next; if(!strcmp(name, p1-name) printf(n学号t姓名t年龄t性别t出生年月t地址t电话tE-mailn); printf(-); display(p1); else printf(没有该学生记录,请核对!); /*写入文件*

15、/ void writeData() FILE* fp;/*文件指针*/ struct student *p; fp = fopen(FILE_DATA_PATH, w); if (!fp) printf(文件打开错误!); return; fprintf(fp,%dn, TOTAL_NUM); for(p = head; p!= NULL; p= p-next) fprintf(fp,%ldt%st%dt%st%st%st%ldt%sn, p-num, p-name, p-age, p-sex, p-birthday, p-address, p-tele_num, p-E_mail); fc

16、lose(fp); void freeAll() struct student *p1, *p2;p1=p2=head; while(p1) p2=p1-next; free(p1); p1=p2; /*读取文件*/ void readData() FILE* fp;/*文件指针*/ struct student *p1, *p2;fp = fopen(FILE_DATA_PATH, r); if (!fp) printf(文件打开错误!); return 0; fscanf(fp,%dn, &TOTAL_NUM); head = p1 = p2 = (struct student *)mal

17、loc(LEN); fscanf(fp,%ldt%st%dt%st%st%st%ldt%sn, &p1-num, p1-name, &p1-age, p1-sex, p1-birthday, p1-address, &p1-tele_num, p1-E_mail); while(!feof(fp) p1 = (struct student *)malloc(LEN); fscanf(fp,%ldt%st%dt%st%st%st%ldt%sn, &p1-num, p1-name, &p1-age, p1-sex, p1-birthday, p1-address, &p1-tele_num, p1

18、-E_mail); p2-next = p1; p2 = p1; p2-next = NULL; fclose(fp); /*删除学生信息 */ void del() struct student *p1, *p2; long int num; if(head = NULL) printf(无学生记录!n); return;printf(请输入您要删除的学生的学号:); scanf(%ld, &num); p1 = head; while(num != p1-num & p1-next != NULL) p2 = p1; p1 = p1-next; if(num = p1-num) if(p1

19、 = head) head = p1-next;else p2-next = p1-next; free(p1); TOTAL_NUM-; else printf(没有该学生记录,请核对!n); /*修改学生信息*/void change() struct student *p1, *p2; long int num; if(head = NULL) printf(无学生记录!n); return; printf(请输入您要修改的学生的学号:); scanf(%ld, &num); p1 = head; while(num != p1-num & p1-next != NULL) p2 = p

20、1; p1 = p1-next; if(num = p1-num) devise(p1); else printf(没有该学生记录,请核对!n); void devise(struct student *p) int choice; choice = -1; do printf(请选择您要修改的学生的信息内容:n); printf(+-+n); printf(| 姓名 请按 1 |n); printf(| 年龄 请按 2 |n); printf(| 性别 请按 3 |n); printf(| 出生年月 请按 4 |n); printf(| 地址 请按 5 |n); printf(| 电话 请按

21、 6 |n); printf(| E-mail 请按 7 |n); printf(| 取消 请按 0 |n); printf(+-+n); printf(请输入您的选择:); scanf(%d, &choice); switch(choice) case 0: return; case 1: printf(请输入新姓名:); scanf(%s, p-name); break; case 2: printf(请输入新年龄:); scanf(%d, &p-age); break; case 3: printf(请输入新性别:); scanf(%s, p-sex); break; case 4: p

22、rintf(请输入新出生年月:); scanf(%s, p-birthday); break; case 5: printf(请输入新地址:); scanf(%s, p-address); break; case 6: printf(请输入新电话:); scanf(%ld, &p-tele_num); break; case 7: printf(请输入新E-mail:); scanf(%s, p-E_mail); break; default: printf(n无效选项!); break; while(choice != 0); 3、系统实现3.1 在主菜单中选择 图3.1 主菜单3.2录入学

23、生信息 图 3.2 录入学生信息菜单 3.3浏览学生信息 图 3.3浏览学生信息菜单3.4查询学生信息图3.4查询学生信息菜单3.5删除学生信息图3.5删除学生信息菜单3.6 修改学生信息 图3.6 修改学生信息菜单4、系统维护在不断的检测中常常会发现一些细微的错误,使整个程序不是很完美,在不断的发现中,不断地改正,使开发的程序能够跟上发展的步伐,同时将不完美的地方美化。加拿大公司就是根据年轻女性要充分展现自己个性的需求,将世界各地的珠类饰品汇集于“碧芝自制饰品店”内,由消费者自选、自组、自制,这样就能在每个消费者亲手制作、充分发挥她们的艺术想像力的基础上,创作出作品,达到展现个性的效果5、归

24、纳总结(四)DIY手工艺品的“个性化”51 设计经验通过对本课题的设计,我体会到要掌握以下几点内容。 大程序的设计风格。 编写主函数,并进行测试与调试。定义函数时,应选好顾名思义的函数名和数据类型。 (一)DIY手工艺品的“多样化”链表和指针的使用要清晰明了。 图1-4大学生购买手工艺制品目的文件使用方法。文件使用完毕后应及时关闭。(三)大学生购买消费DIY手工艺品的特点分析52 实训中遇到的问题及解决方法在这次的实训中,主要遇到的问题是对链表的不熟悉和指针的指向不明的问题。对链表的使用不熟悉,不能很正确地使用,以及指针指向不明确,导致程序无法进行。后来经过上网查询和请教同学,终于找到了根源,

25、可以正常运行。同时在文件的不断调用过程中,我常常打开文件之后,就忘记了关闭文件,以致出现了好多的错误,最后在不断地运行实践下,终于可以成功运行。2003年,上海市人均GDP按户籍人口计算就达到46700元,是1995年的2.5倍;居民家庭人均月可支配收入为14867元,是1995年的2.1倍。收入不断增加的同时,居民的消费支出也在增加。2003年上海居民人均消费支出为11040元,其中服务性消费支出为3369元,是1995年的3.6倍。53 设计中尚存的不足之处价格便宜些 服务热情周到 店面装饰有个性 商品新颖多样关于这次的程序,也有挺多不足的地方。首先,我觉得程序还不够完善,有些地方的菜单名字取得不是很合理,有些函数的放置也不是很合理;其次,有些地方做的不是很详细,比如,对学生信息录入的主菜单,查询局限,功能不怎么全等;最后,就是该程序界面不够美观大方,在DOS界面上的排版不是很好,有些东西没有中放置。除了“漂亮女生”形成的价格,优惠等条件的威胁外,还有“碧芝”的物品的新颖性,创意的独特性等,我们必须充分预见到。54 感想和心得体会为期两个星期的C语言实训结束了,在这两个星期内我的感触颇深。因为在写程序中实在

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1