C语言课程信息管理系统1.docx
- 文档编号:11472922
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:10
- 大小:64.07KB
C语言课程信息管理系统1.docx
《C语言课程信息管理系统1.docx》由会员分享,可在线阅读,更多相关《C语言课程信息管理系统1.docx(10页珍藏版)》请在冰豆网上搜索。
C语言课程信息管理系统1
一.设计目的。
1.通过对课程信息管理软件的设计编写原代码,深刻掌握C语言中各个语法、函数的应用,使对比较难的结构体、链表、文件的操作更加熟悉。
2.初步掌握中、大型程序设计中的各个步骤、流程,以及开发过程中遇到问题的处理方法,为以后的学习打下基础。
3.通过课程设计,将一学期所学习到的C程序设计知识和相关数学知识联系和结合,培养自己的动手能力,以及加强各学科之间的联系。
二.设计内容。
本系统以个人课程信息为主要背景,设计和实现了一个小型个人课程信息管理系统。
主要有以下功能:
1.系统以菜单方式运行工作,界面清晰直观,便于用户操作。
2.课程信息录入,包括课程名称,课程教师,上课时间和上课教室。
3.课程信息查看,以表格的形式查看课程信息。
4.课程信息查找,用户随时查看课程信息便于核对。
5.课程信息修改,核对后可以直接修改或删除。
三.概要设计
四.详细设计
1.数据结构设计
结构体:
用结构体接收课程信息。
文件:
用文件储存数据,这样当程序关闭时,数据不会丢失。
2.模块接口设计
Voidcreat()创建课程信息表;
Voidopen()打开课程信息表;
Voidinpt()输入课程信息;
Voidlook()查看所有课程信息;
Voidfind()查找课程信息;
Voiddelet()删除课程信息;
Voidsave()保存课程信息;
3.流程图
4.程序设计
/*HELLO.C--Hello,world*/
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
#include"string.h"
FILE*fp;
intcount;
structlesson
{
charname[10];
charteacher[10];
chartime[10];
charroom[10];
}lesson[20];
charfilename[20];
voidcreat()
{
printf("请输入文件名:
\n");
scanf("%s",filename);
if((fp=fopen(filename,"w+"))==NULL)
{printf("无法打开文件!
\n");
exit(0);
}
}
voidopen()
{intz;
printf("请输入文件名");
scanf("%s",filename);
if((fp=fopen(filename,"a+"))==NULL)
{printf("无法打开文件!
\n");
exit(0);
}
for(z=0;z {fread(&lesson[z],sizeof(structlesson),1,fp); } fclose(fp); } voidinpt() {inti,j,k; printf("要添加多少个课程信息: "); scanf("%d",&j); printf("\n"); for(i=0,k=count;i {printf("输入课程名称: "); scanf("%s",lesson[k].name); printf("输入教师姓名: "); scanf("%s",lesson[k].teacher); printf("输入上课时间: "); scanf("%s",lesson[k].time); printf("输入教室位置: "); scanf("%s",lesson[k].room); } count+=j; printf("添加成功! "); } voidsave() { FILE*fp; inti; if((fp=fopen(filename,"wb"))==NULL) {printf("cannotopenfile\n"); return; } for(i=0;i<=count;i++) if(fwrite(&lesson[i],sizeof(structlesson),1,fp)! =1) printf("filewriteerror\n"); fclose(fp); printf("保存成功! \n"); } voidlook() {inti; printf("课程\t\t教师\t\t时间\t\t教室\n"); for(i=0;i {printf("%s\t\t%s\t\t%s\t\t%s\t\n",lesson[i].name,lesson[i].teacher,lesson[i].time,lesson[i].room); } } voidfind() {charclas[20]; inti,key=0; printf("请输入课程名称: "); a: scanf("%s",clas); for(i=0;i {if(strcmp(clas,lesson[i].name)==0) {printf("%s\t\t%s\t\t%s\t\t%s\t\n",lesson[i].name,lesson[i].teacher,lesson[i].time,lesson[i].room); key=1; break; } } if(key! =1) {printf("找不到此课程! \n请重新输入: "); gotoa;} } voiddelet() {charclas[20]; inti,j,key; printf("请输入将要删除的课程名字: "); b: scanf("%s",&clas); if(clas==0)return; for(i=0;i {if(strcmp(clas,lesson[i].name)==0) {count--; for(j=i;j lesson[i]=lesson[j+1]; key=1; } } if(key! =1) {printf("无此课程,请重新输入,或按0结束! \n"); gotob; } } voidmain() {intchoice; system("color0E"); do {printf("-----------------------------主菜单--------------------------\n"); printf("\t\t\t0: 创建课程信息表\t\n"); printf("\t\t\t1: 打开课程信息表\t\n"); printf("\t\t\t2: 添加课程信息\t\n"); printf("\t\t\t3: 查看课程信息\t\n"); printf("\t\t\t4: 查找课程信息\t\n"); printf("\t\t\t5: 删除课程信息\t\n"); printf("\t\t\t6: 保存课程信息\t\n"); printf("\t\t\t7: 退出系统\t\n"); printf("\t\t请选择操作: \n"); printf("-------------------------------------------------------------\n"); scanf("%d",&choice); switch(choice) { case0: creat();break; case1: open();break; case2: inpt();break; case3: look();break; case4: find();break; case5: delet();break; case6: save();break; case7: printf("感谢使用此系统,祝你好运! \n");break; } }while(choice! =7); getch(); } 设计总结 通过这2个星期以来的程序设计,使我更深刻的掌握了C语言的各种语法知识,在设计过程中碰到许多问题,比如添加课程信息会覆盖,无法将数据写入文件里等,在老师的细心指导下,这些问题都迎刃而解。 在完善此程序的同时,让我了解到自己在C语言程序设计上的不足之处,更让我了解到C语言程序设计过程中的乐趣。 今后,要好好学习加强掌握C语言,让自己能写出更复杂更完善的程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程 信息管理 系统