C语言课程设计

发布 2022-09-30 18:30:28 阅读 3777

c语言。

程序设计报告。

一、成员及其分工。

设计小组成员:

成员职责:何伟迪:负责整体架构,部分程序编写,以及程序调试。

刘凯:部分程序编写。

孙佳奇:部分程序编写。

工作百分比:

基本要求部分每人33%。

何伟迪完成用户界面设计和附加功能。

对单个同学的查找、修改、添加、删除,对班级分别操作,成绩分别输出操作等)。

二、程序结构。

模块划分:主函数main完成初始界面,之后调用文件打开函数,在文件打开后调用目录函数(目录函数还包含子目录函数)。根据用户要求可对数据进行操作,并且还可以返回上一级菜单和主菜单,对数据进行继续操作。

主函数的主要功能:主函数完成初始界面,之后调用文件打开函数,再调用目录函数。

各个子函数的主要功能:

1、int menu():调用子目录以及一些功能函数,此外还可以返回文件读取界面进行文件操作。

2、int menu_sort():被主目录调用的子目录,调用与排序有关的功能函数。

3、int menu_parag():被主主目录调用的子目录,调用与分段有关的功能函数。

4、int class_out():实现按班级输出学生并保存,以便进一步操作。

5、int sort_name():按照姓名排序,选择排序法。

6、int sort_num ()输出全部学生信息,输出到显示器以及磁盘上,并且用户可以选择磁盘保存位置。

7、int sort_

8、int search():搜索学生信息并且可以修改学生信息,可以按照学号查找学生,也可以按照姓名查找学生。

9、int delet_stu():删除学生信息,可以按照学号查找学生,也可以按照姓名查找学生。

10、int add():增加学生信息,接入前面创建的链表的尾部。

11、int good():输出优秀成绩单,输出到显示器以及磁盘上保存。还可以实现某一科成绩的输出和保存。

12、int fail():输出不及格成绩单,输出到显示器以及磁盘上。还可以实现某一科成绩的输出和保存。

13、int paragraph():输出分段成绩单,输出到显示器以及磁盘上保存。还可以实现某一科成绩的输出和保存。

14、int original ()输出原始成绩单,输出到显示器以及磁盘上保存。

15、int open_file():打开文件操作,可以实现年级、班级成绩单打开,也可以根据用户输入的文件名和路径打开。同时创建链表,实现进一步的链表操作。

16、int s**e():对单个学生操作后的保存函数。

调用关系:main函数调用open_file()后打开文件,之后调用menu()执行后,出现主菜单,根据用户需要进行进一步的操作(调用相应的子函数执行相应的排序,添加学生,删除学生,查看学生操作,输出成绩单等操作)。也可以回到open_file()函数重新选择文件打开。

三、设计思想以及关键**。

总体思路:用链表进行全部操作!可以按班级完成所有功能!

主函数main完成初始界面,先选择打开的文件,之后进入菜单界面,根据用户需要可以进行各种数据操作,目录和子目录函数可以被多次调用,进行各种要求的重叠操作(如先分班级,分过班级之后对某个班级进行多种排序、添加、删除、修改等操作)。此外对于每一次用户的操作都具有发现错误重新输入的功能。

各个模块的设计:

该部分会以程序运行截图来逐步展示:(在过程中**右侧加黑部分是对其解释,由于程序**数目很多,有很多相同的地方,对于大多数**只在第一次进行分析之后就不再赘述。)

此图为初始界面,由main函数完成,具体**如下。

int main主要包含一些printf函数。

int i,a=15;

printf("\t\t");

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

printf(" c",a);

printf("");

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

printf(" t\t%c %c\t\t\t\t\t%c %c",a,a,a,a);

printf(" t\t%c %c 欢迎使用学生成绩管理系统 %c %c",a,a,a,a);

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

printf(" t\t%c %c\t\t\t\t\t%c %c",a,a,a,a);

printf("\t\t");

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

printf(" c",a);

printf("\t\t\t设计人员: 何伟迪\t\t\t\t\t刘凯\t\t\t\t\t孙佳奇");

printf("\t\t如有任何问题或建议请拨打24小时免费客服**:\t\t\t\t400-800-8888\t温馨提示:本程序操作过程中如无特殊说明均以enter键作为确认");

printf("\t\t\t请按 enter 键进入系统");

getchar();

system("cls清屏函数。

open_file调用打开文件函数。

return 0;

在用户输入enter 键之后由getchar函数接收,再调用open_file()函数进入下一界面,即文件打开界面,并建立链表,界面如下:

如图所示,在输入 8 之后系统提示“您的输入有误,请重新输入”,选择0—5选择已经保存的年级成绩单以及班级成绩单,输入 6 之后,如图,提示输入文件名及路径。

其**情况如下。

int open_file()

int menu对所调用函数的声明。

file *fp定义文件指针(相同地方下文不再赘述)

struct student *p1,*p2; 定义结构体指针用于链表操作。

char a[100],b[100

int m,i;

printf("\t\tn");

printf("\t\t* 请输入您想要查看的班级(1—5)\t*");

printf("\t\t* 如想查看全部成绩请按 0 \t\t*");

printf("\t\t* 如需读入新的成绩单请按 6\t\t*");

printf("\t\tn");

printf("\t\t请选择。

scanf("%d",&m这部分是允许用户犯错的**部分,while(m<0 ||m>6整个函数此部分都与之相似用while

循环控制,只是m的值略有不同。

printf("\t\t您的输入有误,请重新输入:")

scanf("%d",&m);

switch(m对文件打开的选择,用switch选择控制,整个函数选择部分也都是这样实现的。

case 0:while((fp=fopen(""rb"))null)

printf("\t\t无法找到文件:")break;

case 1:while((fp=fopen(""rb"))null)

printf("\t\t无法找到文件:")break;

case 2:while((fp=fopen(""rb"))null)

printf("\t\t无法找到文件:")break;

case 3:while((fp=fopen(""rb"))null)

printf("\t\t无法找到文件:")break;

case 4:while((fp=fopen(""rb"))null)

printf("\t\t无法找到文件:")break;

case 5:while((fp=fopen(""rb"))null)

printf("\t\t无法找到文件:")break;

case 6:

通过文件名及路径打开文件进行操作。

printf("\t\t请输入成绩单的路径以及文件名。

scanf("%s",a);

while((fp=fopen(a,"rb"))null)

printf("\t\t无法找到文件请重新输入:")

scanf("%s",a);

}break;

一下部分是建立链表的操作:

p2=p1=head=(struct student*)malloc(sizeof(struct student));

while(!feof(fp先申请一个结构体作为头,p1p2以及head

指向头,之后用while循环不断申请空间,并将文件中数据读出,p1负责申请新空间,p2负责与其连接。

fscanf(fp,"%s%s%s%s%s%s%s%f%s%f%s%f%",p1->a[0],p1->num,p1->a[1],p1->name,p1->a[2],p1->sex,p1->sub[0],&p1->score[0],p1->sub[1],&p1->score[1],p1->sub[2],&p1->score[2]);

p2->next=p1;

C语言课程课程设计

课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...