收藏 分销(赏)

C语言课程信息标准管理系统.doc

上传人:二*** 文档编号:4477805 上传时间:2024-09-24 格式:DOC 页数:12 大小:36.04KB 下载积分:5 金币
下载 相关 举报
C语言课程信息标准管理系统.doc_第1页
第1页 / 共12页
本文档共12页,全文阅读请下载到手机保存,查看更方便
资源描述
一. 设计目标。 1.经过对课程信息管理软件设计编写原代码,深刻掌握C语言中各个语法、函数应用,使对比较难结构体、链表、文件操作愈加熟悉。 2.初步掌握中、大型程序设计中各个步骤、步骤,和开发过程中碰到问题处理方法,为以后学习打下基础。 3. 经过课程设计,将一学期所学习到C程序设计知识和相关数学知识联络和结合,培养自己动手能力,和加强各学科之间联络。 二.设计内容。 本系统以个人课程信息为关键背景,设计和实现了一个小型个人课程信息管理系统。关键有以下功效: 1.系统以菜单方法运行工作,界面清楚直观,便于用户操作。 2.课程信息录入,包含课程名称,课程老师,上课时间和上课教室。 3.课程信息查看,以表格形式查看课程信息。 4.课程信息查找,用户随时查看课程信息便于查对。 5.课程信息修改,查对后能够直接修改或删除。 三.概要设计 主函数 创建课程表 打开课程表 添加课程信息 查看课程信息 查找课程信息 删除课程信息 四.具体设计 1.数据结构设计 结构体:用结构体接收课程信息。 文件:用文件储存数据,这么当程序关闭时,数据不会丢失。 2.模块接口设计 Void creat() 创建课程信息表; Void open() 打开课程信息表; Void inpt() 输入课程信息; Void look() 查看全部课程信息; Void find() 查找课程信息; Void delet() 删除课程信息; Void save() 保留课程信息; 3.步骤图 开始 进行switch语句 输入1 输入 2 输入3 输入4 输入5 输入6 打开课程信息表 查看课程信息 查找课程信息 删除课程信息 保留课程信息 添加课程信息 输入7 结束 4.程序设计 /* HELLO.C -- Hello, world */ #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "string.h" FILE *fp; int count; struct lesson { char name[10]; char teacher[10]; char time[10]; char room[10]; }lesson[20]; char filename[20]; void creat() { printf("请输入文件名:\n"); scanf("%s",filename); if((fp=fopen(filename,"w+"))==NULL) {printf("无法打开文件!\n"); exit(0); } } void open() { int z; printf("请输入文件名"); scanf("%s",filename); if((fp=fopen(filename,"a+"))==NULL) { printf("无法打开文件!\n"); exit(0); } for(z=0;z<count;z++) { fread(&lesson[z],sizeof(struct lesson),1,fp); } fclose(fp); } void inpt() { int i,j,k; printf("要添加多少个课程信息:"); scanf("%d",&j); printf("\n"); for(i=0,k=count;i<j;i++,k++) { 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("添加成功!"); } void save() { FILE *fp; int i; if((fp=fopen(filename,"wb"))==NULL) { printf("cannot open file\n"); return; } for(i=0;i<=count;i++) if(fwrite(&lesson[i],sizeof(struct lesson),1,fp)!=1) printf("file write error\n"); fclose(fp); printf("保留成功!\n"); } void look() { int i; printf("课程\t\t老师\t\t时间\t\t教室\n"); for(i=0;i<count;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); } } void find() { char clas[20]; int i,key=0; printf("请输入课程名称:"); a: scanf("%s",clas); for(i=0;i<count;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请重新输入:"); goto a;} } void delet() { char clas[20]; int i,j,key; printf("请输入将要删除课程名字:"); b: scanf("%s",&clas); if(clas==0) return; for(i=0;i<count;i++) { if(strcmp(clas,lesson[i].name)==0) { count--; for(j=i;j<count;j++) lesson[i]=lesson[j+1]; key=1; } } if(key!=1) { printf("无此课程,请重新输入,或按0结束!\n"); goto b; } } void main() { int choice; system("color 0E"); 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) { case 0:creat();break; case 1:open();break; case 2:inpt();break; case 3:look();break; case 4:find();break; case 5:delet();break; case 6:save();break; case 7:printf("感谢使用此系统,祝你好运!\n");break; } }while(choice!=7); getch(); } 设计总结 经过这2个星期以来程序设计,使我更深刻掌握了C语言多种语法知识,在设计过程中碰到很多问题,比如添加课程信息会覆盖,无法将数据写入文件里等,在老师细心指导下,这些问题全部迎刃而解。在完善此程序同时,让我了解到自己在C语言程序设计上不足之处,更让我了解到C语言程序设计过程中乐趣。以后,要好好学习加强掌握C语言,让自己能写出更复杂更完善程序。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服