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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生信息管理系统程序设计.docx

1、学生信息管理系统程序设计学生信息管理系统程序设计 1、 软件开发目的该软件主要是实现对学生基本信息进行系统化的管理,首先可以对学生基本信息进行录入和存取,其次可以浏览学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。 2、 功能分析说明图 3、 各项功能说明(1)学生基本信息的录入和保存:在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完

2、毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。(2)显示学生信息:此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。(3)删除学生信息:进入该项功能界面后,删除学生信息,一次删除一条学生信息。(4)按学号查找学生信息:按学号查询学生信息,要求显示 文件 中 与 用户输入的学号 相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。(5)按姓名查找学生信息:按姓名查询学生信息,要求显示 文件 中 与 用户输入的学号 相匹配的学生信息,要求显

3、示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。(6)修改学生信息修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。(7)退出系统,结束任务。 4、 软件功能的验收标准1有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。2有严密正确的数据验证功能和

4、数据处理功能,能够查询、插入、修改和删除学生信息。3系统要有一定的可靠性。问题补充: 最佳答案 #include #include #include #include #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 address30; long int tele_num; char E_mail20; str

5、uct 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();void writeData();void freeAll();void

6、 del();void change();void devise(struct student *p);int main() char userName9; char userPWD7; int i; welcome(); for(i = 0; i 3; i+) printf(n管理员初始用户名和密码均为adminn); printf(请输入您的用户名:); scanf(%s, userName); printf(n请输入您的密码:); scanf(%s, userPWD); if (strcmp(userName,admin)=0) & (strcmp(userPWD,admin)=0) /

7、用户名和密码正确,显示主菜单 mainmenu(); break; else if (i 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-tele_num); printf(

8、请输入学生的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)&(p1-next != NUL

9、L) 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_mail);/浏览学生信息void di

10、splayAll() 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(| 按学号查询 请按 1 |n); printf(|

11、按姓名查询 请按 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 num; struct student *p1; printf

12、(请输入学生的学号:); 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() char name20; struct student *p1; pr

13、intf(请输入学生的姓名:); 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(没有该学生记录,请核对!);/写入文件void writeData() FILE* fp;/文件指针 struct

14、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); fclose(fp); void freeAll() struct student *p1,

15、 *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 *)malloc(LEN); fscanf(fp,%ldt%st%dt%st%st%st%ldt%sn, &

16、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-E_mail); p2-next = p1; p2 = p1; p2-next = NULL;

17、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 = head) head = p1-next; else p2-next = p1-next; free(

18、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 = p1; p1 = p1-next; if(num = p1-num) devise(p1); else printf

19、(没有该学生记录,请核对!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(| 电话 请按 6 |n); printf(| E-mail 请按 7 |n); printf(| 取消 请按 0 |n); pr

20、intf(+-+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: printf(请输入新出生年月:); 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);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2