学生信息管理系统C语言课程设计报告.docx
- 文档编号:26572613
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:14
- 大小:18.29KB
学生信息管理系统C语言课程设计报告.docx
《学生信息管理系统C语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统C语言课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
学生信息管理系统C语言课程设计报告
通信工程C语言强化训练实验报告
学号:
姓名:
提交日期:
2011年7月8日
成绩:
评语:
教师签字:
东北大学秦皇岛分校
学生信息管理系统
强化训练目的
C语言基本知识的巩固和综合运用。
基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。
C语言高级编程。
链表基本操作、文件的基本操作、图形和声音制作。
程序的结构化设计。
编辑、设置、编译、调试、执行。
C语言结合实际问题的综合设计。
设计题目功能
通过计算机对数据文件的存储和读取,对学生信息进行管理,能够完成学生信息的增、删、改、查找等功能。
设计题目要求
名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。
具体要求包括:
1有主界面和主菜单
2以班级为单位用链表存放学生信息
3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果
4友好的界面和操作提示
[A]信息录入
[D]信息删除
[F]信息查询
[Q]退出
4、程序流程图
总体设计
详细设计
【程序】主函数
voidmain()/*主函数即用户的操作界面*/
{
system("color1E");/*设计文本颜色*/
intb,flag=0;/*声明局部变量*/
while
(1)/*循环输出以下信息*/
{
printf("\n\t\t\t欢迎来到学生成绩管理系统!
\n");
printf("\n\t\t\t\t###制作\n");
printf("\t\t\t-------------------------------\n");
printf("\t\t\t1.键入学生的信息\n\n");/*键入学生的信息*/
printf("\t\t\t2.查看录入的学生信息\n\n");/*查看录入的学生信息*/
printf("\t\t\t3.按姓名查看学生的信息\n\n");/*按姓名查看学生的信息*/
printf("\t\t\t4.按学号查看学生的信息\n\n");/*按学号查看学生的信息*/
printf("\t\t\t5.按宿舍号查看学生的信息\n\n");/*按宿舍号查看学生的信息*/
printf("\t\t\t6.删除学生信息\n\n");/*删除学生信息*/
printf("\t\t\t7.保存学生信息\n\n");/*保存*/
printf("\t\t\t8.打开文件\n\n");/*打开文件*/
printf("\t\t\t9.我的个人信息\n\n");/*我的个人信息*/
printf("\t\t\t0.退出\n\n");/*退出*/
printf("\t\t\t请输入你的选择:
");
scanf("%d",&b);
switch(b)
{
case1:
type();break;/*调用键入学生信息函数*/
case2:
look();break;/*调用查看函数*/
case3:
search_name();break;/*调用姓名查看函数*/
case4:
search_number();break;/*调用学号查看函数*/
case5:
search_dorm();break;/*调用宿舍号查看函数*/
case6:
del();break;/*调用删除函数*/
case7:
save();break;/*调用保存函数*/
case8:
see();break;/*调用打开文件函数*/
case9:
welcome();break;/*调用我的个人信息函数*/
case0:
flag=1;break;/*退出SWITCH语句*/
default:
printf("错误!
");
}
if(flag)break;/*如果选择0就退出循环*/
}
}
5、程序设计源代码
#include"stdio.h"
#include"conio.h"
#include"string.h"
#include"stdlib.h"
voidlook();/*声明查看函数*/
voidsave();/*声明保存函数*/
voidsearch_name();/*声明按姓名查看函数*/
voidsearch_number();/*声明按学号查看函数*/
voidsearch_dorm();/*声明按宿舍号查看函数*/
voiddel();/*声明删除函数*/
intopenl();/*声明打开函数*/
voidwelcome();/*声明我的个人信息函数*/
voidtype();/*声明输入函数*/
voidsee();/*声明打开并查看文件函数*/
structstudent/*定义学生信息的结构体类型*/
{
charnum[15];/*学号*/
charname[20];/*姓名*/
charsex[4];/*性别*/
chardorm[15];/*宿舍号*/
charbirthday[20];/*出生日期*/
}stu[100];
intn;/*声明一个全局变量*/
voidmain()/*主函数即用户的操作界面*/
{
system("color1E");/*设计文本颜色*/
intb,flag=0;/*声明局部变量*/
while
(1)/*循环输出以下信息*/
{
printf("\n\t\t\t欢迎来到学生成绩管理系统!
\n");
printf("\n\t\t\t\t赖伟玮制作\n");
printf("\t\t\t-------------------------------\n");
printf("\t\t\t1.键入学生的信息\n\n");/*键入学生的信息*/
printf("\t\t\t2.查看录入的学生信息\n\n");/*查看录入的学生信息*/
printf("\t\t\t3.按姓名查看学生的信息\n\n");/*按姓名查看学生的信息*/
printf("\t\t\t4.按学号查看学生的信息\n\n");/*按学号查看学生的信息*/
printf("\t\t\t5.按宿舍号查看学生的信息\n\n");/*按宿舍号产看学生的信息*/
printf("\t\t\t6.删除学生信息\n\n");/*删除学生信息*/
printf("\t\t\t7.保存学生信息\n\n");/*保存*/
printf("\t\t\t8.打开文件\n\n");/*打开文件*/
printf("\t\t\t9.我的个人信息\n\n");/*我的个人信息*/
printf("\t\t\t0.退出\n\n");/*退出*/
printf("\t\t\t请输入你的选择:
");
scanf("%d",&b);
switch(b)
{
case1:
type();break;/*调用键入学生信息函数*/
case2:
look();break;/*调用查看函数*/
case3:
search_name();break;/*调用姓名查看函数*/
case4:
search_number();break;/*调用学号查看函数*/
case5:
search_dorm();break;/*调用宿舍号函数*/
case6:
del();break;/*调用删除函数*/
case7:
save();break;/*调用保存函数*/
case8:
see();break;/*调用打开文件函数*/
case9:
welcome();break;/*调用我的个人信息函数*/
case0:
flag=1;break;/*退出SWITCH语句*/
default:
printf("错误!
");
}
if(flag)break;/*如果选择0就退出循环*/
}
}
voidwelcome()/*我的个人信息函数*/
{
system("CLS");
printf("\n\n\t\t------------个人信息------------");/*在屏幕上输出一下信息*/
printf("\n\n\n\n\t\t姓名:
赖伟玮");
printf("\t\t\tSex:
男\n");
printf("\t\t年龄:
21\n");
printf("\n\t\t\t--------学习经历--------\n\n\n");
printf("\t\t小学:
高梧小学\n\n");
printf("\t\t初中:
武平三中\n\n");
printf("\t\tS高中:
武平一中\n\n");
printf("\t\t大学:
东北大学秦皇岛分校\n\n");
printf("\n\n\t\t按任意键返回欢迎屏幕!
");
getch();/*按任意键返回主函数*/
}
voidtype()/*定义键入学生信息函数*/
{
system("CLS");
inti;/*定义局部变量*/
printf("\t\t输出你想输入的学生信息个数:
");
scanf("%d",&n);
for(i=0;i { printf("\n\t\t\t----------------\n"); printf("\t\t\t学号: "); scanf("%s",&stu[i].num);/*输入学号*/ printf("\t\t\t姓名: "); scanf("%s",&stu[i].name);/*输入姓名*/ printf("\t\t\t性别: "); scanf("%S",&stu[i].sex);/*输入性别*/ printf("\t\t\t宿舍号: "); scanf("%s",&stu[i].dorm);/*输入宿舍号*/ printf("\t\t\t出生日期: "); scanf("%s",&stu[i].birthday);/*输入出生日期*/ } printf("\n\n\t\t\t按任意键返回菜单! ! "); getch(); save(); } voidsave()/*建立保存文件函数*/ { system("CLS"); FILE*fp;/*定义文件型指针*/ inti; if((fp=fopen("student.txt","wb"))==NULL)/*打开输出文件*/ { printf("不能打开文件! \n"); return;/*终止程序*/ } for(i=0;i if(fwrite(&stu[i],sizeof(structstudent),1,fp)! =1) printf("文件写入错误\n"); fclose(fp);/*关闭文件*/ printf("\n\n\n\n\t\t\t学生信息保存成功! \n"); printf("\n\n\n\n\t\t\t按任意键返回菜单! ! "); getch(); } voidlook()/*定义查看函数*/ { system("CLS"); inti; //n=openl();/*调用openl函数*/ printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t\n"); for(i=0;i { printf("%10s\t%s\t%2s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].dorm,stu[i].birthday); } printf("\n\n\n\t\t\t按任意键返回菜单"); getch(); } voidsearch_name()/*按姓名查看函数*/ { system("CLS"); inti; charname[20];/*声明字符数组*/ printf("\t\t\t请输入学生姓名: \n"); scanf("%s",name); printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t\n"); for(i=0;i if(strcmp(stu[i].name,name)==0)/*将输入的姓名与结构体中的姓名进行比较*/ { printf("%10s\t%s\t%2s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].dorm,stu[i].birthday); printf("\n\n\n\t\t\t按任意键返回菜单"); } getch(); } voidsearch_number()/*定义按学号查看函数*/ { system("CLS"); inti; charnumber[15];/*声明字符数组*/ printf("\t\t\t请输入学号: \n"); scanf("%s",number); printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\n"); for(i=0;i if(strcmp(stu[i].num,number)==0)/*将输入的学号与结构体中的学号进行比较*/ printf("%10s\t%s\t%2s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].dorm,stu[i].birthday); printf("\n\n\n\t\t\t按任意键返回菜单"); getch(); } voidsearch_dorm()/*按宿舍号查看函数*/ { system("CLS"); inti; chardorm[15];/*声明字符数组*/ printf("\t\t\t请输入学生宿舍号: \n"); scanf("%s",dorm); printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t\n"); for(i=0;i if(strcmp(stu[i].dorm,dorm)==0)/*将输入的宿舍号与结构体中的宿舍号进行比较*/ { printf("%10s\t%s\t%2s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].dorm,stu[i].birthday); printf("\n\n\n\t\t\t按任意键返回菜单"); } getch(); } voiddel()/*定义删除学生信息函数*/ { inti; chara; charname[20]; system("CLS"); printf("\t\t\t输入学生名字: \n"); scanf("%s",name); system("CLS"); printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t\n"); for(i=0;i if(strcmp(stu[i].name,name)==0) { printf("%10s\t%s\t%2s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].dorm,stu[i].birthday); getch(); printf("真的删除? (yorn)"); getchar(); scanf("%c",&a); if(a=='y')/*是否删除该信息*/ { for(;i stu[i]=stu[i+1]; n=n-1; printf("你已经删除信息"); } else printf("退出"); getch(); } save(); } intopenl()/*定义打开文件函数*/ { system("CLS"); inti; FILE*fp; if((fp=fopen("student.txt","rb"))==NULL) { printf("Cannotopenfile.\n"); exit(0); } for(i=0;! feof(fp);i++) fread(&stu[i],sizeof(structstudent),1,fp); fclose(fp); return(i-1); } voidsee()/*打开并查看文件*/ { system("CLS"); inti; n=openl(); printf("文件打开成功! \n"); printf("按任意键查看! \n"); getch(); printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t\n"); for(i=0;i { printf("%10s\t%s\t%2s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].dorm,stu[i].birthday); } printf("\n\n\n\t\t\t按任意键返回菜单"); getch(); } 6、强化训练心得体会 通过为期一周的课程设计,我们对《C语言》这门课程有了更深一步的了解。 它是计算机程序设计的重要理论技术基础,在我们通信工程专业的学习中占据着十分重要的地位。 同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。 因为我们学习知识就是为了实践。 而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。 运用《C语言》中的算法思想作数据结构,结合C语言基本知识,编写一个学生信息管理系统。 通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体,进一步熟悉指针的用法,数组的建立运用和函数的调用等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 语言 课程设计 报告