C语言程序设计——学院信息管理系统.docx_第1页
C语言程序设计——学院信息管理系统.docx_第2页
C语言程序设计——学院信息管理系统.docx_第3页
C语言程序设计——学院信息管理系统.docx_第4页
C语言程序设计——学院信息管理系统.docx_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计题目:学院教学信息管理系统课程设计内容用C语言编写具有以下功能的程序:1、输入:输入每一位教师信息,将其信息写入文件中。2、显示:显示每位教师信息。3、排序:按职工号或教学效果综合评分进行排序,并显示。4、查找:完成按姓名或课程查找教师的相关记录,并显示。5、修改:修改某一位教师的信息。6、删除:删除某一位教师的信息。一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为九个模块,每一个模块对应一个函数。在这些函数当中,添加教师数据函数,显示教师数据函数,查询教师信息函数,修改教师信息函数以及删除教师信息函数的实现严格按照题目的要求。读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。1.添加函数:主要实现程序最初运行时教师信息的录入以及其后的运行中教师信息的追加功能;2.显示函数:实现的是显示目前所有教师的记录信息;3.排序函数:允许按照教师职工号或教学效果综合评分对教师各项信息进行排序;4.查询函数:允许按照教师姓名或教师课程对教师的各项信息进行查询;5.修改函数:允许对某教师信息进行修改操作;6.删除函数:允许删除某教师信息;除上面介绍的功能之外,程序还具有菜单和退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一位教师的记录都包含职工号、姓名,性别、职称、教授的上门课程和教学效果综合评分。在程序当中,将教师记录类型定义为结构体类型,添加以及追加的教师信息直接写入E盘的teachers.txt文件中,其它函数每次对教师记录的访问,其数据来源都是teachers.txt文件,这样做不但可以保证教师数据的一致性,而且可以对教师数据进行永久保存,保证每次运行程序都可以采用原来的数据。二、程序流程图主菜单开始欢迎界面进入系统选择序号操作确定退出选择退出程序实现你的所有操作三、源程序#include stdafx.h#include stdio.h#include #include #include #include conio.h#define N 20struct teachers unsigned long num;/职工号 char nameN;/姓名 char sexN;/性别 char titleN;/职称 char lessonN;/3门讲授课程名称 int score;/教学效果综合评分 ;/结构体void menu();int reads(struct teachers teaN);/读取教师文件中的内容void save(struct teachers teaN,int n);/输入保存数据void add();/添加教师信息void show();/显示教师信息void order_num();/按职工号进行排序void order_score();/ 按教学效果综合评分进行排序void query_name();/按姓名查找教关信息void query_lesson();/按课程查找教师信息void modify();/修改教师信息void backspace();/删除教师信息void quit();/退出系统.函数说明void main()system(color 57); printf( *学院信息管理系统欢迎您 *n);printf( =n); printf( *n); printf( *_*n); printf( *|*|*n); printf( *|* *|*n); printf( *|* 欢迎使用学院信息管理系统 *|*n); printf( *|* *|*n); printf( *|* *|*n); printf( *|* 制作人 刘文浩 *|*n); printf( *|* *|*n); printf( *|* 2018.07.01 *|*n); printf( *|* *|*n); printf( *|*|*n); printf( *-*n); printf( *n); printf( n);printf(n 请按任意键进入系统 n);getch();int n; while(1) menu(); printf(n 请输入您要选择的操作序号,按回车键确认:); scanf(%d,&n); switch(n)case 1: add();break;case 2: show();break; case 3: order_num();break;case 4: order_score();break;case 5: query_name();break;case 6: query_lesson();break; case 7: modify();break; case 8: backspace();break;case 0: quit();break; default: printf(输入错误,请输入列表中存在的序号!n );void menu()printf(n); printf(n);printf(n);printf( * 学院教学信息管理系统* n);printf( =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( n);/.主菜单int reads(struct teachers teaN) / 读取教师文件中的信息 FILE *fp; int i=0; if(fp=fopen(d:teachers.txt,r)=NULL) printf(文件打开失败!n); return 0; else for(i=0;!feof(fp);i+) fscanf(fp,%lu %s %s %s %s %dn,&teai.num,&,&teai.sex,&teai.title,&teai.lesson,&teai.score); fclose(fp); return i;void add()/*添加教师信息*/FILE *fp; int n,i; struct teachers tea; if(fp=fopen(d:teachers.txt,a)=NULL) /如果文件已经存在,可以追加教师信息 if(fp=fopen(d:teachers.txt,w)=NULL) / 文件不存在时,创建新文件,输入教师信息 printf(文件打开失败!n); return; printf(请输入要添加的教师的数量,按回车键确认:); scanf(%d,&n); for(i=0;in;i+) printf(n请输入第%d个教师的工号、姓名,用空格分开,并按回车键确认:n,i); scanf(%lu%s,&tea.num,&); printf(n请输入第%d个教师的性别、职称、讲授课程名称、教学效果综合评分,用空格分开,并按回车键确认:n,i); scanf(%s%s%s%d,&tea.sex,&tea.title,&tea.lesson,&tea.score); fprintf(fp,%lu %s %s %s %s %dn,tea.num,,tea.sex,tea.title,tea.lesson,tea.score); fclose(fp);printf(.保存成功!n);printf(.请按任意键回到主菜单n);getch();void show()/*显示教师信息*/struct teachers teaN;int i,n; n=reads(tea); printf(*所有的教师信息如下*nn);printf( 序号 | 职工号 | 姓名 | 性别 | 职称 | 课程 | 评分 n); printf(*n); for(i=0;in;i+) printf(n%3d %lu %4s %1s %5s %20s %3dn,i+1,teai.num,,teai.sex,teai.title ,teai.lesson,teai.score); printf(*n); printf(.显示成功!n);printf(.请按任意键回到主菜单n); getch();void order_num() /按教工号排序教师相关记录struct teachers teaN;int z=1;inti,n,j;int t; unsigned long m20; n=reads(tea);for(i=0;in;i+)mi=teai.num;for(i=0;in-1;i+)for(j=0;jmj+1)t=mj;mj=mj+1;mj+1=t;printf( 序号 | 职工号 | 姓名 | 性别 | 职称 | 课程 | 评分 n);printf(*n); for(i=0;in;i+)for(j=0;jn;j+)if(teaj.num=mi) printf(n%3d %lu %4s %1s %5s %20s %3dn,z+,teaj.num,,teaj.sex,teaj.title ,teaj.lesson,teaj.score); printf(*n); printf(.排序成功!n);printf(.请按任意键回到主菜单n); getch();void order_score() /按教学综合评分排序教师信息struct teachers teaN;int z=1;inti,n,j;int m20,t;n=reads(tea);for(i=0;in;i+)mi=teai.score;for(i=0;in-1;i+)for(j=0;jn-1;j+)if(mjmj+1)t=mj;mj=mj+1;mj+1=t;printf( 序号 | 职工号 | 姓名 | 性别 | 职称 | 课程 | 评分 n);printf(*n); for(i=0;i=0;j-)if(teaj.score=mi) printf(n%3d %lu %4s %1s %5s %20s %3dn,z+,teaj.num,,teaj.sex,teaj.title ,teaj.lesson,teaj.score); printf(*n); printf(.排序成功!n);printf(.请按任意键回到主菜单n); getch();void query_name() / 按教师姓名对教师信息查询 struct teachers teaN; char nameN;int i,n;bool flag=0; n=reads(tea); printf(n请输入待查询的教师姓名,按回车键确认:n); scanf(%s,&name); for(i=0;in;i+)if(strcmp(name,)=0) printf( 序号 | 职工号 | 姓名 | 性别 | 职称 | 课程 | 评分 n);printf(*n);printf(n%3d %lu %4s %1s %5s %20s %3dn,i+1,teai.num,,teai.sex,teai.title ,teai.lesson,teai.score);printf(*n);printf(.查询成功!n);printf(.请按任意键回到主菜单n);flag=1; getch();if(flag=0)printf(n.未找到相关信息!n);printf(.请按任意键回到主菜单n);getch();void query_lesson() / 按教师课程对教师信息查询 struct teachers teaN; char lessonN; int i,n;bool flag=0; n=reads(tea); printf(n请输入待查询的教师课程,按回车键确认:n);scanf(%s,&lesson); for(i=0;in;i+) if(strcmp(lesson,teai.lesson)=0) printf( 序号 | 职工号 | 姓名 | 性别 | 职称 | 课程 | 评分 n);printf(*n); printf(n%3d %lu %4s %1s %5s %20s %3dn,i+1,teai.num,,teai.sex,teai.title ,teai.lesson,teai.score);printf(*n);printf(.查询成功!n); printf(.请按任意键回到主菜单n);flag=1;getch(); if(flag=0)printf(n.未找到相关信息!n);printf(.请按任意键回到主菜单n);getch();void modify()/修改教师信息struct teachers teaN;FILE *fp; fp=fopen(d:teachers.txt,ab);int i,n;bool flag=0;n=reads(tea);char mN;printf(请输入要修改的老师的名字:);scanf(%s,&m);for(i=0;in;i+)fread(&teai,sizeof(struct teachers),1,fp);for(i=0;in;i+) if(strcmp(,m)=0)printf(这是此老师原来的信息:n);printf( 序号 | 职工号 | 姓名 | 性别 | 职称 | 课程 | 评分 n); printf(*n); printf(n%3d %lu %4s %1s %5s %20s %3dn,i+1,teai.num,,teai.sex,teai.title ,teai.lesson,teai.score); printf(*n);printf(请输入新信息:n);printf(n请输入教师的工号、姓名,用空格分开,并按回车键确认:n); scanf(%lu%s,&teai.num,&); printf(n请输入教师的性别、职称、讲授课程名称、教学效果综合评分,用空格分开,并按回车键确认:n); scanf(%s%s%s%d,&teai.sex,&teai.title,&teai.lesson,&teai.score);fclose(fp);fp=fopen(d:teachers.txt,w);fclose(fp);fp=fopen(d:teachers.txt,ab);for(i=0;in;i+)fprintf(fp,%lu %s %s %s %s %d,teai.num,,teai.sex,teai.title,teai.lesson,teai.score);fprintf(fp,n);fclose(fp);flag=1; printf(.修改成功!n); printf(.请按任意键回到主菜单n); getch();if(flag=0)printf(n.未找到相关信息!n);printf(.请按任意键回到主菜单n);getch();void backspace()/删除教师信息struct tea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论