学生信息管理系统C语言课程设计报告

时间:2024.4.27

通信工程C语言强化训练实验报告

学 号:

姓 名:

提交日期:

成 绩:

评 语:

教师签字:

东北大学秦皇岛分校电子信息系

4100710 赖伟玮 20xx年7月8日

学生信息管理系统

强化训练目的

C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。

C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。 程序的结构化设计。

编辑、设置、编译、调试、执行。

C语言结合实际问题的综合设计。

设计题目功能

通过计算机对数据文件的存储和读取,对学生信息进行管理,能够完成学生信息的增、删、改、查找等功能。

设计题目要求

名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。 具体要求包括:

1有主界面和主菜单

2以班级为单位用链表存放学生信息

3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果 4友好的界面和操作提示

[A]信息录入

[D]信息删除

[F]信息查询

[Q]退出

4、程序流程图

总体设计

详细设计

【程序】主函数

void main() /*主函数即用户的操作界面*/

{

system("color 1E"); /*设计文本颜色*/

int b,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) { case 1:type();break; /*调用键入学生信息函数*/ case 2:look();break; /*调用查看函数*/ case 3:search_name();break; /*调用姓名查看函数*/ case 4:search_number();break; /*调用学号查看函数*/ case 5: search_dorm();break; /*调用宿舍号查看函数*/ case 6:del();break;/*调用删除函数*/ case 7:save();break;/*调用保存函数*/ case 8:see();break;/*调用打开文件函数*/ case 9:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default :printf("错误!"); } if(flag) break; /*如果选择0就退出循环*/

5、 程序设计源代码

#include"stdio.h"

#include"conio.h"

#include"string.h"

#include"stdlib.h"

void look(); /*声明查看函数*/

void save(); /*声明保存函数*/

void search_name(); /*声明按姓名查看函数*/ void search_number(); /*声明按学号查看函数*/ void search_dorm(); /*声明按宿舍号查看函数*/ void del(); /*声明删除函数*/

int openl(); /*声明打开函数*/

void welcome(); /*声明我的个人信息函数*/ void type(); /*声明输入函数*/

void see(); /*声明打开并查看文件函数*/

struct student /*定义学生信息的结构体类型*/

{

char num[15]; /*学号*/

char name[20]; /*姓名*/

char sex[4]; /*性别*/

char dorm[15];/*宿舍号*/

char birthday[20];/*出生日期*/

}stu[100];

int n; /*声明一个全局变量*/

void main() /*主函数即用户的操作界面*/

{

system("color 1E"); /*设计文本颜色*/

int b,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)

{

case 1:type();break; /*调用键入学生信息函数*/

case 2:look();break; /*调用查看函数*/

case 3:search_name();break; /*调用姓名查看函数*/

case 4:search_number();break; /*调用学号查看函数*/

case 5:search_dorm();break; /*调用宿舍号函数*/

case 6:del();break;/*调用删除函数*/

case 7:save();break;/*调用保存函数*/

case 8:see();break;/*调用打开文件函数*/

case 9:welcome();break;/*调用我的个人信息函数*/

case 0:flag=1;break;/*退出SWITCH语句*/

default :printf("错误!");

}

if(flag) break; /*如果选择0就退出循环*/

}

}

void welcome() /*我的个人信息函数*/

{

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(); /*按任意键返回主函数*/

}

void type() /*定义键入学生信息函数*/

