C语言课程信息管理系统Word格式.docx
《C语言课程信息管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《C语言课程信息管理系统Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
![C语言课程信息管理系统Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/31/4ef63143-94c4-411b-972d-1d6ab3b93478/4ef63143-94c4-411b-972d-1d6ab3b934781.gif)
1.数据结构设计
结构体:
用结构体接收课程信息。
文件:
用文件储存数据,这样当程序关闭时,数据不会丢失。
2.模块接口设计
Voidcreat()创建课程信息表;
Voidopen()打开课程信息表;
Voidinpt()输入课程信息;
Voidlook()查看所有课程信息;
Voidfind()查找课程信息;
Voiddelet()删除课程信息;
Voidsave()保存课程信息;
3.流程图
4.程序设计
/*HELLO.C--Hello,world*/
#include"
stdio.h"
stdlib.h"
conio.h"
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("
无法打开文件!
exit(0);
}
}
voidopen()
{intz;
请输入文件名"
a+"
{printf("
for(z=0;
z<
count;
z++)
{fread(&
lesson[z],sizeof(structlesson),1,fp);
fclose(fp);
voidinpt()
{inti,j,k;
要添加多少个课程信息:
"
%d"
&
j);
for(i=0,k=count;
i<
j;
i++,k++)
输入课程名称:
lesson[k].name);
输入教师姓名:
lesson[k].teacher);
输入上课时间:
lesson[k].time);
输入教室位置:
lesson[k].room);
count+=j;
添加成功!
voidsave()
FILE*fp;
inti;
wb"
cannotopenfile\n"
return;
for(i=0;
=count;
i++)
if(fwrite(&
lesson[i],sizeof(structlesson),1,fp)!
=1)
filewriteerror\n"
保存成功!
}
voidlook()
{inti;
课程\t\t教师\t\t时间\t\t教室\n"
%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;
请输入课程名称:
a:
clas);
{if(strcmp(clas,lesson[i].name)==0)
key=1;
break;
if(key!
找不到此课程!
\n请重新输入:
gotoa;
voiddelet()
inti,j,key;
请输入将要删除的课程名字:
b:
clas);
if(clas==0)return;
{if(strcmp(clas,lesson[i].name)==0)
{count--;
for(j=i;
j<
j++)
lesson[i]=lesson[j+1];
无此课程,请重新输入,或按0结束!
gotob;
voidmain()
{intchoice;
system("
color0E"
do
-----------------------------主菜单--------------------------\n"
\t\t\t0:
创建课程信息表\t\n"
\t\t\t1:
打开课程信息表\t\n"
printf("
\t\t\t2:
添加课程信息\t\n"
\t\t\t3:
查看课程信息\t\n"
\t\t\t4:
查找课程信息\t\n"
\t\t\t5:
删除课程信息\t\n"
printf("
\t\t\t6:
保存课程信息\t\n"
\t\t\t7:
退出系统\t\n"
\t\t请选择操作:
-------------------------------------------------------------\n"
choice);
switch(choice)
{
case0:
creat();
break;
case1:
open();
case2:
inpt();
case3:
look();
case4:
find();
case5:
delet();
case6:
save();
case7:
感谢使用此系统,祝你好运!
}while(choice!
=7);
getch();
设计总结
通过这2个星期以来的程序设计,使我更深刻的掌握了C语言的各种语法知识,在设计过程中碰到许多问题,比如添加课程信息会覆盖,无法将数据写入文件里等,在老师的细心指导下,这些问题都迎刃而解。
在完善此程序的同时,让我了解到自己在C语言程序设计上的不足之处,更让我了解到C语言程序设计过程中的乐趣。
今后,要好好学习加强掌握C语言,让自己能写出更复杂更完善的程序。