C语言课程信息管理系统1.docx

上传人:b****6 文档编号:4516246 上传时间:2022-12-01 格式:DOCX 页数:9 大小:64.24KB
下载 相关 举报
C语言课程信息管理系统1.docx_第1页
第1页 / 共9页
C语言课程信息管理系统1.docx_第2页
第2页 / 共9页
C语言课程信息管理系统1.docx_第3页
第3页 / 共9页
C语言课程信息管理系统1.docx_第4页
第4页 / 共9页
C语言课程信息管理系统1.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C语言课程信息管理系统1.docx

《C语言课程信息管理系统1.docx》由会员分享,可在线阅读,更多相关《C语言课程信息管理系统1.docx(9页珍藏版)》请在冰豆网上搜索。

C语言课程信息管理系统1.docx

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];

char[20];

voidcreat()

{

printf("请输入文件名:

\n");

scanf("%s",);

if((fp=fopen(,"w+"))==NULL)

{printf("无法打开文件!

\n");

exit(0);

}

}

voidopen()

{intz;

printf("请输入文件名");

scanf("%s",);

if((fp=fopen(,"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(,"wb"))==NULL)

{printf("cannotopenfile\n");

return;

}

for(i=0;i<=count;i++)

if(fwrite(&lesson[i],sizeof(structlesson),1,fp)!

=1)

printf("error\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语言,让自己能写出更复杂更完善的程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1