{

system("CLS");

int i; /*定义局部变量*/

printf("\t\t输出你想输入的学生信息个数:");

scanf("%d",&n);

for(i=0;i<n;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();

}

void save() /*建立保存文件函数*/

{

system("CLS");

FILE *fp; /*定义文件型指针*/

int i;

if((fp=fopen("student.txt","wb"))==NULL) /*打开输出文件*/

{

printf("不能打开文件!\n");

return; /*终止程序*/

}

for(i=0;i<n;i++) /*向student文件中写入信息*/

if(fwrite(&stu[i],sizeof(struct student),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();

}

void look() /*定义查看函数*/

{

system("CLS");

int i;

//n=openl(); /*调用openl函数*/

printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t \n");

for(i=0;i<n;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();

}

void search_name() /*按姓名查看函数*/

{

system("CLS");

int i;

char name[20]; /*声明字符数组*/

printf("\t\t\t请输入学生姓名:\n");

scanf("%s",name);

printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t\n");

for(i=0;i<n;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();

}

void search_number() /*定义按学号查看函数*/

{

system("CLS");

int i;

char number[15]; /*声明字符数组*/

printf("\t\t\t请输入学号:\n");

scanf("%s",number);

printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\n");

for(i=0;i<n;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();

}

void search_dorm() /*按宿舍号查看函数*/

{

system("CLS");

int i;

char dorm[15]; /*声明字符数组*/

printf("\t\t\t请输入学生宿舍号:\n");

scanf("%s",dorm);

printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t\n");

for(i=0;i<n;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();

}

void del() /*定义删除学生信息函数*/

{

int i;

char a;

char name[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<n;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("真的删除?(y or n)");

getchar();

scanf("%c",&a);

if(a=='y') /*是否删除该信息*/

{

for(;i<n;i++)

stu[i]=stu[i+1];

n=n-1;

printf("你已经删除信息");

}

else

printf("退出");

getch();

}

save();

}

int openl() /*定义打开文件函数*/

{

system("CLS");

int i;

FILE *fp;

if((fp=fopen("student.txt","rb"))==NULL)

{

printf("Cannot open file.\n");

exit(0);

}

for(i=0;!feof(fp);i++)

fread(&stu[i],sizeof(struct student),1,fp);

fclose(fp);

return(i-1);

}

void see() /*打开并查看文件*/

{

system("CLS");

int i;

n=openl();

printf("文件打开成功!\n");

printf("按任意键查看!\n");

getch();

printf("\t学号\t姓名\t性别\t宿舍号\t出生日期\t\n");

for(i=0;i<n;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语言的基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体,进一步熟悉指针的用法,数组的建立运用和函数的调用等。

更多相关推荐:
学生信息管理系统课程设计报告

数据库课程设计报告指导老师贺亚茹组名组长组员完成日期成绩数据库课程设计报告一项目名称学生信息管理系统二项目需求分析1项目需求分析简介本数据库的用户主要是学生通过对用户需求的收集和分析获得用户对数据库的如下要求1...

java+mysql学生信息管理系统课程设计报告

课设名称学生成绩管理系统院系姓名学号年级专业班级指导教师时间20xx年6月目录第一部分摘要3第二部分目的背景与意义4第三部分需求分析4第四部分系统设计441结构设计442功能结构图543功能流程以及工作流描述6...

C++学生信息管理系统课程设计报告

C程序设计报告书课题名称学号姓名班级指导老师成绩一程序设计目的本课程设计是在学习C基本理论之后的实践教学环节该实践教学是软件设计的综合训练包括问题分析总体结构设计用户界面设计程序设计基本技能和技巧要求学生在设计...

C语言学生成绩管理系统课程设计报告

C语言课程设计报告一问题描述题目七学生成绩管理系统设计学生成绩信息包括学期学号班别姓名四门课程成绩语文数学英语和计算机等主要功能1能按学期按班级完成对学生成绩的录入修改2能按班级统计学生的成绩求学生的总分及平均...

MFC学生信息管理系统课程设计报告

C可视化课程设计学生信息管理系统设计C基于MFC类可视化程序设计报告小组成员赵文琪倪涛学号31307042333130704234班级软件132指导老师汪国武安徽工程大学计算机与信息学院20xx1230方案概述...

学生信息管理系统实验报告

西安郵電學院数据库原理及应用设计报告题目:学生信息管理系统一.设计目的学生管理系统是高校管理工作中一项非常重要的组成部分。用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各…

C语言课程设计报告之学生基本信息管理系统

C语言课程设计报告之学生基本信息管理系统一需求分析学生成绩管理问题描述每个学生的信息包括学号姓名性别年龄电话成绩系统能够完成学生信息的查输入查询修改等功能基本要求1查询按特定条件查找学生2输入加入新学生的信息3...

C语言学生信息管理系统课程设计报告

目录一、设计任务书二、总体设计方案(包括流程图)三、使用说明及运行实例(包括界面)四、成员设计内容简介五、项目源程序代码(注意注释的使用)六、课程设计心得七、指导教师评语(见模板文件)一、设计任务书学生信息管理…

c语言课程设计报告(宿舍管理系统)

西安郵電學院C语言课程设计报告书系部名称学生姓名专业名称班级学号电子工程学院焦瑞芳电子信息工程专业1103班05111093指导教师xxxx20xx年06月07日至时间20xx年06月18日实验题目学生宿舍管理...

C++ 课程设计报告 学生学籍管理系统 面向对象技术

学生学籍管理系统课题名称C设计报告目录第1章概述4第2章系统分析5第3章系统设计631系统功能设计632类设计633输入输出设计7第4章系统实现9结论16后记16参考文献17海南大学三亚学院20xx年Page2...

c++学生成绩管理系统+课设报告书(带源代码)精品

第一章需求分析第二章程序设计1概要设计2详细设计1课程设计性质和目的2输入输出的形式3程序的实现功能3调试分析4使用说明第三章使用说明和程序流程图1程序流程图2课程设计经验和体会5测试数据山东科技大学信息工程系...

C语言课程设计报告学生成绩管理系统(广工)

一课程设计题目学生成绩管理二需求分析给出n个学生的m门考试的成绩表每个学生的信息由学号姓名性别以及各科成绩组成对学生的考试成绩进行有关统计按总数高低次序打印出名次表分数相同的为同一名次按名次打印出每个学生的学号...

学生信息管理系统课程设计报告(20篇)