欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言课程设计报告——教务管理系统.doc

    • 资源ID:46138244       资源大小:307KB        全文页数:57页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课程设计报告——教务管理系统.doc

    . .功能说明:实现两种权限的身份登陆的教务管理系统*/#include "stdio.h"#include "stdlib.h"#include "string.h"#include "time.h"#include "memory.h"#define share "d:share.dat"/定义地址#define manager "d:manager.dat" /定义管理员地址#define outmsg "d:outmsg.dat"/定义公告地址#define logtimemsg "d:used login time.dat"/定义用户登录时间信息#define star_stu "d:stu_same.dat"/定义学生起始文件信息#define stu_msg"d:stu.dat"/定义学生成绩信息地址#define mass_key "3110008758"/定义文件头部密码typedef struct student stu;#define sc_num 4/只设定4门科目,不允许改动#define uint unsigned int/*学生成绩管理系统构造*/struct studentchar num10;/*学生学号*/char name10;/*学生XX*/uint scoresc_num;/*科目分数*/uint average;/*科目平均分*/stu *next;st;char gettemp=0;/*管理员身份识别构造*/typedef struct username user;struct usernamechar username20;/char password20;use;/*时间登录信息*/struct Logtimechar userlogin20;struct tm;char logc;/登录次数typedef struct Logtime logtime;/=/定义通讯协议/=#define mass_max200/定义信息量struct Massageint cont;/文件数量char username15;/发送人char massmass_max;/信息mas;typedef struct Massage massage;/=/=char userlogin10;char sc_namesc_num10;/*以上是学生信息*/char wele(void);/*用户界面,返回0,那么表示退出系统*/*=学生信息操作=*/stu*creat();/*建立链表*/void display(stu *head);/*显示用户信息*/void insert(stu *head);/*增加学生信息*/stu* delname(stu*head,char *stu_name);/*根据学生XX删除用户信息*/stu* delnum(stu *head,char *stu_num);/*根据学生学号删除用户信息*/stu* checkname(stu *head,char *stu_name);/*输出指定学生的信息*/stu* checknum(stu *head,char *stu_num);/*输出指定学生学号的学生信息*/void changsc_name(stu *head,char *name);/*修改用户成绩*/void changsc_num(stu *head,char *num);/*修改用户成绩*/void waring(void);/*产生警告信息*/char cheknum(char *num);/*检查学生学号是否符合格式*/char chekname(char *name);/*检查学生XX是否符合格式*/char chekscore(char score);/*检查学生分数是否符合格式*/stu* sortscore(stu *head);/*学生按平均成绩排序*/stu* sortnum(stu *head);/*学生信息按学号排序*/*=学生用户登录=*/char stulogin(void);/*进入普通用户登录界面*/char stucheck(char *nam,char *stnum);/*查找是否存在该学生信息*/char newlogin(char *nam,char *stnum);/*注册学生信息*/void disnewst(void);/*获得学生信息*/*=系统管理选择,管理员权限=*/void stu_system(void);/*对各种操作集中管理*/void sentmsg(void);/*发送公告*/char readmsg(void);/*浏览信息*/char delemsg(void);/删除信息void chagesbject(void);/*修改课程信息*/*=用户登录信息=*/void setlogintime(void);/*记录用户登录时间*/void dislogintime(void);/*显示用户登录信息*/void setused(void);/*注册新用户资料*/char usedcheckname(char *name);/*用户信息检查,假设存在用户,那么返回1,否那么返回0*/char usedcheckpass(char *name,char *password);/*查看用户名密码是否符合*/*=存储操作=*/char save(stu *head);/*保存用户数据*/char disload();/*显示用户信息*/stu* load(void);/*加载用户数据*/void clrtxt(char *str);/*去除文本信息*/char* creat_txt(char *username);/*根据用户名,创立一个用户文件*/FILE* chekuser(char *username);/*根据用户名,查找是否有此用户信息,假设无,返回NULL*/*=-main函数-=*/void main()FILE *fp;char i,j;char name15;system("color b5");memset(name,'0',sizeof(name);if(fp=fopen(star_stu ,"r+")=NULL)printf("将新建文件!n");fp=fopen(star_stu ,"w+");fread(name,sizeof(name),1,fp);if(strcmp(name,mass_key)!=0)printf("文件载入出错!t N为退出回车键继续.:");i=getchar();if(i='n')|(i='N')fclose(fp);exit(1);elseprintf("nn数据将重新初始化!n");printf("nn请输入4门科目名称n");memset(name,'0',sizeof(name);fwrite(name,sizeof(name),5,fp);strcpy(name,mass_key);rewind(fp);fwrite(name,sizeof(name),1,fp);for(i=0;i<sc_num;i+)printf("nn第%d门科目名称 : ",i+1);scanf("%s",sc_namei);if(fwrite(sc_namei,sizeof(sc_namei),1,fp)!=1)printf("nntttt保存出错!n");getchar();exit(1);elseif(fp=NULL)printf("n文件错误!");fscanf(fp,"%s%s%s%s",sc_name0,sc_name1,sc_name2,sc_name3);fclose(fp);fp=fopen(share,"w");/为防止文件在后面翻开错误fclose(fp);fp=fopen(manager,"w");fclose(fp);fp=fopen(outmsg,"w");fclose(fp);doj=wele();if(j=1)system("cls");printf("tt欢迎进入学生用户中心系统!");setlogintime();j=stulogin();else if(j=2)setlogintime();stu_system();while(j!=0);fp=fopen(share,"w");/为防止文件未关闭,倒置文件容丧失fclose(fp);fp=fopen(manager,"w");fclose(fp);fp=fopen(outmsg,"w");fclose(fp);fp=fopen(logtimemsg,"w");fclose(fp);fp=fopen(star_stu,"w");fclose(fp);fp=fopen(stu_msg,"w");fclose(fp);/*=-初始化用户界面-=*/返回1,那么进入stu用户界面/返回0,那么表示退出/返回2,那么表示进入管理员界面char wele(void)char username20;char userpass20;char i,wrong_cont=0,key=0,weling=1,back=0;char temp;system("color b5");while(weling)dosystem("cls");printf("t*欢迎进入教务管理系统*n");printf("t* *n");printf("t* 1.用户登录 *n");printf("t* *n");printf("t* 2.用户注册 *n");printf("t* *n");printf("t* 3.管理员登陆 *n");printf("t* *n");printf("t* 4.管理员注册 *n");printf("t* *n");printf("t* 5.退出系统 *n");printf("t* *n");printf("t=n");printf("t 请按命令提示操作n");printf("nnn");printf("nnn");printf("您输入的命令为:t");i=getchar();if(i!='1')&&(i!='2')&&(i!='3')&&(i!='4')&&(i!='5')printf("n输入错误的指令!请按命令提示操作 1-3n");getchar();while(i!='1')&&(i!='2')&&(i!='3')&&(i!='4')&&(i!='5');switch(i)case '1':system("cls");memset(username,'0',sizeof(username);memset(userpass,'0',sizeof(userpass);printf("nt请输入用户名 :t");scanf("%s",username);printf("nt请输入学号 :t");scanf("%s",userpass);temp=stucheck(username,userpass);if(temp=0)printf("没有学生档案信息!请注册.n");getchar();break;else if(temp=1)memset(userlogin,'0',sizeof(userlogin);strcpy(userlogin,username);printf("nt学生成绩登录有效!");getchar();return 1;getchar();/=break;case '2':system("cls");memset(username,'0',sizeof(username);memset(userpass,'0',sizeof(userpass);printf("nt请输入用户名 :t");scanf("%s",username);printf("nt请输入学号 :t");scanf("%s",userpass);while(cheknum(userpass)!=1)printf("您的输入格式有误,请重新输入!n");printf("按回车键继续.n");getchar();memset(userpass,'0',sizeof(userpass);printf("nt请输入学号 :t");scanf("%s",userpass);if(newlogin(username,userpass)printf("nt注册成功!用户名:%st学号:%s",username,userpass);getchar();break;case '3':dosystem("cls");memset(username,'0',sizeof(username);memset(userpass,'0',sizeof(userpass);printf("nt请输入用户名 :t");scanf("%s",username);printf("nt请输入密码 :t");scanf("%s",userpass);if(usedcheckpass(username,userpass)=0)wrong_cont+;if(wrong_cont=3)printf("nt输入次数大于3次!请按回车键退出系统!n");getchar();weling=0;return 0;key=1;printf("nt按1选择返回主菜单nt按0继续输入用户验证码n");doback=getchar();if(back!='1')&&(back!='0')printf("nt输入错误!按回车键继续.");getchar();while(back!='1')&&(back!='0');if(back='1')key=0;else key=0;weling =0;system("cls");printf("nntt欢迎%s进入学生管理系统n",username);memset(userlogin,'0',sizeof(userlogin);strcpy(userlogin,username);/记录用户登录信息return 2;while(key);back=0;weling=1;break;return 2;case '4':setused();/*注册新管理员资料*/weling=1;break;case '5':weling=0;return 0; return 1;/*=-建立链表-=*/stu*creat()/*建立链表*/char i,j;char stu_num;stu *p1, *p2;stu *head;FILE *fp;fp=fopen(stu_msg,"w+");head=(stu*)malloc(sizeof(stu);head->next=NULL;p1=p2=(stu*)malloc(sizeof(stu);i=0,j=0;system("cls");printf("nn请输入要录入的学生人数: ");scanf("%d",&stu_num);for(i=0;i<stu_num;i+)system("cls");p1->average=0;printf("nn请输入学生学号: ");scanf("%s",p1->num);while(!cheknum(p1->num)printf("nn输入格式错误!请重新输入学号 : ");scanf("%s",p1->num);printf("nn请输入学生XX : ");scanf("%s",p1->name);while(!chekname(p1->name)printf("nn输入格式出错!不能带数字或下划线!n");printf("nn请重新输入学生XX: ");scanf("%s",p1->name); do printf("nn请输入学生%s成绩 :",sc_namej); scanf("%d",&p1->scorej);while(100<p1->scorej)|(p1->scorej<0)printf("nn成绩格式出错!n ");getchar();printf("nn请重新输入学生成绩 : ");scanf("%d",&p1->scorej);p1->average+=p1->scorej;j+;while(j<sc_num);j=0;p1->average=p1->average/4;if(i=0)head->next=p1;/*分清楚是head->next=p还是head=p*/p2=p1;p1->next=NULL;else p2->next=p1;p2=p1;p2->next=NULL;/*产生新的节点*/fwrite(p1,sizeof(stu),1,fp);p1=(stu*)malloc(sizeof(stu);display(head);getchar();fclose(fp);return head;/*=检查学生学号是否符合格式,假设正确,那么返回1,否那么返回0=*/char cheknum(char *num)/*检查学生学号是否符合格式*/char i;/*获取字符串长度*/char j=strlen(num);for(i=0;i<j;i+)if('0'>numi)|('9'<numi)return 0;exit(1);return 1;/*=检查学生XX是否符合格式,假设正确,那么返回1,否那么返回0=*/char chekname(char *name)/*检查学生XX是否符合格式*/char i;for(i=0;i<strlen(name);i+)/*if('A'>namei)|('Z'<namei)&&('a'>namei)|('z'<namei)/if(namei<18)return 0;exit(1);*/return 1;/*=显示学生成绩情况=*/void display(stu *head)/*显示用户信息*/stu *p1;char i=0;p1=head->next;system("cls");if(p1!=NULL)while(p1!=NULL)if(i=0)printf("XXt学号t %st %st %st%st平均分 n",sc_name0,sc_name1,sc_name2,sc_name3);i+;printf("%st%st %dt %dt%dt%dt%dn",p1->name,p1->num,p1->score0,p1->score1,p1->score2,p1->score3,p1->average); p1=p1->next;getchar();elseprintf("ttt链表为空!nnn请按回车键继续.n");getchar();/*=插入学生信息=*/void insert(stu *head)/*增加学生信息*/stu *p1,*p2;char j=0;p1=head->next;p2=(stu*)malloc(sizeof(stu);/*创立新的学生信息*/p2->average=0;system("cls");printf("nn请输入要增加的学生学号: ");scanf("%s",p2->num);while(!cheknum(p2->num)printf("nn输入格式错误!请重新输入学号 : ");scanf("%s",p2->num);printf("nn请输入学生的XX : ");scanf("%s",p2->name);while(!chekname(p2->name)printf("nn输入格式出错!不能带数字或下划线!n");printf("nn请重新输入学生XX: ");scanf("%s",p2->name); do printf("nn请输入学生%s成绩 :",sc_namej); scanf("%d",&p2->scorej);while(100<p2->scorej)|(p2->scorej<0)printf("nn成绩格式出错!n ");getchar();printf("nn请重新输入学生成绩 : ");scanf("%d",&p2->scorej);p2->average+=p2->scorej;j+;while(j<sc_num);p2->average=p2->average/4;if(head->next=NULL)printf("n原链表为空!");getchar();head->next=p2;elsewhile(p1->next!=NULL)p1=p1->next;p1->next=p2;p2->next=NULL;display(head);getchar();/*=删除学生信息=*/stu* delname(stu*head,char *stu_name)/*根据学生XX删除用户信息*/stu *p1,*p2;char i,j=0;system("cls");if(head->next=NULL)printf("nn没有学生信息!t操作错误!n");return head;p1=head->next;p2=p1;while(p1!=NULL)if(strcmp(p1->name,stu_name)=0)printf("nn你所删除的学生XX为: %st学号为:%sn",p1->name,p1->num);printf("nn确定为:y,取消为nt:");i=getchar();while(!(i='y')|(i='Y')|(i='n')|(i='N')printf("nn输入错误!t请重新输入 :");i=getchar();if(i='y')|(i='Y')if(j=0)head->next=p1->next;/*删除头部接点*/

    注意事项

    本文(C语言课程设计报告——教务管理系统.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开