收藏 分享(赏)

C语言-学生信息管理系统(代码).docx

上传人:hskm5268 文档编号:5301875 上传时间:2019-02-19 格式:DOCX 页数:16 大小:21KB
下载 相关 举报
C语言-学生信息管理系统(代码).docx_第1页
第1页 / 共16页
C语言-学生信息管理系统(代码).docx_第2页
第2页 / 共16页
C语言-学生信息管理系统(代码).docx_第3页
第3页 / 共16页
C语言-学生信息管理系统(代码).docx_第4页
第4页 / 共16页
C语言-学生信息管理系统(代码).docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、X X 师 范 大 学实 验 报 告课 程 C 语言课程设计 任课老师 学 号 姓 名 院 系 _年_月至_年_月注意事项1. 使用 C 语言,代码已在 vs 中运行过,可以运行(主要功能都能实现)2. 需求分析,前期设计都没写,请同学们自己完成3. 附带有 student.txt 文件,将其移动至 F:stu 文件夹中,运行程序时可直接选 6 号指令,从中读取学生信息。如果没有该 txt 文件(可能会在上传过程中丢失) ,仍需在 F 盘下新建 stu 文件夹,各文件将保存于该文件夹中4. 按 word 格式输出尚未设计好,有兴趣可自己完成5. 按 excel 格式输出,完成后需自行调整相应列

2、宽(拉宽) ,使内容美观6. 从下一页开始,复制余下全文,粘贴即可运行#include#define M 30 /班级总人数,暂定 30,可修改#define N 3 /课程成绩门数,暂定 3,可修改 int inputstu(struct student stu, int m, int n);void prinstu(struct student stu, int m, int n);int sortsno(struct student stu, int m);int sortage(struct student stu, int m);int sortmark(struct student

3、 stu,int sm, int m, int n);void prinsort(struct student stu, int m, int n);int writefile(struct student stu, FILE *fp, int m, int n);int readfile(struct student stu, FILE *fp, int m, int n);int fprinword(struct student stu, FILE *fp, int m, int n);int fprinexcel(struct student stu, FILE *fp, int m,

4、int n);int seachsno(struct student stu,long sno, int m,int n);int seachsname(struct student stu,char sname, int m, int n);int desno(struct student stu, long sno, int m);int desname(struct student stu, char sname, int m);int cutin(struct student stu, int m, int n);struct studentint turn;long sno;char

5、 sname20;char sgrade10;char sbirth10;int smarkN;void main()int i = 0;int con1 = 0;int con2 = 0;long sno;char sname20;FILE *fp = NULL;struct student stuM;for (i = 0; i snoj)s = snoj;snoj = snoi;snoi = s;for (i = 0; i m; i+)for (j = 0; j m; j+)if (stuj.sno = snoi)stuj.turn = i;return i;/按年龄对学生进行排序;int

6、 sortage(struct student stu, int m)/按总成绩由高到低排序int sortmark(struct student stu,int sm, int m,int n)int i = 0;int j = 0;int s = 0;for (i = 0; i m; i+)smi = 0;for (i = 0; i m; i+)for (j = 0; j n; j+)smi = smi + stui.smarkj;for (i = 0; i m; i+)for (j = i + 1; j m; j+)s = smi;if (s smj)s =j;sms = 0;stus.

