![C语言项目设计-学校管理信息系统_第1页](http://file4.renrendoc.com/view/f4787864410a282561d433c01604560a/f4787864410a282561d433c01604560a1.gif)
![C语言项目设计-学校管理信息系统_第2页](http://file4.renrendoc.com/view/f4787864410a282561d433c01604560a/f4787864410a282561d433c01604560a2.gif)
![C语言项目设计-学校管理信息系统_第3页](http://file4.renrendoc.com/view/f4787864410a282561d433c01604560a/f4787864410a282561d433c01604560a3.gif)
![C语言项目设计-学校管理信息系统_第4页](http://file4.renrendoc.com/view/f4787864410a282561d433c01604560a/f4787864410a282561d433c01604560a4.gif)
![C语言项目设计-学校管理信息系统_第5页](http://file4.renrendoc.com/view/f4787864410a282561d433c01604560a/f4787864410a282561d433c01604560a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言项目设计课程设计题目:学校管理信息系统 学生学号:学生姓名:指导老师:一、项目设计目的及功能:本系统由C语言编写而成,主要实现对学校信息的管理。系统主要内容为学校编号、学校名称(河海大学)、学校专业总数、学校在校学生人数、建校时间(年月日),可实现从外部读入数据、数据输入、添加、查询(按编号查询,按名称查询)、删除(按编号删除,按名称删除,删除全部)、排序以及对所输入的数据的保存等功能。二、运行结果截图:程序运行主界面:增加学校信息:删除学校信息:按编号删除:按名称删除:删除全部:修改学校信息:按编号修改:按名称修改:查询学校信息:按编号查询: 按名称查询:排序:三、程序代码:程序一(结
2、构体数组+文件):#include#include#include#include#define N 500int i;void showmenu();void read();void printone(int n);void printall();int idsearch();int namesearch();void addone();void deleteone_id();void deleteone_name();void deleteall();void paixu();void saveall();typedef struct _schoolchar id16;char name3
3、2;int zynum;_int64 stnum;int year;int month;int day;School;School xxN;int main()i=0;showmenu();return 0;void showmenu()int num1,num2,num3,num4,num5,num6,num7;printf (*n);printf (* 学校信息管理系统 *n);printf (*n);printf (* 1.读入已有信息 *n);printf (* 2.列出所有学校 *n);printf (* 3.查询指定学校 *n);printf (* 4.添加记录 *n);print
4、f (* 5.删除记录 *n);printf (* 6.重新排序 *n);printf (* 7.保存信息 *n);printf (* 8.修改信息 *n);printf (* 0.退出系统 *n);printf (*n);printf (请选择:);scanf(%d,&num1);printf(n);switch (num1)case 1:read();printf(按任意键返回主菜单!n);getch();system(cls);showmenu ();break;case 2:printall();printf(按任意键返回主菜单!n);getch();system(cls);showm
5、enu ();break;case 3: if(i=0) printf(没有学校可以查询!n); Sleep(2000); system(cls); showmenu(); else LOOP: system(cls); printf (*n); printf (* 1.按编号查询 *n); printf (* 2.按名称查询 *n); printf (*n); printf (请选择:); scanf (%d,&num2); printf(n); if (num2=1) idsearch(); printf(按任意键返回主菜单!n); getch();system(cls); showmen
6、u(); else if (num2=2) namesearch(); printf(按任意键返回主菜单!n); getch();system(cls); showmenu(); else printf (error!n); Sleep(2000); goto LOOP; break;case 4:addone();printf(按任意键返回主菜单!n);getch();system(cls);showmenu ();break;case 5: if (i=0) printf(没有学校可以删除!n); Sleep(2000); system(cls); showmenu (); else SI
7、GN: system(cls); printf (*n); printf (* 1.按编号删除一条信息 *n); printf (* 2.按名称删除一条信息 *n); printf (* 3.清空列表 *n); printf (*n); printf (请选择:); scanf (%d,&num3); printf(n); if (num3=1) deleteone_id(); printf(已成功删除此条信息!n按任意键返回主菜单!n); getch(); system(cls); showmenu(); else if (num3=2) deleteone_name(); printf(已
8、成功删除此条信息!n按任意键返回主菜单!n); getch(); system(cls); showmenu(); else if (num3=3) deleteall();printf (已删除所有学校信息!n); printf(按任意键返回主菜单!n); getch(); system(cls); showmenu(); else printf (error!n); Sleep(2000);system(cls); goto SIGN; break;case 6:paixu();printf(按任意键返回主菜单!n);getch();system(cls);showmenu ();brea
9、k; case 7:saveall();printf(按任意键返回主菜单!n);getch();system(cls);showmenu();break;case 0: loop: system(cls);printf (*n);printf (* 确定退出? *n);printf (*n);printf (* 1.是 *n);printf (* 2.否 *n);printf (* 3.取消 *n);printf (*n);printf (请选择:);scanf (%d,&num3);printf(n);if (num3=1) Loop: system(cls);printf (*n); pr
10、intf (* 是否保存? *n); printf (*n); printf (* 1.是 *n); printf (* 2.否 *n); printf (* 3.取消 *n); printf (*n); printf (请选择:); scanf(%d,&num4); printf(n); switch (num4) case 1: saveall();printf(谢谢使用!n);exit(0); case 2: printf(谢谢使用!n);exit(0); case 3: printf(谢谢使用!n);exit(0); default :printf(error!n);Sleep(200
11、0);goto Loop; else if (num3=2|num3=3);elseprintf (error!);Sleep(2000);goto loop;break; case 8: mark: system(cls); printf (*n); printf (* 1.按编号修改一条信息 *n); printf (* 2.按名称修改一条信息 *n); printf (*n); printf (请选择:); scanf (%d,&num5); printf(n); if (num5=1) int w; w=idsearch(); MARK: printf (*n); printf (*
12、1.学校名称 *n); printf (* 2.学校专业总数 *n); printf (* 3.学校在校人数总数 *n); printf (* 4.建校时间/年 *n); printf (* 5.建校时间/月 *n); printf (* 6.建校时间/日 *n); printf (*n); printf (请选择:); scanf (%d,&num6); switch (num6) case 1: printf( 请输入学校名称: ); scanf(%s,); break; case 2 : printf( 请输入学校专业总数: ); scanf(%d,&xxw.zynum)
13、; break; case 3 : printf( 请输入学校在校人数总数: ); scanf(%I64d,&xxw.stnum); break; case 4 : printf( 请输入建校时间/年: ); scanf(%d,&xxw.year); break; case 5 : printf(请输入建校时间/月: ); scanf(%d,&xxw.month); break; case 6 : printf(请输入建校时间/日: ); scanf(%d,&xxw.day); break; default: printf(error!n); Sleep(2000);system(cls);
14、goto MARK; break; printf(n); printone(w); printf(按任意键返回主菜单!n); getch(); system(cls); showmenu(); else if (num5=2) int y; y=namesearch(); Mark: printf (*n); printf (* 1.学校编号 *n); printf (* 2.学校专业总数 *n); printf (* 3.学校在校人数总数 *n); printf (* 4.建校时间/年 *n); printf (* 5.建校时间/月 *n); printf (* 6.建校时间/日 *n);
15、printf (*n); printf (请选择:); scanf (%d,&num6); switch (num6) case 1: printf( 请输入学校编号: ); scanf(%s,xxy.id); break; case 2 : printf( 请输入学校专业总数: ); scanf(%d,&xxy.zynum); break; case 3 : printf( 请输入学校在校人数总数: ); scanf(%I64d,&xxy.stnum); break; case 4 : printf( 请输入建校时间/年: ); scanf(%d,&xxy.year); break; cas
16、e 5 : printf(请输入建校时间/月: ); scanf(%d,&xxy.month); break; case 6 : printf(请输入建校时间/日: ); scanf(%d,&xxy.day); break; default: printf(error!n); Sleep(2000);system(cls); goto Mark; break; printone(y); printf(按任意键返回主菜单!n); getch(); system(cls); showmenu(); else printf (error!n); Sleep(2000); goto mark; def
17、ault :printf(error!);Sleep(2000);system(cls);showmenu();void read () FILE *fp; fp = fopen(keshe.txt,r+); if (fp = NULL) printf(未保存任何学校信息!n); return; while(!feof(fp) fscanf(fp,%s%s%d%I64d%d%d%d,xxi.id,,&xxi.zynum,&xxi.stnum,&xxi.year,&xxi.month,&xxi.day); i+; printf(已读入文件信息!n); fclose(fp);voi
18、d printone(int n)if (i!=0) printf(*n); printf (学校编号 学校名称 学校专业总数 学校在校学生人数 建校时间年 月 日n); printf(*n); printf(* %-st%-st%-dt%-I64dt%-dt%-dt%-dt *n,xxn.id,,xxn.zynum,xxn.stnum,xxn.year,xxn.month,xxn.day); printf(*n); void printall() if (i!=0) int j;printf(*n); printf (学校编号 学校名称 学校专业总数 学校在校学生人数 建校时
19、间年 月 日n); printf(*n); for(j=0;ji;j+) printf(* %-st%-st%-dt%-I64dt%-dt%-dt%-dt *n,xxj.id,,xxj.zynum,xxj.stnum,xxj.year,xxj.month,xxj.day); printf(*n); int idsearch()int a; char id16; printf(请输入学校编号:); scanf(%s,id); printf(n); for(a=0;ai;a+) if(strcmp(id,xxa.id)=0) printone(a); return a; retur
20、n -1;int namesearch()int a; char name32; printf(请输入学校名称:); scanf(%s,name); printf(n); for(a=0;ai;a+) if(strcmp(name,)=0) printone(a); return a; return -1;void addone() printf(*n); printf(请输入学校信息(格式:学校编号 学校名称 学校专业总数 学校在校学生人数 建校时间年 月 日):n); printf(*n);scanf(%s%s%d%I64d%d%d%d,xxi.id,,&x
21、xi.zynum,&xxi.stnum,&xxi.year,&xxi.month,&xxi.day);i+;printf(已成功输入!n);void deleteone_id()if (i=0) printf(没有学校信息可以删除!n);else char id16; int n,j;printf(要输入的学校信息是:n); n=idsearch();if (n=-1)printf(没有此条学校信息!);elsefor (j=n;ji;j+)xxj=xxj+1;i-; void deleteone_name()if (i=0) printf(没有学校信息可以删除!n);else char na
22、me32; int n,j;printf(要输入的学校信息是:n); n=namesearch(); if (n=-1)printf(没有此条学校信息!);elsefor (j=n;ji;j+)xxj=xxj+1;i-; void deleteall() if (i=0) printf(没有学校信息可以删除!n); elsei=0;void paixu() if (i=0) printf(没有学校信息可以排序!n); else int k,j,s; School t;for(s=0;s=i-2;s+)k=s;for(j=s+1;ji;j+)if(strcmp(xxj.id,xxk.id)0)k
23、=j; if(k!=s) t=xxs;xxs=xxk;xxk=t; printall();void saveall()FILE *fp; int j; if (fp=fopen(keshe.txt,w)=NULL) printf(不能打开文件!n); return; for (j=0;ji;j+) fprintf(fp,%s %s %d %I64d %d %d %d,xxj.id,,xxj.zynum,xxj.stnum,xxj.year,xxj.month,xxj.day); printf(已全部成功保存!n); fclose(fp);程序二(链表+文件):#include#
24、include#include#include#includestruct schoolchar id16;char name32;int zynum;_int64 stnum;int year;int month;int day;typedef struct _lnode struct school data; struct _lnode *next;Lnode;Lnode *first;FILE *fp;void showmenu(); /主页显示函数声明void read();void addone(); /添加数据函数声明void deleteone_id(); /删除信息函数声明vo
25、id deleteone_name();void deleteall();void paixu(); /排序信息函数声明Lnode *idsearch(); /按编号查找用函数声明Lnode *namesearch(); /按名称查找用函数声明void printall ();void saveall();/*主函数*/int main() first = ( Lnode * ) malloc (sizeof (Lnode) ); first - next=NULL; showmenu();return 0; void printall () Lnode *p1; p1 = ( Lnode *
26、 ) malloc ( sizeof (Lnode) ); if (first=NULL) printf(没有内容可以输出!n); return; printf(n*n); printf(%-5s %-5s %-5s %-5s %-5s %-5s %-5sn,学校编号,学校名称, 学校专业总数,学校在校学生人数,建校时间年,月,日); printf(n*n); for(p1 = first; p1-next ; p1 = p1 - next) printf(%-5s %-5s %-5d %-5I64d %-5d %-5d %-5dn,p1-data.id,,p1-dat
27、a.zynum,p1-data.stnum,p1-data.year,p1-data.month,p1-data.day); printf(n*n);void addone() Lnode *p; p = ( Lnode * ) malloc ( sizeof (Lnode) ); printf(*n); printf(请输入学校信息(格式:学校编号 学校名称 学校专业总数 学校在校学生人数 建校时间年 月 日):n); printf(*n);scanf(%s%s%d%I64d%d%d%d,p-data.id,,&p-data.zynum,&p-data.stnum,&p
28、-data.year,&p-data.month,&p-data.day);printf(已成功输入!n); p-next=first; first=p;void deleteone_id() char id16; Lnode *p,*q; p=q=first; printf(要删除的学校的编号是:); scanf(%s,id); if(first=NULL) printf(未有学校信息!n); return; if (strcmp(first-data.id,id)=0) p=first; first=first-next; free(p); printf(已删除此条学校信息!n); ret
29、urn; for (q=first;q;q=q-next) p=q-next; if (strcmp(p-data.id,id)=0) q-next=p-next; free(p); printf(已删除此条学校信息!n); break; else printf(没有此条学校信息!n); void deleteone_name() char name32; Lnode *p,*q; p=q=first; printf(要删除的学校的姓名是:); scanf(%s,name); if(first=NULL) printf(未有学校信息!n); return; if (strcmp(first-d
30、,name)=0) p=first; first=first-next; free(p); printf(已删除此条学校信息!n); return; for (q=first;q;q=q-next) p=q-next; if (strcmp(,name)=0) q-next=p-next; free(p); printf(已删除此条学校信息!n); break; else printf(没有此条学校信息!n); void deleteall() Lnode *p=first; first=first -next; free(p); while (first
31、) p=first; first=first-next; free(p); printf(删除成功!n);void paixu() Lnode *p=first, *t=NULL; int n;/计数器 for(n=0;p!=NULL;n+) p=p-next; n=n-1;/统计数据个数 printf(%d,n); int i,j; t = ( Lnode * ) malloc ( sizeof (Lnode) ); p=first; for(j=0 ; jn-1 ; j+) for( i=0; i0&inext; if(strcmp(p-data.id,(p-next)-data.id)0
32、) printf(1);t-data=p-data; p-data=(p-next)-data; (p-next)-data=t-data; p=first; /冒泡排序 printf(重新排序结果:n); printall();void saveall() Lnode *p1; fp=fopen(keshe.txt,w); p1=first;if(first!=NULL)while(p1-next!=NULL)fprintf(fp,%-5s %-5s %-5d %-5I64d %-5d %-5d %-5dn,p1-data.id,,p1-data.zynum,p1-d
33、ata.stnum,p1-data.year,p1-data.month,p1-data.day);p1=p1-next; Lnode *p=first; first=first -next; free(p); while (first) p=first; first=first-next; free(p); fclose(fp);printf(*n);printf(数据已保存!n);printf(*n);/* *主页显示函数*/void showmenu()int num1,num2,num3,num4,num5,num6,num7;printf (*n);printf (* 学校信息管理系
34、统 *n);printf (*n);printf (* 1.读入已有信息 *n);printf (* 2.列出所有学校 *n);printf (* 3.查询指定学校 *n);printf (* 4.添加记录 *n);printf (* 5.删除记录 *n);printf (* 6.重新排序 *n);printf (* 7.保存信息 *n);printf (* 8.修改信息 *n);printf (* 0.退出系统 *n);printf (*n);printf (请选择:);scanf(%d,&num1);printf(n);switch (num1)case 1:read();printf(按
35、任意键返回主菜单!n);getch();system(cls);showmenu ();break; case 2:printall();printf(按任意键返回主菜单!n);getch();system(cls);showmenu ();break;case 3: LOOP: system(cls); printf (*n); printf (* 1.按编号查询 *n); printf (* 2.按名称查询 *n); printf (*n); printf (请选择:); scanf (%d,&num2); printf(n); if (num2=1) idsearch(); printf
36、(按任意键返回主菜单!n); getch(); system(cls); showmenu(); else if (num2=2) namesearch(); printf(按任意键返回主菜单!n); getch(); system(cls); showmenu(); else printf (error!n); Sleep(2000); goto LOOP; break;case 4:addone();printf(按任意键返回主菜单!n);getch();system(cls);showmenu ();break;case 5: SIGN: system(cls); printf (*n)
37、; printf (* 1.按编号删除一条信息 *n); printf (* 2.按名称删除一条信息 *n); printf (* 3.清空列表 *n); printf (*n); printf (请选择:); scanf (%d,&num3); printf(n); if (num3=1) deleteone_id(); printf(按任意键返回主菜单!n); getch(); system(cls); showmenu(); else if (num3=2) deleteone_name(); printf(按任意键返回主菜单!n); getch(); system(cls); show
38、menu(); else if (num3=3) deleteall(); printf (已删除所有学校信息!n); printf(按任意键返回主菜单!n); getch(); system(cls); showmenu(); else printf (error!n); Sleep(2000); system(cls); goto SIGN; break;case 6:paixu();printf(按任意键返回主菜单!n);getch();system(cls);showmenu ();break; case 7:saveall();printf(按任意键返回主菜单!n);getch();
39、system(cls);showmenu();break;case 0: loop: system(cls);printf (*n);printf (* 确定退出? *n);printf (*n);printf (* 1.是 *n);printf (* 2.否 *n);printf (* 3.取消 *n);printf (*n);printf (请选择:);scanf (%d,&num3);printf(n);if (num3=1) Loop: system(cls); printf (*n); printf (* 是否保存? *n); printf (*n); printf (* 1.是 *
40、n); printf (* 2.否 *n); printf (* 3.取消 *n); printf (*n); printf (请选择:); scanf(%d,&num4); printf(/n); switch (num4) case 1: saveall();printf(已保存!n谢谢使用!);exit(0); case 2: printf(谢谢使用!);exit(0); case 3: printf(谢谢使用!);exit(0); default :printf(error!);Sleep(2000);goto Loop; else if (num3=2|num3=3)system(c
41、ls);showmenu();elseprintf (error!);Sleep(2000);goto loop;break;case 8: / mark: system(cls); printf (*n); printf (* 1.按编号修改一条信息 *n); printf (* 2.按名称修改一条信息 *n); printf (*n); printf (请选择:); scanf (%d,&num5); printf(n); if (num5=1) Lnode *w; w=idsearch(); if (w=NULL) printf(没有这条学校信息!); else MARK: printf
42、 (*n); printf (* 1.学校名称 *n); printf (* 2.学校专业总数 *n); printf (* 3.学校在校人数总数 *n); printf (* 4.建校时间/年 *n); printf (* 5.建校时间/月 *n); printf (* 6.建校时间/日 *n); printf (*n); printf (请选择:); scanf (%d,&num6); switch (num6) case 1: printf( 请输入学校名称: ); scanf(%s,); break; case 2: printf( 请输入学校专业总数: ); s
43、canf(%d,&w-data.zynum); break; case 3: printf( 请输入学校在校人数总数: ); scanf(%I64d,&w-data.stnum); break; case 4: printf( 请输入建校时间/年: ); scanf(%d,&w-data.year); break; case 5: printf(请输入建校时间/月: ); scanf(%d,&w-data.month); break; case 6: printf(请输入建校时间/日: ); scanf(%d,&w-data.day); break; default: printf(error
44、!n); Sleep(2000); system(cls); goto MARK; break; printf(n); printf(按任意键返回主菜单!n); getch(); system(cls); showmenu(); if (num5=2) Lnode *w; w=namesearch(); if (w=NULL) printf(没有这条学校信息!); else MARK2: printf (*n); printf (* 1.学校名称 *n); printf (* 2.学校专业总数 *n); printf (* 3.学校在校人数总数 *n); printf (* 4.建校时间/年
45、*n); printf (* 5.建校时间/月 *n); printf (* 6.建校时间/日 *n); printf (*n); printf (请选择:); scanf (%d,&num6); switch (num6) case 1: printf( 请输入学校名称: ); scanf(%s,); break; case 2: printf( 请输入学校专业总数: ); scanf(%d,&w-data.zynum); break; case 3: printf( 请输入学校在校人数总数: ); scanf(%I64d,&w-data.stnum); break; case 4: printf( 请输入建校时间/年: ); scanf(%d,&w-data.year); break; case 5: printf(请输入建校时间/月: ); scanf(%d,&w-data.month); break; case 6: printf(请输入建校时间/日: ); scanf(%d,&w-data.day); break; default: printf(error!n); Sleep(2000); system(cls); goto MARK2; break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国植物蛋白饮料行业市场运行动态及投资发展潜力分析报告
- 高中物理题型解题技巧之电磁学篇11 等效阻抗秒解变压器动态问题(原卷版)
- 2.2 长度与时间的测量(课件)2022-2023学年八年级物理上学期同步
- 二零二五年度装配式建筑造价工程师聘用协议4篇
- Module4 Unit2 The apples are falling down the stairs.教学课件-六年级英语下册课堂外研版三起
- 《甜津津的河水》课件
- 《高位胆管癌的护理》课件
- 《运动品牌标志》课件
- 02.冠词【知识精研】小学英语语法专项系列 (人教PEP版)
- 2025至2031年中国圆底计量罐行业投资前景及策略咨询研究报告
- 2020-2021学年浙江省金华市东阳市七年级(下)期末数学试卷(附答案详解)
- 苏教版小学语文上册教学研究论文
- 片状锌粉行业分析!中国片状锌粉行业市场发展前景研究报告(2024版)
- 2024至2030年中国中水回用行业发展监测及投资战略规划报告
- NB/T 11430-2023煤矿TBM掘进施工工艺要求
- 部编版六年级下册道德与法治全册教案
- 2024版《供电营业规则》学习考试题库500题(含答案)
- 全国职业院校技能大赛培训课件
- 供货送货服务承诺书
- 福建省医院大全
- EPC项目质量保证措施
评论
0/150
提交评论