- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序研发设计报告—学生选修课程系统
C
语
言
程
序
设
计
学校: 中国地址大学
学院: 工程学院
班级序号: 学号: 20071001448
姓名: 杨帆
指导老师: 刘文中
C语言程序设计报告
一、C语言课程设计的目的:?高级语言课程设计是学习完《高级语言程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼同学的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。
二、题目
学生选修课程系统设计
假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验或商机学时、血粉、开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。
1、要求:
试设计一个选修课程系统,使之能提供以下功能:
系统以菜单方式工作。
课程信息和学生选课信息输入功能(课程信息用文件保存)——输入。
课程信息浏览功能——输出。
查询功能(至少一种查询方式)——算法。
按学分查询。
某门课程学生选修情况(可选项)。
2、分析:
由于题目要求将学生的选课信息用结构体形式输入,并写入文件中,所以应提供文件的输入输出等操作:在过程中需有浏览、插入、修改、查找、删除学生选课信息等操作,顾应分别建立个功能模块;另外还应提供键盘式选择菜单实现程序运行。
3、总体设计:
根据题目要求,可以将系统分为六个模块:
系统以菜单方式工作模块;
课程信息与学生选课信息录入功能模块;
课程信息浏览功能模块;
查询模块;
按学分查询模块;
某些课程学生选修情况模块。
4详细设计:
#include stdio.h
#include stdlib.h 主流程图:
#include string.h
typedef struct subjects
{
int num;
char name[20];
char kind[10];
int stime;
int ttime;
int etime;
int score;
int term;
struct subjects *next;
}SUB;
SUB *create_form()
{
SUB *head,*tail,*p;
int num,stime,ttime;
int etime,score,term;
char name[20],kind[10];
int size=sizeof(SUB);
head=tail=NULL;
printf(输入选修课程信息:\n);
scanf(%d %s %s %d %d %d %d %d,num,name,kind,stime,ttime,etime,score,term);
while(num!=0){
p=(SUB *)malloc(size);
p-num=num;
strcpy(p-name,name);
strcpy(p-kind,kind);
p-stime=stime;
p-ttime=ttime;
p-etime=etime;
p-score=score;
p-term=term;
if(head==NULL)
head=p;
else
tail-next=p;
tail=p;
scanf(%d %s %s %d %d %d %d %d,num,name,kind,stime,ttime,etime,score,term);
}
tail-next=NULL;
return head;
}
void savefile(SUB *head)
{
SUB *p;
FILE *fp;
fp=fopen(subjects.txt,w);
fprintf(fp,课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期\n);
for(p=head;p;p=p-next)
fprintf(fp,%5d%12s%9s%9d%9d%11d%11d%7d\n,p-num,p-name,p-kind,p-stime,p-ttime,p-etime,p-score,p-term);
fclose(fp);
}
void savefileadd(SUB *head)
{
SUB *p;
FILE *fp;
fp=fopen(subjectsadd.txt,w);
fprintf(fp,课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期\n);
for(p=head;p;p=p-next)
fprintf
文档评论(0)