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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言课程设计学生信息管理系统方案Word文件下载.docx

1、(5)Query查询函数:首先使用switch语句生成菜单,实现操作选择功能。分三个部分按学号查询、按查询和取消返回上一层。按学号查询时调用while语句对学号检索,再调用if语句进行判断,最后输出想要查询的信息。按查询的方法跟按学号查询的一样。(6)Del删除函数:使用while语句进行检索,直接删除学生信息。(7)Change修改函数:建立devise函数,生成菜单,用switch语句进行分叉选择功能,选择项目进行相应的信息输入。在Change函数中使用while语句进行检索后再调用devise函数修改信息。实现学生信息修改。四、调试与测试1、进行多次运行,发现那栏的一打长就会显示一样的数

2、字,打短的数字就可以。我们原本是使用长整型来定义,想说空间不够,后来改用字符型,用字符串记录程序运行结果正确。2、程序设计初就在考虑退出与返回有什么差别,如果返回了主菜单那退出用什么,关于这个问题看了许多网上的资料,发现许多程序都有exit(0)的函数,所以去查了不少关于exit的函数容,最后退出就用了exit(0),但是又提醒说要编写exit函数,之后发现要加入的头文件,程序可以正常运行。3、程序在180行显示说readData函数不可以返回值,所以在if条件句中将return 0删除了,不过这个程序在学校的机房即使不删return 0也是可以运行的,关于这点很是不解,还有待解决。五、测试结

3、果1、进入系统界面,输入密码,超过三次会自动退出。2、选1时录入学生信息,编辑完后会继续显示菜单3、选2浏览学生信息 ,之后继续返回菜单界面,为节省空间菜单界面暂不截图4、选择3查询学生信息会有按学号与按查询。下图是先按学号查询的截图。5、按查询时,如果查无此人会显示“没有该学生信息,请核对。”之后返回上一层,按查询。显示学生信息后可以选择取消返回主菜单。6、选择4删除学生,输入学号删除学生的信息。之后会返回主菜单7选择5修改学生信息,按学号输入,之后按显示输入即可。用几组测试数据进行测试算法设计的正确性。(附上程序运行的截图)六、用户手册1程序一开始会显示欢迎界面,按要求输入密码,3次错误会

4、退出程序。2 密码正确后会显示主菜单,按要求输入您的需求。七、附录源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。/* Note:Your choice is C IDE */#include malloc.hstring.hio.h#define NULL 0#define LEN sizeof(struct student)#define FILE_DATA_PATH c:student.txtstruct student long int num; char name20; int age; char sex4; char birthday10; char address

5、30; char tele_num13; 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 readData

6、();void writeData();void freeAll();void del();void change();void devise(struct student *p);int main() char userPWD7; int i;welcome();for(i = 0; i 3; i+) printf(n密码为123n);n请输入您的密码: scanf(%s, userPWD); if (strcmp(userPWD,123)=0) /密码正确,显示主菜单 mainmenu(); break; else if (i num);请输入学生的:,p0-name);请输入学生的年龄:

7、age);请输入学生的性别:sex);请输入学生的出生年月:birthday);请输入学生的地址:address);tele_num);请输入学生的E-mail:E_mail); insert(p0);该学生的信息为:n学号tt年龄t性别t出生年月tt地址ttE-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

8、(p0-num p1-num)&(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- TOTAL_NUM+;void display(struct student *p) %ldt%st%dt%st%st%st%st%sn, p-num, p-name, p-age, p-sex, p-birthday, p-address, p-tele_num, p-/浏览学生信息void displayAll()

9、struct student *p;学生总数:%dn, TOTAL_NUM); p = head; if(head != NULL) n学号tt年龄t性别t出生年月t地址ttE-mailn do display(p); p = p- while(p != NULL); printf(/查询学生信息void query() int choice; do printf(+-+n| 按学号查询 请按 1 |n| 按查询 请按 2 |n| 取消 请按 0 |n switch(choice) case 0: return; case 1:query_by_num();break; case 2:quer

10、y_by_name(); default:/按学号查询学生信息void query_by_num() int num; struct student *p1;请输入学生的学号: if(head=NULL) printf(无学生记录! p1=head; while(num!=p1-num &next!=NULL) p1=p1- if(num = p1-num) display(p1); else printf(没有该学生记录,请核对!/按查询学生信息void query_by_name() char name20;请输入学生的:, name); p1=head; while(strcmp(nam

11、e, p1-name) & if(!strcmp(name, p1-name) else printf(/写入文件void writeData() FILE* fp;/文件指针 fp = fopen(FILE_DATA_PATH, w if (!fp) printf(文件打开错误! fprintf(fp, for(p = head; p!= NULL; p= p-next) fprintf(fp, p- fclose(fp);void freeAll() struct student *p1, *p2; p1=p2=head; while(p1) p2=p1- free(p1); p1=p2;

12、 /读取文件void readData() FILE* fp;r fscanf(fp,TOTAL_NUM); head = p1 = p2 = (struct student *)malloc(LEN);p1-num, p1-name, &age, p1-sex, p1-birthday, p1-address, &tele_num, p1- while(!feof(fp) p1 = (struct student *)malloc(LEN); fscanf(fp, p2- p2 = p1;/删除学生信息void del() struct student *p1, *p2; long int

13、num; if(head = NULL) 请输入您要删除的学生的学号: while(num != NULL) p2=p1; p1=p1- if(num=p1-num) if(p1=head) head=p1- else p2-next=p1- free(p1); TOTAL_NUM-; /修改学生信息void change() struct student *p1, *p2; return;请输入您要修改的学生的学号: p1=p1-num) devise(p1);void devise(struct student *p) int choice; choice=-1;请选择您要修改的学生的信息容:+-+n| 请按 1 |n| 年龄 请按 2 |n| 性别 请按 3 |n| 出生年月 请按 4 |n| 地址 请按 5 |n| 请按 6 |n| E-mail 请按 7 |n请输入新:请输入新年龄:p- case 3:请输入新性别: case 4:请输入新出生年月: case 5:请输入新地址: case 6: case 7:请输入新E-mail:

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

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