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

    (附件1)C语言程序设计课程设计报告.docx

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

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

    (附件1)C语言程序设计课程设计报告.docx

    课 程 设 计 课程名称C语言程序设计课程设计题目名称宿舍学生信息管理系统专业班级2014级智慧城市班学生姓名成云 金慧芬 陈先平 杨锦 齐雨婷学 号指导教师马程二一五年6月20日蚌埠学院计算机科学与技术系课程设计任务书课 程C语言程序设计班级2014级智慧城市班指导教师马程题 目学生宿舍信息管理系统完成时间2015年6月1日至2015年6月20日主要内容要求: 1 能实现基本数据的输入、输出、查询、统计等操作;2 用文件的方式等操作。3需求由设计者自己分析。设计报告要求1封面:(格式附后)2课程设计任务书3课程设计报告: 系统总体方案 设计思路和主要步骤 各功能模块和流程图 设计代码 心得体会和参考资料说明:学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹工整(也可用以打印),文字不少于5000 字,并装订成册。版面要求1 题目用黑体三号,段后距18磅(或1行),居中对齐;2 标题用黑体四号,段前、段后距6磅(或0.3行);3 正文用小四号宋体,行距为1.25倍行距;4 标题按“一”、“”、“1”、“”顺序编号。上机时间安排星期周次一二三四五六日第2周-第5周2014级智慧城市班,3-4节2014级智慧城市班,1-2节指导时间地点上机时间,多媒体技术实验室(A503)分工协作说明课题名称学生姓名学号所做的工作 学 生 宿 舍 管 理 系 统金慧芬51402121033成云51402121012陈先平51402121035齐雨婷51402121008杨锦51402121024学生宿舍信息管理系统一、 系统总体方案:(一)总体功能设计学生宿舍管理系统存放了每个学生的学号、姓名、性别、年龄、寝室号、电话号码每个人的信息定义在一个结构体变量中。其结构如下:系统通过录入程序、浏览程序、查询程序、删除程序、添加程序、修改程序及退出实现学生信息管理系统的录入、浏览、查询、删除、添加、修改各个功能的调用通过主函数中的switch语句来实现。switch(n)case 1:printf("1.录入学生信息n");printf("n");input();break;case 2:printf(2.浏览学生信息n");printf("n");display();break;case 3:printf("3.按学号查询n");printf("n");search();break;case 4:printf("4.删除学生信息n");printf("n");del();break;case 5:printf("5.添加学生信息n");printf("n");add();break;case 6:printf("6.修改学生信息n");printf("n");modify();break;case 7:exit(0);break;default :break; (二)各模块功能设计:(1)录入模块通过设计一个模块,来实现学生信息的录入。(2)浏览模块通过设计一个模块,实现学生信息的显示,以便以便用户更好的浏览学生信息。(3)查询模块通过设计一个模块,这个模块可以按学生的学号、姓名来查询学生所有的信息,并显示学生的所有信息,以便用户阅读。(4)删除模块通过设计一个模块,通过程序实现找到学生信息,在通过程序将学生的信息文件中删除。(5)添加模块通过设计一个模块,当要添加新的学生的信息的时候,来实现新学生的信息录入。(6)修改模块通过设计一个模块,当某个学生的信息要发生改变时,通过程序找到要修改的的学生信息,根据需要修改的内容去修改学生信息,在通过浏览模块来显示修改后的学生信息。(三)设计思路和主要步骤:(1).设计思路:学生宿舍管理系统是对学生住宿信息的录入、浏览、查询、删除、添加、修改等,方便宿管员对学生的管理;首先设计进入系统的界面,以方便用户与计算机之间的交互,然后通过编语句实现系统各个模块的功能,实现系统的功能。(2).主要步骤:(一)了解学生宿舍信息的内容(二)通过课本例题了解主要步骤(三)查阅课本所需要的编程语句(四)通过用c+编语句,用c+语句的格式及要求完成系统的设计及实现(五)最后调试程序,查看运行结果,写报告。二、 系统总体模块设计图主函数录入模块浏览模块查询模块删除模块添加模块修改模块退出退出三、 系统总流程图及各模块流程图(一)总流程图:开始进入系统输入数字nn=?n=1 录入模块n=2 浏览模块n=3 查询模块n=4 删除模块n=5 添加模块n=6 修改模块n=7 退出显示结果输出退出结束(二)各模块流程图(1)录入信息流程图:输入姓名输入性别输入年龄输入寝室号输入电话是否继续录入结束是否(2)浏览信息流程图:(3)查询信息流程图:进入输入选项按学号查找按电话号码查找查找学生Flag=?输出学生信息查无此人!是否继续查询退出Num=2Num=3flag=1flag=0是否(4)删除信息流程图:查无此人Flag=0开 始输入要查找的信息查找删除信息Flag=?删除学生信息输出要删除信息是否继续删除结 束否是(5)添加信息流程图:(6)修改信息流程图:(7)退出流程图四、 程序代码#include <stdio.h>#include <windows.h>#include <time.h>#include <string.h>#define N 100struct studentint num; /*学号*/char name10; /*姓名*/char sex; /*性别*/ int age; /*年龄*/int qsh; /*寝室号*/char tel12; /*电话号码*/stu100; /*定义一个结构体*/void menu(); /*菜单函数*/void input(); /*录入函数*/void save(int); /*保存函数*/void display(); /*浏览函数*/void del(); /*删除函数*/void add(); /*增加函数*/void search(); /*查询函数*/void search_num();void search_xueli();void search_tel();void modify(); /*修改函数*/void menu() /*菜单函数*/printf("n");printf("*宿舍学生信息管理系统*nnn");printf("1.录入学生信息2.浏览学生信息nnn" );printf("3.查询学生信息4.删除学生信息nnn");printf("5.添加学生信息6.修改学生信息nnn" );printf("7.退出nn" ); printf("*欢迎下次进入!*nnn");printf("n");printf("n");void main()int n,flag;char a;menu(); /*调用菜单函数*/doprintf("请选择你需要操作的步骤(1-7):n");scanf("%d",&n);if(n>=1&&n<=7)flag=1;break;elseflag=0;printf("您输入有误,请重新选择!");while(flag=0);while(flag=1)switch(n)case 1:printf("1.输入学生信息n");printf("n");input();break;case 2:printf("2.浏览学生信息n");printf("n");display();break;case 3:printf("3.按学号查询学生信息n");printf("n");search();break; case 4:printf("4.删除学生信息n");printf("n");del();break;case 5:printf("5.添加学生信息n");printf("n");add();break;case 6:printf("6.修改学生信息n");printf("n");modify();break;case 7:exit(0);break;default :break;getchar();printf("n");printf("是否继续进行(y or n):n");scanf("%c",&a);if(a='y')flag=1;system("cls"); /*清屏*/menu(); /*调用菜单函数*/printf("请再次选择你需要操作的步骤(1-6):n");scanf("%d",&n);printf("n");else exit(0);void input() /*录入函数*/int i,n,m,p,j;printf("请输入需要创建信息的学生人数(1-100):n");scanf("%d",&m);for (i=0;i<m;i+)printf("学号(号码范围:51402000-51402100): ");scanf("%d",&stui.num);for (n=1;n=1;)for (p=0;p<i;p+)if(stui.num=stup.num)j=1;if(j=1)j=0;printf("n您输入的学号重复,请重新输入n");printf("学号: ");scanf("%d",&stui.num);elsen=0; printf("n");printf("请输入姓名: ");scanf("%s",stui.name);getchar();printf("请输入性别(女 男): ");scanf("%c",&stui.sex);printf("请输入年龄: ");scanf("%d",&stui.age);printf("请输入寝室号: ");scanf("%d",&stui.qsh);printf("请输入电话: ");scanf("%s",stui.tel);printf("n");printf("n");printf("n创建完毕!n");save(m);void save(int m) /*保存文件函数*/int i;FILE*fp;if (fp=fopen("student_list","wb")=NULL) /*创建文件并判断是否能打开*/printf ("cannot open filen");exit(0);for (i=0;i<m;i+) /*将内存中学生的信息输出到磁盘文件中去*/if (fwrite(&stui,sizeof(struct student),1,fp)!=1)printf("file write errorn");fclose(fp);int load() /*导入函数*/FILE*fp;int i=0;if(fp=fopen("student_list","rb")=NULL)printf ("cannot open filen");exit(0);else do fread(&stui,sizeof(struct student),1,fp);i+;while(feof(fp)=0);fclose(fp);return(i-1);void display() /*浏览函数*/int i;int m=load();printf("n 学号t姓名t性别t年龄t宿舍号t电话 n");for(i=0;i<m;i+) /*m为输入部分的学生人数*/printf("n %dt%st%ct%dt%dt%sn",stui.num,stui.name,stui.sex,stui.age,stui.qsh,stui.tel); void del() /*删除函数*/int m=load();int i,j,n,t,flag;char name20;printf("n 原来的学生信息:n");display(); /*调用浏览函数*/printf("n");printf("请输入要删除的学生的姓名:n");scanf("%s",name);for(flag=1,i=0;flag&&i<m;i+)if(strcmp(stui.name,name)=0)printf("n已找到此人,原始记录为:n");printf("n学号t姓名t性别t年龄t寝室号t电话 n");printf("n%dt%st%ct%dt%dt%sn",stui.num,stui.name,stui.sex,stui.age,stui.qsh,stui.tel); printf("n确实要删除此人信息请按1,不删除请按0n");scanf("%d",&n);if(n=1) /*如果删除,则其他的信息都往上移一行*/for(j=i;j<m-1;j+)strcpy(stuj.name,stuj+1.name);stuj.num=stuj+1.num;stuj.sex=stuj+1.sex;stuj.age=stuj+1.age;stuj.qsh=stuj+1.qsh; strcpy(stuj.tel,stuj+1.tel);flag=0;if(!flag)m=m-1;elseprintf("n对不起,查无此人!n");printf(" 浏览删除后的所有学生信息:n");save(m); /*调用保存函数*/display(); /*调用浏览函数*/printf("n继续删除请按1,不再删除请按0n");scanf("%d",&t);switch(t)case 1:del();break;case 0:break;default :break;void add()/*添加函数*/FILE*fp;int n;int count=0;int i,k,p,j;int m=load();printf("n 原来的学生信息:n");display(); /* 调用浏览函数*/printf("n");fp=fopen("student_list","a");printf("请输入想增加的学生数:n");scanf("%d",&n);for (i=m;i<(m+n);i+)printf("n 请输入新增加学生的信息:n");printf("请输入学号: ");scanf("%d",&stui.num);for (k=1;k=1;)for (p=0;p<i;p+)if(stui.num=stup.num)j=1;if(j=1)j=0;printf("n您输入的学号重复,请重新输入n"); printf("学号: ");scanf("%d",&stui.num);elsek=0;printf("请输入姓名: ");scanf("%s",stui.name);getchar();printf("请输入性别(f-女 m-男): ");scanf("%c",&stui.sex);printf("请输入年龄: ");scanf("%d",&stui.age);printf("请输入寝室号: ");scanf("%d",&stui.qsh);printf("请输入电话: ");scanf("%s",stui.tel);printf("n");count=count+1;printf("已增加的人数:n");printf("%dn",count);printf("n添加完毕!n");m=m+count;printf("n浏览增加后的所有学生信息:n"); printf("n");save(m);display();fclose(fp);void search()/*查询函数*/int t,flag;doprintf("n按学号查询请按1 ; 按电话号码查询请按2; 进入主函数按3; n");scanf("%d",&t);if(t>=1&&t<=3)flag=1;break;elseflag=0;printf("您输入有误,请重新选择!");while(flag=0);while(flag=1)switch(t) case 1:printf("按学生学号查询n");search_num();break;case 2:printf("按电话号码查询n");search_tel();break;case 3:main();break;default:break;void search_num()int num;int i,t,g=0;int m=load();printf("请输入要查找的学号(5140000-5140100):n");scanf("%d",&num);for(i=0;i<m;i+) if(num=stui.num) g+;printf("n已找到此人,其记录为:n");printf("n学号t姓名t性别t年龄t寝室号t电话 n");printf("n%dt%st%ct%dt%dt%sn",stui.num,stui.name,stui.sex,stui.age,stui.qsh,stui.tel); if(g=0)printf("n对不起,查无此人n");printf("n");printf("返回查询函数请按1,继续查询学号请按其他键(2-9)n");scanf("%d",&t);switch(t) case 1:search();break;case 2: break;default:break;void search_tel()char tel12;int i,t,g=0;int m=load();printf("请输入要查找的电话号码:n");scanf("%s",tel);for(i=0;i<m;i+) if(strcmp(stui.tel,tel)=0) g+;printf("n已找到此人,其记录为:n");printf("n学号t姓名t性别t年龄t寝室号t电话 n");printf("n%dt%st%ct%dt%dt%sn",stui.num,stui.name,stui.sex,stui.age,stui.qsh,stui.tel); if(g=0)printf("n对不起,查无此人n");printf("n");printf("返回查询函数请按1,继续查询电话号码请按其他键(2-9)n");scanf("%d",&t);switch(t) case 1:search();break;case 2:break;default :break;void modify() /*修改函数*/int num;char name10;char sex; int age;int qsh;char tel12;int b,c,i,n,t,flag; int m=load(); /*导入文件内的信息*/printf("n 原来的学生信息:n");display(); /* 调用浏览函数*/printf("n");printf("请输入要修改的学生的姓名:n"); scanf("%s",name);for(flag=1,i=0;flag&&i<m;i+)if(strcmp(stui.name,name)=0)printf("n已找到此人,原始记录为:n");printf("n学号t姓名t性别t年龄t寝室号t电话 n");printf("n%dt%st%ct%dt%dt%sn",stui.num,stui.name,stui.sex,stui.age,stui.qsh,stui.tel); printf("n确实要修改此人信息请按1 ; 不修改请按0n");scanf("%d",&n);if(n=1)printf("n需要进行修改的选项n 1.学号 2.姓名 3.性别 4.年龄 5.寝室号 6.电话n"); printf("请输入你想修改的那一项序号:n"); scanf("%d",&c); if(c>8|c<1) printf("n选择错误,请重新选择!n"); flag=0;if(flag=1)printf("n对不起,查无此人!n"); do switch(c) /*因为当找到第i个学生时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/case 1:printf("学号改为: scanf("%d",&num);stui-1.num=num; break; case 2:printf("姓名改为: ");scanf("%s",name);strcpy(stui-1.name,name); break; case 3:printf("性别改为: ");getchar();scanf("%c",&sex);stui-1.sex=sex; break; case 4:printf("年龄改为: ");scanf("%d",&age);stui-1.age=age; break; case 5:printf("寝室号改为: ");scanf("%d",&qsh); break; case 6:printf("电话改为: ");scanf("%s",tel); strcpy(stui-1.tel,tel); break; printf("n");printf("n是否确定所修改的信息?n 是 请按1 ; 不,重新修改 请按2: n"); scanf("%d",&b); while(b=2);printf("n浏览修改后的所有学生信息:n");printf("n");save(m);display();printf("n继续修改请按1,不再修改请按0n");scanf("%d",&t);switch(t)case 1:modify();break;case 0:break;default :break;(五)心得体会及考资料c语言要想学好它,必须要通过不断的上机操作才能更好地学习它,通过实践,我们也发现我们的好多不足之处,首先是我们在指法上还不行,经常按错字母,通过学习也有所改进;再有对c语言的一些标准库函数不太了解,在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了我们的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,我们在这几个方面的认识有所提高。C语言中程序编译过程中有错误,往往有很多错误都不知道错在其处,处理问题很棘手,在学习并运行c语言过程中,基本了解错误的含义。通过实践的学习,我们认到学好计算机要重视实践操作,不仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我们会更加注视实践操作,更好地学好计算机。参考资料:高等学校计算机教材c语言程序设计高等数学计算机教材c语言程序设计实验指导书与课程设计

    注意事项

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

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




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

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

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

    收起
    展开