7、turn = i;return i;/按顺序屏幕输出void prinsort(struct student stu,int m,int n)int i = 0;int j = 0;int k = 0;printf(“n*n“);printf(“按排序,学生基本信息如下:n“);printf(“ 学号 姓名 班级 出生年月 成绩 1 成绩 2 成绩 3n“);while (k m)if (stui.sno = 0)continue;for (i = 0; i m; i+)if (stui.turn = k)printf(“%10ld %20s%10s %10s “, stui.sno, stu

8、i.sname, stui.sgrade, stui.sbirth);for (j = 0; j n; j+)printf(“ %d “, stui.smarkj);printf(“n“);k+;/写数据进二进制文件 int writefile(struct student stu,FILE *fp,int m,int n)int i = 1;fp = fopen(“f:stustudent.txt“, “wb“);if (fp = NULL)printf(“打开文件失败!n“);exit(0);fwrite(i = fclose(fp);return i;/从二进制中读取学生信息int re

9、adfile(struct student stu, FILE *fp, int m, int n)int i = 1;fp = fopen(“f:stustudent.txt“, “rb“);if (fp = NULL)printf(“打开文件失败!n“);exit(0);fread(i = fclose(fp);return i;/将学生信息写入 word 文档,保存于 F:stustudent.doc int fprinword(struct student stu, FILE *fp, int m, int n)int i = 0;int j = 0;fp = fopen(“F:stu

10、student.doc“,“w“);if (fp = NULL)printf(“文件打开失败!“);exit(0);while (i m)if (stui.sno = 0);continue;fprintf(fp,“%10ld %20s%10s%10s“, stui.sno, stui.sname, stui.sgrade, stui.sbirth);for (j = 0; j n; j+)fprintf(fp,“ %d “, stui.smarkj);printf(“n“);i+;fclose(fp);return i;/将学生信息写入 excel 文档,保存于 F:stustudent.x

11、ls int fprinexcel(struct student stu, FILE *fp, int m, int n)int i = 0;int j = 0;char t = t;char lin20=“成绩“;char str420;strcpy(str0, “ 学号“);strcpy(str1, “ 姓名“);strcpy(str2, “ 班级“);strcpy(str3, “ 生日“);fp = fopen(“F:stustudent.xls“, “w“);if (fp = NULL)printf(“文件打开失败!“);exit(0);fprintf(fp, “%s%c%s%c%s%

12、c%s“, str0, t, str1, t, str2, t, str3);for (i = 0; i n; i+)fprintf(fp, “%c %s%d“, t, lin, i+1);fprintf(fp, “n“);i = 0;while (i m)if (stui.sno = -1)continue;fprintf(fp, “%10ld%c%20s%c%10s%c%10s“, stui.sno,t, stui.sname,t, stui.sgrade,t, stui.sbirth);for (j = 0; j n; j+)fprintf(fp, “%c%d“, t,stui.smar

13、kj);fprintf(fp,“n“);i+;fclose(fp);return i;/按学号查询单个学生int seachsno(struct student stu,long sno,int m,int n)int i = 0;int j = 0;for (i = 0; i m; i+)if (stui.sno = sno)printf(“按学号查询到的学生基本信息如下: n“);printf(“ 学号 姓名 班级 出生年月 成绩1 成绩 2 成绩 3n“);printf(“%10ld %20s%10s %10s “, stui.sno, stui.sname, stui.sgrade,

14、stui.sbirth);for (j = 0; j n; j+)printf(“ %d “, stui.smarkj);printf(“n“);break;return i;/按姓名查询单个学生int seachsname(struct student stu,char sname, int m, int n)int i = 0;int j = 0;int s = -1;for (i = 0; i m; i+)s = strcmp(stui.sname, sname);if (s = 0)printf(“按姓名查询到的学生基本信息如下: n“);printf(“ 学号 姓名 班级 出生年月

15、成绩1 成绩 2 成绩 3n“);printf(“%10ld %20s%10s %10s “, stui.sno, stui.sname, stui.sgrade, stui.sbirth);for (j = 0; j n; j+)printf(“ %d “, stui.smarkj);printf(“n“);break;return i;/按学号删除单个学生信息desno(struct student stu, long sno,int m)int i = 0;for (i = 0; i m; i+)if (stui.sno = sno)stui.sno = 0;break;return i

16、;/按姓名删除单个学生int desname(struct student stu, char sname, int m)int i = 0;int j = 0;int s = -1;for (i = 0; i m; i+)s = strcmp(stui.sname, sname);if (s = 0)stui.sno = 0;break;return i;/插入单个学生int cutin(struct student stu,int m,int n)int i = 0;int j = 0;for (i=0;im;i+)if (stui.sno = 0)printf(“请输入第%d 个学生的学号,姓名,班级,出生日期:n“, i + 1);scanf(“%10ld%20s%10s%10s“, for (j = 0; j n; j+)printf(“请输入第%d 个学生的第%d 门成绩n“, i + 1, j + 1);scanf(“%d“, break;if (i = m - 1)printf(“暂时没有空结构!n“);return i;

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

当前位置:首页 > 企业管理 > 信息管理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报