C程序课程设计报告-学生证管理信息系统程序设计-二进制转换算法程序设计(共26页).doc
《C程序课程设计报告-学生证管理信息系统程序设计-二进制转换算法程序设计(共26页).doc》由会员分享,可在线阅读,更多相关《C程序课程设计报告-学生证管理信息系统程序设计-二进制转换算法程序设计(共26页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上题目要求学生证管理信息系统假设某校学生学生证基本信息主要包括:学号、姓名、所在系、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:(1) 通过键盘输入某位学生的学生证信息。学生证包含的信息请参看自己的学生证;(2) 给定学号,显示某位学生的学生证信息;(3) 给定某个班级的班号,显示该班所有学生的学生证信息;(4) 给定某位学生的学号,修改该学生的学生证信息;进制转换算法设计本系统要求具有以下功能:1、具有将十进制转换为二进制功能2、具有将十进制转换为十六进制功能3、具有将二进制转换为十进制功能4、具有将十六进制转换为十进制功能目录61.意义及功能1.1
2、系统意义1.1.1 学生证管理信息系统意义 使用VC+编译学生证管理系统,使繁琐的普通人工管理转变成简单易行的C程序系统,用户只需在该界面上按要求输入学生证信息,就可随意删除和修改信息,还可以按学号、姓名或班号查询到相关学生的信息,使学生证的管理不再复杂。 1.1.2 进制转换系统算法设计意义 本进制转换系统可以快速便捷地实现十进制和二进制,十进制和十六进制之间的互相转换,用户不需要自己在纸面上忙碌而复杂地算了,只需简单输入需要转换的进制数,系统就能很快算出相应的其他进制数。使进制转换简单易行。1.2系统功能1.2.1学生证管理信息系统功能假设某校学生学生证基本信息主要包括:学号、姓名、所在系
3、、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:(1) 通过键盘输入某位学生的学生证信息。学生证包含的信息请参看自己的学生证;(2) 给定学号,显示某位学生的学生证信息;(3) 给定某个班级的班号,显示该班所有学生的学生证信息;(4) 给定某位学生的学号,修改该学生的学生证信息;1.2.2 进制转换算法设计功能本系统要求具有以下功能:1、具有将十进制转换为二进制功能2、具有将十进制转换为十六进制功能3、具有将二进制转换为十进制功能4、具有将十六进制转换为十进制功能2功能结构图2.1 学生证管理信息系统学生证管理添加删除查询给定学号,显示某位学生的学生证信息给定某个学生姓名,显示
4、该班所有学生的学生证信息显示给定某位学生的学号,修改该学生的学生证信息通过键盘输入某位学生的学生证信息给定某个班级的班号,显示该班所有学生的学生证信息 图1功能结构图2.2 进制转换算法设计进制转换系统十进制转换为二进制十进制转换为十六进制二进制转换为十进制十六进制转换为十进制3.流程图3.1学生证管理信息系统流程图 3.2学生证管理信息系统各部分功能流程图(1)添加模块(2)删除模块(3)根据学号查找某学生的学生证信息(4)根据姓名查找某学生的学生证信息(5)根据班号查询某个班级所有学生的信息(6)显示模块4调试运行4.1学生证管理信息系统图(1)菜单 图(2)添加图(3)添加时输入错误的改
5、正 图(4)删除图(5)查询菜单图(6)按学号查询 图(7)按姓名查询图(8)按班号查询 图(9)显示模块4.2进制转换算法设计 图(10)主菜单 图(11)十进制转换为二进制 图(12)十进制转换为十六进制 图(13)二进制转换为十进制 图(14)十六进制转换为十进制 图(15)退出菜单5 C语言源程序代码5.1 学生证管理信息系统/ 学生证管理系统.cpp : Defines the entry point for the console application./#include stdafx.h#include#include#include#define N 100struct Cl
6、ass /班级 char Cname20;/班名 char Cno20;/班号;struct Student/学生 char Sname20;/姓名 char Sex10;/性别 char Sno20;/学号 int Age;/年龄 struct Class CInfo;/嵌套结构体,表示班级信息studentN;void main(); /主菜单 void input(); /添加模块void del(); /删除模块void find(); /查询模块void bySname(); /按姓名查询,子模块void bySno(); /按学号查询,子模块void byCno(); /按班号查询
7、,子模块void browse(); /显示模块void main() /菜单 char c; int i; do system(cls); for(i=0;i80;i+) printf(*); printf(t 1: 添加一个学生n); printf(t 2: 删除一个学生n); printf(t 3: 查找一个学生n); printf(t 4: 显示一个学生n); printf(t 5: 退出n); printf(t请选择输入选项12345:n); do c=getchar(); while(c!=1&c!=2&c!=3&c!=4&c!=5); getchar(); switch(c) c
8、ase 1: input(); break; case 2: del(); break; case 3: find(); break; case 4: browse(); break; case 5: exit(0); printf( 按任意键返回主菜单:n); getchar(); system(cls);while(1);void input() /添加学生信息,一次添加一条记录 int num; int i; int age; char sno20; char sex20; char cno20; int right; FILE*fp; if(fp=fopen(StuInfo.txt,r
9、+)=NULL) /以读写方式打开 if(fp=fopen(StuInfo.txt,w)=NULL) /文件不存在则创建文件 printf(n文件不存在且创建失败,返回!n); main(); printf(n请按照提示输入学生信息:nn); printf(姓名:); scanf(%s,&student0.Sname); do printf(n性别(男或女):); scanf(%s,sex); if(strcmp(sex,男)!=0)&(strcmp(sex,女)!=0) printf(输入错误,请输入男或女!n);right=1;getchar(); else right=0; while(
10、right=1); strcpy(student0.Sex,sex); do printf(n学号(7位):); scanf(%s,sno); if(strlen(sno)!=7) printf(输入错误,学号长度应为7位数!n);right=1;getchar(); else right=0; while(right=1); strcpy(student0.Sno,sno); do printf(n年龄:); scanf(%d,&age); if(age100) printf(年龄应在0-100之间,请重新输入年龄!n);right=1;getchar(); else right=0; wh
11、ile(right=1); student0.Age=age; do printf(n班号(3位):); scanf(%s,cno); if(strlen(cno)!=3) printf(输入错误,班号长度应为3位数!n);right=1;getchar(); else right=0; while(right=1); strcpy(student0.CInfo.Cno,cno); printf(n班名:); scanf(%s,&student0.CInfo.Cname); fprintf(fp,n%st%st%st%dt%st%s,student0.Sname,student0.Sex,st
12、udent0.Sno,student0.Age,student0.CInfo.Cno,student0.CInfo.Cname); fclose(fp); printf(n保存成功!n); printf(n请按enter键返回主菜单!n); getchar(); getchar(); main(); for(i=0;!feof(fp);i+) /读取文件 fscanf(fp,%s%s%s%d%s%s,&studenti.Sname,&studenti.Sex,&studenti.Sno,&studenti.Age,&studenti.CInfo.Cno,&studenti.CInfo.Cnam
13、e); num=i; if(num=N) printf(n保存记录数超出结构体数组数的大小,请先修改N的值n); main(); printf(n请按照提示输入学生信息:nn); printf(姓名:); scanf(%s,&studentnum.Sname); do printf(n性别(男或女):); scanf(%s,sex); if(strcmp(sex,男)!=0)&(strcmp(sex,女)!=0) printf(输入错误,请输入男或女!n);right=1;getchar(); else right=0; while(right=1); strcpy(studentnum.Se
14、x,sex); do printf(n学号(7位):); scanf(%s,sno); if(strlen(sno)!=7) printf(输入错误,学号长度应为7位数!n);right=1;getchar(); else right=0; for(i=0;inum;i+) if(strcmp(sno,studenti.Sno)=0) printf(该学号已经存在,请重新输入!n); right=1; getchar(); while(right=1); strcpy(studentnum.Sno,sno); do printf(n年龄:); scanf(%d,&age); if(age100
15、) printf(年龄应在0-100之间,请重新输入年龄!n);right=1;getchar(); else right=0; while(right=1); studentnum.Age=age; do printf(n班号(3位):); scanf(%s,cno); if(strlen(cno)!=3) printf(输入错误,班号长度应为3位数!n);right=1;getchar(); else right=0; while(right=1); strcpy(studentnum.CInfo.Cno,cno); printf(n班名:); scanf(%s,&studentnum.C
16、Info.Cname); /把该记录写到文件末尾 fprintf(fp,n%st%st%st%dt%st%s,studentnum.Sname,studentnum.Sex,studentnum.Sno,studentnum.Age,studentnum.CInfo.Cno,studentnum.CInfo.Cname); fclose(fp); printf(n保存成功!n); printf(n请按enter键返回主菜单!n); getchar(); getchar(); main();void del() int num; int i; int found=-1; char StuNO20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 课程设计 报告 学生证 管理信息系统 程序设计 二进制 转换 算法 26
限制150内