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

    语言专业课程设计方案报告.doc

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

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

    语言专业课程设计方案报告.doc

    一、设计思想一方面建立主函数实现功能选取,然后通过调用函数来分别实现;1.学生信息录入功能(以文献方式保存);2.学生信息浏览功能;3.学生信息查询功能(可以按学号,班级,性别分别进行查询,用子菜单,可显示多条记录);4.学生信息删除功能(按学号进行删除);5.学生信息修改功能(按学号修改);6.不及格学生成绩汇总功能。二 概要设计1. 模块简介程序由十一种模块构成,分别是:主菜单模块、录入信息模块、保存信息模块、浏览信息模块、查询菜单模块、按学号查询模块、按姓名查询模块、按性别查询模块、修改信息模块、删除信息模块、不及格学生信息汇总模块。2.函数功能lr()函数是实现信息录入功能函数;bc()函数是将录入信息保存到文献中额函数;ll()是实现浏览功能函数;cx()是实现信息查询功能函数,在cx()函数调用了xuehao();xingming();xingbie()这三个函数,这三个函数分别实现按学号查找、按姓名查找、按性别查找学生信息 功能;sc()函数是实现删除学生信息功能;xg()实现信息修改功能;hz()实现不及格学生汇总功能3、系统流程开始输入0-6选取功能输入5输入4输入3输入2退出程序输入0输入6输入学生信息将学生信息保存到文献浏览学生信息查询学生信息,输入1-3选取查询方式输入1,按学号查询输入2,按姓名查询输入3,按性别查询修改学生信息输入1输入0取消查询输入所需修改学生学号输入0-9选取所需修改内容输入新信息修改完毕删除信息输入学生学号删除完毕不及格学生信息汇总三 详细设计 1、代码#include <stdio.h>#include <string.h>#include<stdlib.h>struct student char num13; char name15; char cla10; int age; char sex4; char bir8; char addr15; char tele15; char course10; int score;int n=0;struct student stu100; /定义变量struct student *p;FILE *fp;void lr();void ll();void cx();void sc();void xg();void hz();void bc();void xuehao();void xingming();void xingbie(); /定义函数void main() /主函数 int z; printf("+-+n"); printf("| 欢迎使用学生信息管理系统 |n"); printf("+-+n"); printf("提示:为保证您操作得到保存,请按正常顺序退出系统_n"); do printf("nttt-n"); printf("ttt+ 主菜单 |n"); printf("ttt-n"); printf("ttt+ 1-录入学生信息 |n"); printf("ttt+ 2-浏览学生信息 |n"); printf("ttt+ 3-查询学生信息 |n"); printf("ttt+ 4-删除学生信息 |n"); printf("ttt+ 5-修改学生信息 |n");printf("ttt+ 6-不及格学生成绩汇总 |n"); printf("ttt+ 0-退出系统 |n"); printf("ttt-n"); printf("请输入您选取:"); scanf("%d",&z); switch(z) case 0 : break; case 1 :lr();break; case 2 :ll();break; case 3 :cx();break; case 4 :sc();break; case 5 :xg();break;case 6 :hz();break; /函数调用 default:printf("n无效选项!"); while(z!= 0);void lr() /录入函数 int y;if(n=0) p=stu; printf("-n"); printf("ntt请输入学生学号:"); scanf("%s",&stun.num); printf("ntt请输入学生姓名:"); scanf("%s",&stun.name); printf("ntt请输入学生班级:"); scanf("%s",&stun.cla); printf("ntt请输入学生年龄:"); scanf("%d",&stun.age); printf("ntt请输入学生性别:"); scanf("%s",&stun.sex); printf("ntt请输入学生出生年月:"); scanf("%s",&stun.bir); printf("ntt请输入学生地址:"); scanf("%s",&stun.addr); printf("ntt请输入学生电话:"); scanf("%s",&stun.tele); printf("ntt请输入学生课程:"); scanf("%s",&stun.course); printf("ntt请输入学生成绩:"); scanf("%d",&stun.score); /输入学生信息 n+; p+; printf("请输入 0以保存信息:"); scanf("%d",&y); if(y=0) bc(); /调用函数 else printf("无效选项");return;void bc()/*保存函数*/ int i;if (fp=fopen("fstudent.txt","wb")=NULL) /打开一种只写文献,将要打开文献指针赋给fp,使fp与文献相联系 printf("ntt文献打开失败");exit(0); for (i=0;i<100;i+) fwrite(&stui,sizeof(struct student),1,fp);/把信息输出大奥fp所指向文献中,返回值为写到 fp文献中数据项个数 fclose(fp); /关闭fp所指文献,有错返回非0,否则返回0printf("ntt通讯录文献已保存");printf("ntt按回车键退出程序ntt");void ll()/*浏览函数*/int i;if(n!=0) printf("ntt* 如下为学生管理系统所有信息*");for (i=0;i<n;i+) printf("ntt学号: %s",stui.num);printf("ntt姓名: %s",stui.name); printf("ntt班级: %s",stui.cla);printf("ntt年龄: %d",stui.age);printf("ntt性别: %s",stui.sex);printf("ntt出生年月: %s",stui.bir);printf("ntt地址: %s",stui.addr);printf("ntt电话: %s",stui.tele);printf("ntt课程: %s",stui.course);printf("ntt成绩: %d",stui.score);printf("ttn"); printf("ntt*");void cx()/*查询函数*/int c; do printf("n"); printf("+-+n"); printf("| 按学号查询 请按 1 |n"); printf("| 按姓名查询 请按 2 |n"); printf("| 按性别查询 请按 3 |n"); printf("| 取消 请按 0 |n"); printf("+-+n"); printf("请输入您选取:"); scanf("%d",&c); switch(c) case 0:break; case 1:xuehao();break; case 2:xingming();break; case 3:xingbie();break; /调用函数 default: printf("n提示:无效选项!"); break; while(c!= 0);void xingming()/按姓名查询int i;int j=0;char name15;printf("ntt* 按姓名查找 *");printf("ntt请输入要查学生姓名:");scanf("%s",name);for(i=0;i<n;i+)if(strcmp(name,stui.name)=0) /比较两个字符串,若相等,返回0j+;printf("ntt* 如下是您查找学生信息 *");printf("ntt学号: %s",stui.num);printf("ntt姓名: %s",stui.name); printf("ntt班级: %s",stui.cla);printf("ntt年龄: %d",stui.age);printf("ntt性别: %s",stui.sex);printf("ntt出生年月: %s",stui.bir);printf("ntt地址: %s",stui.addr);printf("ntt电话: %s",stui.tele);printf("ntt课程: %s",stui.course);printf("ntt成绩: %d",stui.score);printf("ntt*");printf("ntt与否继续查询?(y/n)");getchar(); /输入选取if (getchar()='y') xingming(); /函数递归调用return ;if(j=0)printf("ntt未查找该学生信息:");printf("ntt按回车键返回菜单:");getchar();getchar();return;printf("ntt按回车键返回主菜单:");getchar();getchar(); void xuehao()/*按学号查询int i;int j=0;char num13;printf("ntt* 按学号查找 *");printf("ntt请输入要查学生学号:");scanf("%s",&num);for(i=0;i<n;i+)if(strcmp(num,stui.num)=0)j+;printf("ntt* 如下是您查找学生信息 *");printf("ntt学号: %s",stui.num);printf("ntt姓名: %s",stui.name); printf("ntt班级: %s",stui.cla);printf("ntt年龄: %d",stui.age);printf("ntt性别: %s",stui.sex);printf("ntt出生年月: %s",stui.bir);printf("ntt地址: %s",stui.addr);printf("ntt电话: %s",stui.tele);printf("ntt课程: %s",stui.course);printf("ntt成绩: %d",stui.score);printf("ntt*");printf("ntt与否继续查询?(y/n)");getchar();if (getchar()='y') xuehao(); /函数递归调用return ;if(j=0)printf("ntt未查找该学生信息:");printf("ntt按回车键返回菜单:");getchar();getchar();return;printf("ntt按回车键返回主菜单:");getchar();getchar(); void xingbie()/按性别查询int i;int j=0;char sex4;printf("ntt* 按性别查找 *");printf("ntt请输入要查学生性别:");scanf("%s",&sex);for(i=0;i<n;i+)for(i=0;i<n;i+)if(strcmp(sex,stui.sex)=0)j+;printf("ntt* 如下是您查找学生信息 *");printf("ntt学号: %s",stui.num);printf("ntt姓名: %s",stui.name); printf("ntt班级: %s",stui.cla);printf("ntt年龄: %d",stui.age);printf("ntt性别: %s",stui.sex);printf("ntt出生年月: %s",stui.bir);printf("ntt地址: %s",stui.addr);printf("ntt电话: %s",stui.tele);printf("ntt课程: %s",stui.course);printf("ntt成绩: %d",stui.score);printf("ntt*");printf("ntt与否继续查询?(y/n)");getchar();if (getchar()='y') xingbie(); /函数递归调用return;if(j=0)printf("ntt未查找该学生信息:");printf("ntt按回车键返回菜单:");getchar();getchar();return;printf("ntt按回车键返回主菜单:");getchar();getchar(); void xg()/*修改函数*/ char num13; char name15; char cla10; int age; char sex4; char bir8; char addr15; char tele15; char course10; char score; int i,j,c; if(n!=0) printf("请输入您要修改学生学号:"); scanf("%s",&num); printf("n"); for(i=0;i<n;i+) if(strcmp(num,stui.num)=0) j=i; 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("| 成绩 请按 9 |n"); printf("| 取消 请按 0 |n"); printf("+-+n"); printf("请输入您选取:"); scanf("%d",&c); printf("n"); switch(c) case 0:break; case 1:printf("请输入新姓名:"); scanf("%s",stuj.name); strcpy(name,stuj.name); /复制字符串,返回name break; case 2:printf("请输入新班级:"); scanf("%s",stuj.cla); strcpy(cla,stuj.cla); break; case 3:printf("请输入新年龄:"); scanf("%d",&stuj.age); strcpy(age,stuj.age);break; case 4:printf("请输入新性别:"); scanf("%s",stuj.sex); strcpy(sex,stuj.sex);break; case 5:printf("请输入新出生年月:"); scanf("%s",stuj.bir); strcpy(bir,stuj.bir);break; case 6:printf("请输入新地址:"); scanf("%s",stuj.addr); strcpy(addr,stuj.addr);break; case 7:printf("请输入新电话:"); scanf("%s",stuj.tele); strcpy(tele,stuj.tele);break; case 8:printf("请输入新课程:"); scanf("%s",stuj.course); strcpy(course,stuj.course);break;case 9:printf("请输入新成绩:"); scanf("%d",stuj.score); strcpy(score,stuj.score);break; default: printf("n无效选项!"); break; printf("ntt按回车键返回主菜单:"); getchar(); getchar(); /输入回车键 return; else printf("提示:无学生数据,请输入数据!");void sc()/*删除函数*/int e=0;char name15;int j;int i;char id20;printf("ntt请输入要删除联系人姓名:");scanf("%s",name);getchar();for (i=0;i<n;i+) if (strcmp(stui.name,name)=0) printf("ntt如下是您要删除学生纪录:");e+;printf("ntt*");printf("ntt学号: %s",stui.num);printf("ntt姓名: %s",stui.name); printf("ntt班级: %s",stui.cla);printf("ntt年龄: %d",stui.age);printf("ntt性别: %s",stui.sex);printf("ntt出生年月: %s",stui.bir);printf("ntt地址: %s",stui.addr);printf("ntt电话: %s",stui.tele);printf("ntt课程: %s",stui.course);printf("ntt成绩: %d",stui.score);printf("ntt*");printf("ntt与否删除?(y/n)");if (getchar()='y') for (j=i;j<n;j+)stuj=stuj+1;n-; printf("ntt删除成功");printf("ntt与否继续删除?(y/n)");getchar();if (getchar()='y') sc(); if (e=0) printf("ntt没有该学生纪录");printf("ntt与否继续删除?(y/n)");if (getchar()='y') sc(); /函数递归调用 void hz()/*汇总函数*/int score;int i;int *p;for(i=0;i<n;i+)for(p=&stui.score;p<(stui.score+n);p+) /用指针变量指向数组元素printf("%d",*p); /*p即为学生成绩if(*p<60)printf("ntt* 如下是不及格学生信息 *");printf("ntt学号: %s",stui.num);printf("ntt姓名: %s",stui.name); printf("ntt班级: %s",stui.cla);printf("ntt年龄: %d",stui.age);printf("ntt性别: %s",stui.sex);printf("ntt出生年月: %s",stui.bir);printf("ntt地址: %s",stui.addr);printf("ntt电话: %s",stui.tele);printf("ntt课程: %s",stui.course);printf("ntt成绩: %d",stui.score);printf("ntt*");四、 总结在这为期一周课程设计中,我发现了诸多问题,也正是由于发现了问题,我也学到了诸多东西。在写程序过程中总是会发现许多错误,并且发现自己诸多知识都没掌握好,因此在开始设计之前我把课本后几章又看了一遍。在写时候,我也是把书放在旁边,随时翻阅。这不但让我巩固了已学到知识,也让我弄懂了诸多问题。在这一周里,诸多时候程序没有错误却无法运营,本来束手无策我也学会通过调试程序来发现问题所在,然后解决问题。通过这一周实践操作,我学到了诸多有用东西,这无论是对后来学习还是生活均有无比重要价值。

    注意事项

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

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




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

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

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

    收起
    展开